1363 // Accessing frames 1364 frame last_frame() { 1365 _anchor.make_walkable(this); 1366 return pd_last_frame(); 1367 } 1368 javaVFrame* last_java_vframe(RegisterMap* reg_map); 1369 1370 // Returns method at 'depth' java or native frames down the stack 1371 // Used for security checks 1372 klassOop security_get_caller_class(int depth); 1373 1374 // Print stack trace in external format 1375 void print_stack_on(outputStream* st); 1376 void print_stack() { print_stack_on(tty); } 1377 1378 // Print stack traces in various internal formats 1379 void trace_stack() PRODUCT_RETURN; 1380 void trace_stack_from(vframe* start_vf) PRODUCT_RETURN; 1381 void trace_frames() PRODUCT_RETURN; 1382 1383 // Returns the number of stack frames on the stack 1384 int depth() const; 1385 1386 // Function for testing deoptimization 1387 void deoptimize(); 1388 void make_zombies(); 1389 1390 void deoptimized_wrt_marked_nmethods(); 1391 1392 // Profiling operation (see fprofile.cpp) 1393 public: 1394 bool profile_last_Java_frame(frame* fr); 1395 1396 private: 1397 ThreadProfiler* _thread_profiler; 1398 private: 1399 friend class FlatProfiler; // uses both [gs]et_thread_profiler. 1400 friend class FlatProfilerTask; // uses get_thread_profiler. 1401 friend class ThreadProfilerMark; // uses get_thread_profiler. 1402 ThreadProfiler* get_thread_profiler() { return _thread_profiler; } | 1363 // Accessing frames 1364 frame last_frame() { 1365 _anchor.make_walkable(this); 1366 return pd_last_frame(); 1367 } 1368 javaVFrame* last_java_vframe(RegisterMap* reg_map); 1369 1370 // Returns method at 'depth' java or native frames down the stack 1371 // Used for security checks 1372 klassOop security_get_caller_class(int depth); 1373 1374 // Print stack trace in external format 1375 void print_stack_on(outputStream* st); 1376 void print_stack() { print_stack_on(tty); } 1377 1378 // Print stack traces in various internal formats 1379 void trace_stack() PRODUCT_RETURN; 1380 void trace_stack_from(vframe* start_vf) PRODUCT_RETURN; 1381 void trace_frames() PRODUCT_RETURN; 1382 1383 // Print an annotated view of the stack frames 1384 void print_frame_layout(int depth = 0, bool validate_only = false); 1385 void validate_frame_layout() { 1386 print_frame_layout(0, true); 1387 } 1388 1389 // Returns the number of stack frames on the stack 1390 int depth() const; 1391 1392 // Function for testing deoptimization 1393 void deoptimize(); 1394 void make_zombies(); 1395 1396 void deoptimized_wrt_marked_nmethods(); 1397 1398 // Profiling operation (see fprofile.cpp) 1399 public: 1400 bool profile_last_Java_frame(frame* fr); 1401 1402 private: 1403 ThreadProfiler* _thread_profiler; 1404 private: 1405 friend class FlatProfiler; // uses both [gs]et_thread_profiler. 1406 friend class FlatProfilerTask; // uses get_thread_profiler. 1407 friend class ThreadProfilerMark; // uses get_thread_profiler. 1408 ThreadProfiler* get_thread_profiler() { return _thread_profiler; } |