Mercurial > hg > truffle
comparison src/share/vm/runtime/thread.cpp @ 3336:2e038ad0c1d0
7009361: JSR 292 Invalid value on stack on solaris-sparc with -Xcomp
Reviewed-by: kvn, twisti
author | never |
---|---|
date | Mon, 02 May 2011 18:53:37 -0700 |
parents | 38fea01eb669 |
children | f52ed367b66d |
comparison
equal
deleted
inserted
replaced
3335:49d67a090fe2 | 3336:2e038ad0c1d0 |
---|---|
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()) { |