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 class BackTrace: AllStatic {
1358 public:
1359 // Helper backtrace functions to store bci|version together.
1360 static int merge_bci_and_version(int bci, int version);
1361 static int merge_mid_and_cpref(int mid, int cpref);
1362 static int bci_at(unsigned int merged);
1363 static int version_at(unsigned int merged);
1364 static int mid_at(unsigned int merged);
1365 static int cpref_at(unsigned int merged);
1366 static int get_line_number(const methodHandle& method, int bci);
1367 static Symbol* get_source_file_name(InstanceKlass* holder, int version);
1368
1369 // Debugging
1370 friend class JavaClasses;
1371 };
1372
1373 // Interface to java.lang.StackFrameInfo objects
1374
1375 #define STACKFRAMEINFO_INJECTED_FIELDS(macro) \
1376 macro(java_lang_StackFrameInfo, mid, short_signature, false) \
1377 macro(java_lang_StackFrameInfo, version, short_signature, false) \
|
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 class Backtrace: AllStatic {
1358 public:
1359 // Helper backtrace functions to store bci|version together.
1360 static int merge_bci_and_version(int bci, int version);
1361 static int merge_mid_and_cpref(int mid, int cpref);
1362 static int bci_at(unsigned int merged);
1363 static int version_at(unsigned int merged);
1364 static int mid_at(unsigned int merged);
1365 static int cpref_at(unsigned int merged);
1366 static int get_line_number(const methodHandle& method, int bci);
1367 static Symbol* get_source_file_name(InstanceKlass* holder, int version);
1368
1369 // Debugging
1370 friend class JavaClasses;
1371 };
1372
1373 // Interface to java.lang.StackFrameInfo objects
1374
1375 #define STACKFRAMEINFO_INJECTED_FIELDS(macro) \
1376 macro(java_lang_StackFrameInfo, mid, short_signature, false) \
1377 macro(java_lang_StackFrameInfo, version, short_signature, false) \
|