1223 }; |
1223 }; |
1224 static int _loader_data_offset; |
1224 static int _loader_data_offset; |
1225 static bool offsets_computed; |
1225 static bool offsets_computed; |
1226 static int parent_offset; |
1226 static int parent_offset; |
1227 static int parallelCapable_offset; |
1227 static int parallelCapable_offset; |
|
1228 static int name_offset; |
1228 static int unnamedModule_offset; |
1229 static int unnamedModule_offset; |
1229 |
1230 |
1230 public: |
1231 public: |
1231 static void compute_offsets(); |
1232 static void compute_offsets(); |
1232 |
1233 |
1233 static ClassLoaderData** loader_data_addr(oop loader); |
1234 static ClassLoaderData** loader_data_addr(oop loader); |
1234 static ClassLoaderData* loader_data(oop loader); |
1235 static ClassLoaderData* loader_data(oop loader); |
1235 |
1236 |
1236 static oop parent(oop loader); |
1237 static oop parent(oop loader); |
|
1238 static oop name(oop loader); |
1237 static bool isAncestor(oop loader, oop cl); |
1239 static bool isAncestor(oop loader, oop cl); |
1238 |
1240 |
1239 // Support for parallelCapable field |
1241 // Support for parallelCapable field |
1240 static bool parallelCapable(oop the_class_mirror); |
1242 static bool parallelCapable(oop the_class_mirror); |
1241 |
1243 |
1289 // Interface to java.lang.StackTraceElement objects |
1291 // Interface to java.lang.StackTraceElement objects |
1290 |
1292 |
1291 class java_lang_StackTraceElement: AllStatic { |
1293 class java_lang_StackTraceElement: AllStatic { |
1292 private: |
1294 private: |
1293 enum { |
1295 enum { |
1294 hc_moduleName_offset = 0, |
1296 hc_classOrLoaderModuleClassName_offset = 0, |
1295 hc_moduleVersion_offset = 1, |
1297 hc_classLoaderName_offset = 1, |
1296 hc_declaringClass_offset = 2, |
1298 hc_moduleName_offset = 2, |
1297 hc_methodName_offset = 3, |
1299 hc_moduleVersion_offset = 3, |
1298 hc_fileName_offset = 4, |
1300 hc_declaringClass_offset = 4, |
1299 hc_lineNumber_offset = 5 |
1301 hc_methodName_offset = 5, |
|
1302 hc_fileName_offset = 6, |
|
1303 hc_lineNumber_offset = 7 |
1300 }; |
1304 }; |
1301 |
1305 |
|
1306 static int classOrLoaderModuleClassName_offset; |
|
1307 static int classLoaderName_offset; |
1302 static int moduleName_offset; |
1308 static int moduleName_offset; |
1303 static int moduleVersion_offset; |
1309 static int moduleVersion_offset; |
1304 static int declaringClass_offset; |
1310 static int declaringClass_offset; |
1305 static int methodName_offset; |
1311 static int methodName_offset; |
1306 static int fileName_offset; |
1312 static int fileName_offset; |
1307 static int lineNumber_offset; |
1313 static int lineNumber_offset; |
1308 |
1314 |
1309 // Setters |
1315 // Setters |
|
1316 static void set_classLoaderName(oop element, oop value); |
1310 static void set_moduleName(oop element, oop value); |
1317 static void set_moduleName(oop element, oop value); |
1311 static void set_moduleVersion(oop element, oop value); |
1318 static void set_moduleVersion(oop element, oop value); |
1312 static void set_declaringClass(oop element, oop value); |
1319 static void set_declaringClass(oop element, oop value); |
1313 static void set_methodName(oop element, oop value); |
1320 static void set_methodName(oop element, oop value); |
1314 static void set_fileName(oop element, oop value); |
1321 static void set_fileName(oop element, oop value); |
1315 static void set_lineNumber(oop element, int value); |
1322 static void set_lineNumber(oop element, int value); |
|
1323 static void set_declaringClassObject(oop element, oop value); |
1316 |
1324 |
1317 public: |
1325 public: |
1318 // Create an instance of StackTraceElement |
1326 // Create an instance of StackTraceElement |
1319 static oop create(const methodHandle& method, int bci, TRAPS); |
1327 static oop create(const methodHandle& method, int bci, TRAPS); |
1320 |
1328 |