50 |
50 |
51 InterpretedRFrame::InterpretedRFrame(frame fr, JavaThread* thread, RFrame*const callee) |
51 InterpretedRFrame::InterpretedRFrame(frame fr, JavaThread* thread, RFrame*const callee) |
52 : RFrame(fr, thread, callee) { |
52 : RFrame(fr, thread, callee) { |
53 RegisterMap map(thread, false); |
53 RegisterMap map(thread, false); |
54 _vf = javaVFrame::cast(vframe::new_vframe(&_fr, &map, thread)); |
54 _vf = javaVFrame::cast(vframe::new_vframe(&_fr, &map, thread)); |
55 _method = methodHandle(thread, _vf->method()); |
55 _method = _vf->method(); |
56 assert( _vf->is_interpreted_frame(), "must be interpreted"); |
56 assert( _vf->is_interpreted_frame(), "must be interpreted"); |
57 init(); |
57 init(); |
58 } |
58 } |
59 |
59 |
60 InterpretedRFrame::InterpretedRFrame(frame fr, JavaThread* thread, methodHandle m) |
60 InterpretedRFrame::InterpretedRFrame(frame fr, JavaThread* thread, Method* m) |
61 : RFrame(fr, thread, NULL) { |
61 : RFrame(fr, thread, NULL) { |
62 RegisterMap map(thread, false); |
62 RegisterMap map(thread, false); |
63 _vf = javaVFrame::cast(vframe::new_vframe(&_fr, &map, thread)); |
63 _vf = javaVFrame::cast(vframe::new_vframe(&_fr, &map, thread)); |
64 _method = m; |
64 _method = m; |
65 |
65 |
138 vframe* vf = vframe::new_vframe(&_fr, &map, thread()); |
138 vframe* vf = vframe::new_vframe(&_fr, &map, thread()); |
139 assert(vf->is_compiled_frame(), "must be compiled"); |
139 assert(vf->is_compiled_frame(), "must be compiled"); |
140 _nm = compiledVFrame::cast(vf)->code(); |
140 _nm = compiledVFrame::cast(vf)->code(); |
141 vf = vf->top(); |
141 vf = vf->top(); |
142 _vf = javaVFrame::cast(vf); |
142 _vf = javaVFrame::cast(vf); |
143 _method = methodHandle(thread(), CodeCache::find_nmethod(_fr.pc())->method()); |
143 _method = CodeCache::find_nmethod(_fr.pc())->method(); |
144 assert(_method(), "should have found a method"); |
144 assert(_method, "should have found a method"); |
145 #ifndef PRODUCT |
145 #ifndef PRODUCT |
146 _invocations = _method->compiled_invocation_count(); |
146 _invocations = _method->compiled_invocation_count(); |
147 #endif |
147 #endif |
148 } |
148 } |
149 |
149 |