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 }