Mercurial > hg > graal-compiler
comparison src/share/vm/classfile/classLoaderData.inline.hpp @ 7185:90273fc0a981
8000662: NPG: nashorn ant clean test262 out-of-memory with Java heap
Summary: Add ClassLoaderData object for each anonymous class with metaspaces to allocate in.
Reviewed-by: twisti, jrose, stefank
author | coleenp |
---|---|
date | Thu, 29 Nov 2012 16:50:29 -0500 |
parents | da91efe96a93 |
children | 1f9994892f89 |
comparison
equal
deleted
inserted
replaced
7181:2fc0334f613a | 7185:90273fc0a981 |
---|---|
31 assert(loader_data != NULL, "Must be"); | 31 assert(loader_data != NULL, "Must be"); |
32 return loader_data; | 32 return loader_data; |
33 } | 33 } |
34 | 34 |
35 | 35 |
36 inline ClassLoaderData *ClassLoaderDataGraph::find_or_create(Handle loader) { | 36 inline ClassLoaderData *ClassLoaderDataGraph::find_or_create(Handle loader, TRAPS) { |
37 assert(loader() != NULL,"Must be a class loader"); | 37 assert(loader() != NULL,"Must be a class loader"); |
38 // Gets the class loader data out of the java/lang/ClassLoader object, if non-null | 38 // Gets the class loader data out of the java/lang/ClassLoader object, if non-null |
39 // it's already in the loader_data, so no need to add | 39 // it's already in the loader_data, so no need to add |
40 ClassLoaderData** loader_data_addr = java_lang_ClassLoader::loader_data_addr(loader()); | 40 ClassLoaderData** loader_data_addr = java_lang_ClassLoader::loader_data_addr(loader()); |
41 ClassLoaderData* loader_data_id = *loader_data_addr; | 41 ClassLoaderData* loader_data_id = *loader_data_addr; |
42 if (loader_data_id) { | 42 if (loader_data_id) { |
43 return loader_data_id; | 43 return loader_data_id; |
44 } | 44 } |
45 return ClassLoaderDataGraph::add(loader_data_addr, loader); | 45 return ClassLoaderDataGraph::add(loader_data_addr, loader, THREAD); |
46 } | 46 } |