1331 hc_methodName_offset = 1, 1332 hc_fileName_offset = 2, 1333 hc_lineNumber_offset = 3 1334 }; 1335 1336 static int declaringClass_offset; 1337 static int methodName_offset; 1338 static int fileName_offset; 1339 static int lineNumber_offset; 1340 1341 public: 1342 // Setters 1343 static void set_declaringClass(oop element, oop value); 1344 static void set_methodName(oop element, oop value); 1345 static void set_fileName(oop element, oop value); 1346 static void set_lineNumber(oop element, int value); 1347 1348 // Create an instance of StackTraceElement 1349 static oop create(Handle mirror, int method, int version, int bci, int cpref, TRAPS); 1350 static oop create(methodHandle method, int bci, TRAPS); 1351 1352 // Debugging 1353 friend class JavaClasses; 1354 }; 1355 1356 1357 // Interface to java.lang.AssertionStatusDirectives objects 1358 1359 class java_lang_AssertionStatusDirectives: AllStatic { 1360 private: 1361 enum { 1362 hc_classes_offset, 1363 hc_classEnabled_offset, 1364 hc_packages_offset, 1365 hc_packageEnabled_offset, 1366 hc_deflt_offset 1367 }; 1368 1369 static int classes_offset; 1370 static int classEnabled_offset; 1371 static int packages_offset; 1372 static int packageEnabled_offset; 1373 static int deflt_offset; 1374 1375 public: | 1331 hc_methodName_offset = 1, 1332 hc_fileName_offset = 2, 1333 hc_lineNumber_offset = 3 1334 }; 1335 1336 static int declaringClass_offset; 1337 static int methodName_offset; 1338 static int fileName_offset; 1339 static int lineNumber_offset; 1340 1341 public: 1342 // Setters 1343 static void set_declaringClass(oop element, oop value); 1344 static void set_methodName(oop element, oop value); 1345 static void set_fileName(oop element, oop value); 1346 static void set_lineNumber(oop element, int value); 1347 1348 // Create an instance of StackTraceElement 1349 static oop create(Handle mirror, int method, int version, int bci, int cpref, TRAPS); 1350 static oop create(methodHandle method, int bci, TRAPS); 1351 static void init(Handle element, Handle mirror, int method, int version, int bci, int cpref, TRAPS); 1352 1353 1354 // Debugging 1355 friend class JavaClasses; 1356 }; 1357 1358 1359 class BackTrace: AllStatic { 1360 public: 1361 // Helper backtrace functions to store bci|version together. 1362 static int merge_bci_and_version(int bci, int version); 1363 1364 static int merge_mid_and_cpref(int mid, int cpref); 1365 1366 static int bci_at(unsigned int merged); 1367 1368 static int version_at(unsigned int merged); 1369 1370 static int mid_at(unsigned int merged); 1371 1372 static int cpref_at(unsigned int merged); 1373 1374 static int get_line_number(methodHandle method, int bci); 1375 1376 static Symbol* get_source_file_name(InstanceKlass* holder, int version); 1377 1378 // Debugging 1379 friend class JavaClasses; 1380 }; 1381 1382 // Interface to java.lang.StackFrameInfo objects 1383 1384 class java_lang_StackFrameInfo: AllStatic { 1385 private: 1386 static int declaringClass_offset; 1387 static int memberName_offset; 1388 static int mid_offset; 1389 static int bci_offset; 1390 1391 static int methodName_offset; 1392 static int fileName_offset; 1393 static int lineNumber_offset; 1394 1395 static Method* get_method(Handle stackFrame, InstanceKlass* holder, TRAPS); 1396 static Symbol* get_file_name(Handle stackFrame, InstanceKlass* holder); 1397 1398 public: 1399 // Setters 1400 static void set_declaringClass(oop info, oop value); 1401 static void set_methodName(oop info, oop value); 1402 static void set_fileName(oop info, oop value); 1403 static void set_lineNumber(oop info, int value); 1404 1405 static void set_mid(oop info, int value); 1406 static void set_bci(oop info, int value); 1407 1408 static void compute_offsets(); 1409 1410 static int bci(oop info); 1411 static oop member_name(oop info); 1412 1413 // set method info in an instance of StackFrameInfo 1414 static void fill_methodInfo(Handle info, TRAPS); 1415 1416 // Debugging 1417 friend class JavaClasses; 1418 }; 1419 1420 class java_lang_LiveStackFrameInfo: AllStatic { 1421 private: 1422 1423 static int monitors_offset; 1424 static int locals_offset; 1425 static int operands_offset; 1426 1427 public: 1428 1429 static void set_monitors(oop info, oop value); 1430 static void set_locals(oop info, oop value); 1431 static void set_operands(oop info, oop value); 1432 1433 static void compute_offsets(); 1434 1435 // Debugging 1436 friend class JavaClasses; 1437 }; 1438 1439 // Interface to java.lang.AssertionStatusDirectives objects 1440 1441 class java_lang_AssertionStatusDirectives: AllStatic { 1442 private: 1443 enum { 1444 hc_classes_offset, 1445 hc_classEnabled_offset, 1446 hc_packages_offset, 1447 hc_packageEnabled_offset, 1448 hc_deflt_offset 1449 }; 1450 1451 static int classes_offset; 1452 static int classEnabled_offset; 1453 static int packages_offset; 1454 static int packageEnabled_offset; 1455 static int deflt_offset; 1456 1457 public: |