equal
deleted
inserted
replaced
29 #include "classfile/vmSymbols.hpp" |
29 #include "classfile/vmSymbols.hpp" |
30 #include "code/scopeDesc.hpp" |
30 #include "code/scopeDesc.hpp" |
31 #include "compiler/compileBroker.hpp" |
31 #include "compiler/compileBroker.hpp" |
32 #include "interpreter/interpreter.hpp" |
32 #include "interpreter/interpreter.hpp" |
33 #include "interpreter/linkResolver.hpp" |
33 #include "interpreter/linkResolver.hpp" |
|
34 #include "interpreter/oopMapCache.hpp" |
34 #include "jvmtifiles/jvmtiEnv.hpp" |
35 #include "jvmtifiles/jvmtiEnv.hpp" |
35 #include "memory/oopFactory.hpp" |
36 #include "memory/oopFactory.hpp" |
36 #include "memory/universe.inline.hpp" |
37 #include "memory/universe.inline.hpp" |
37 #include "oops/instanceKlass.hpp" |
38 #include "oops/instanceKlass.hpp" |
38 #include "oops/objArrayOop.hpp" |
39 #include "oops/objArrayOop.hpp" |
2858 tty->cr(); |
2859 tty->cr(); |
2859 } |
2860 } |
2860 } |
2861 } |
2861 |
2862 |
2862 |
2863 |
|
2864 // Print or validate the layout of stack frames |
|
2865 void JavaThread::print_frame_layout(int depth, bool validate_only) { |
|
2866 ResourceMark rm; |
|
2867 PRESERVE_EXCEPTION_MARK; |
|
2868 FrameValues values; |
|
2869 int frame_no = 0; |
|
2870 for(StackFrameStream fst(this, false); !fst.is_done(); fst.next()) { |
|
2871 fst.current()->describe(values, ++frame_no); |
|
2872 if (depth == frame_no) break; |
|
2873 } |
|
2874 if (validate_only) { |
|
2875 values.validate(); |
|
2876 } else { |
|
2877 tty->print_cr("[Describe stack layout]"); |
|
2878 values.print(); |
|
2879 } |
|
2880 } |
|
2881 |
|
2882 |
2863 void JavaThread::trace_stack_from(vframe* start_vf) { |
2883 void JavaThread::trace_stack_from(vframe* start_vf) { |
2864 ResourceMark rm; |
2884 ResourceMark rm; |
2865 int vframe_no = 1; |
2885 int vframe_no = 1; |
2866 for (vframe* f = start_vf; f; f = f->sender() ) { |
2886 for (vframe* f = start_vf; f; f = f->sender() ) { |
2867 if (f->is_java_frame()) { |
2887 if (f->is_java_frame()) { |