comparison src/share/vm/runtime/vframe_hp.cpp @ 900:9987d9d5eb0e

6833129: specjvm98 fails with NullPointerException in the compiler with -XX:DeoptimizeALot Summary: developed a reexecute logic for the interpreter to reexecute the bytecode when deopt happens Reviewed-by: kvn, never, jrose, twisti
author cfang
date Fri, 31 Jul 2009 17:12:33 -0700
parents b109e761e927
children 15bbd3f505c0
comparison
equal deleted inserted replaced
3:33d29f9bb9c1 5:f2bff5d750fe
274 return 0; 274 return 0;
275 } 275 }
276 return scope()->bci(); 276 return scope()->bci();
277 } 277 }
278 278
279 bool compiledVFrame::should_reexecute() const {
280 if (scope() == NULL) {
281 // native nmethods have no scope the method/bci is implied
282 nmethod* nm = code();
283 assert(nm->is_native_method(), "must be native");
284 return false;
285 }
286 return scope()->should_reexecute();
287 }
279 288
280 vframe* compiledVFrame::sender() const { 289 vframe* compiledVFrame::sender() const {
281 const frame f = fr(); 290 const frame f = fr();
282 if (scope() == NULL) { 291 if (scope() == NULL) {
283 // native nmethods have no scope the method/bci is implied 292 // native nmethods have no scope the method/bci is implied