1352 // Setters 1353 static void set_classLoaderName(oop element, oop value); 1354 static void set_moduleName(oop element, oop value); 1355 static void set_moduleVersion(oop element, oop value); 1356 static void set_declaringClass(oop element, oop value); 1357 static void set_methodName(oop element, oop value); 1358 static void set_fileName(oop element, oop value); 1359 static void set_lineNumber(oop element, int value); 1360 static void set_declaringClassObject(oop element, oop value); 1361 1362 public: 1363 // Create an instance of StackTraceElement 1364 static oop create(const methodHandle& method, int bci, TRAPS); 1365 1366 static void fill_in(Handle element, InstanceKlass* holder, const methodHandle& method, 1367 int version, int bci, Symbol* name, TRAPS); 1368 1369 static void compute_offsets(); 1370 static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; 1371 1372 static void decode(Handle mirror, int method, int version, int bci, int cpref, Symbol*& methodName, Symbol*& fileName, int& lineNumber); 1373 static void decode(Handle mirror, methodHandle method, int bci, Symbol*& methodName, Symbol*& fileName, int& lineNumber); 1374 1375 // Debugging 1376 friend class JavaClasses; 1377 }; 1378 1379 1380 class Backtrace: AllStatic { 1381 public: 1382 // Helper backtrace functions to store bci|version together. 1383 static int merge_bci_and_version(int bci, int version); 1384 static int merge_mid_and_cpref(int mid, int cpref); 1385 static int bci_at(unsigned int merged); 1386 static int version_at(unsigned int merged); 1387 static int mid_at(unsigned int merged); 1388 static int cpref_at(unsigned int merged); 1389 static int get_line_number(const methodHandle& method, int bci); 1390 static Symbol* get_source_file_name(InstanceKlass* holder, int version); 1391 1392 // Debugging 1393 friend class JavaClasses; | 1352 // Setters 1353 static void set_classLoaderName(oop element, oop value); 1354 static void set_moduleName(oop element, oop value); 1355 static void set_moduleVersion(oop element, oop value); 1356 static void set_declaringClass(oop element, oop value); 1357 static void set_methodName(oop element, oop value); 1358 static void set_fileName(oop element, oop value); 1359 static void set_lineNumber(oop element, int value); 1360 static void set_declaringClassObject(oop element, oop value); 1361 1362 public: 1363 // Create an instance of StackTraceElement 1364 static oop create(const methodHandle& method, int bci, TRAPS); 1365 1366 static void fill_in(Handle element, InstanceKlass* holder, const methodHandle& method, 1367 int version, int bci, Symbol* name, TRAPS); 1368 1369 static void compute_offsets(); 1370 static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; 1371 1372 #if INCLUDE_JVMCI 1373 static void decode(Handle mirror, int method, int version, int bci, int cpref, Symbol*& methodName, Symbol*& fileName, int& lineNumber); 1374 static void decode(Handle mirror, methodHandle method, int bci, Symbol*& methodName, Symbol*& fileName, int& lineNumber); 1375 #endif 1376 1377 // Debugging 1378 friend class JavaClasses; 1379 }; 1380 1381 1382 class Backtrace: AllStatic { 1383 public: 1384 // Helper backtrace functions to store bci|version together. 1385 static int merge_bci_and_version(int bci, int version); 1386 static int merge_mid_and_cpref(int mid, int cpref); 1387 static int bci_at(unsigned int merged); 1388 static int version_at(unsigned int merged); 1389 static int mid_at(unsigned int merged); 1390 static int cpref_at(unsigned int merged); 1391 static int get_line_number(const methodHandle& method, int bci); 1392 static Symbol* get_source_file_name(InstanceKlass* holder, int version); 1393 1394 // Debugging 1395 friend class JavaClasses; |