comparison src/share/vm/classfile/javaClasses.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 80e866b1d053
children 291ffc492eb6 2aa953165ade 35431a769282
comparison
equal deleted inserted replaced
7181:2fc0334f613a 7185:90273fc0a981
1123 1123
1124 1124
1125 // Interface to java.lang.ClassLoader objects 1125 // Interface to java.lang.ClassLoader objects
1126 1126
1127 #define CLASSLOADER_INJECTED_FIELDS(macro) \ 1127 #define CLASSLOADER_INJECTED_FIELDS(macro) \
1128 macro(java_lang_ClassLoader, loader_data, intptr_signature, false) \ 1128 macro(java_lang_ClassLoader, loader_data, intptr_signature, false)
1129 macro(java_lang_ClassLoader, dependencies, object_signature, false)
1130 1129
1131 class java_lang_ClassLoader : AllStatic { 1130 class java_lang_ClassLoader : AllStatic {
1132 private: 1131 private:
1133 // The fake offsets are added by the class loader when java.lang.Class is loaded 1132 // The fake offsets are added by the class loader when java.lang.Class is loaded
1134 enum { 1133 enum {
1135 hc_parent_offset = 0 1134 hc_parent_offset = 0
1136 }; 1135 };
1137 static int _loader_data_offset; 1136 static int _loader_data_offset;
1138 static int _dependencies_offset;
1139 static bool offsets_computed; 1137 static bool offsets_computed;
1140 static int parent_offset; 1138 static int parent_offset;
1141 static int parallelCapable_offset; 1139 static int parallelCapable_offset;
1142 1140
1143 public: 1141 public:
1144 static void compute_offsets(); 1142 static void compute_offsets();
1145 1143
1146 static ClassLoaderData** loader_data_addr(oop loader); 1144 static ClassLoaderData** loader_data_addr(oop loader);
1147 static ClassLoaderData* loader_data(oop loader); 1145 static ClassLoaderData* loader_data(oop loader);
1148
1149 static oop dependencies(oop loader);
1150 static HeapWord* dependencies_addr(oop loader);
1151 1146
1152 static oop parent(oop loader); 1147 static oop parent(oop loader);
1153 static bool isAncestor(oop loader, oop cl); 1148 static bool isAncestor(oop loader, oop cl);
1154 1149
1155 // Support for parallelCapable field 1150 // Support for parallelCapable field