291 for (int x = 0; x < 5; ++x) { // check up to a couple of backlinks
292 intptr_t* prev_sp = *(intptr_t**)sp;
293 if (prev_sp == 0) break; // end of stack
294 assert(prev_sp>sp, "broken stack");
295 sp = prev_sp;
296 }
297
298 if (sender_nm->is_deopt_mh_entry(_pc)) { // checks for deoptimization
299 address original_pc = sender_nm->get_original_pc(this);
300 assert(sender_nm->insts_contains(original_pc), "original PC must be in nmethod");
301 assert(sender_nm->is_method_handle_return(original_pc), "must be");
302 }
303 #endif
304 }
305 }
306
307 intptr_t *frame::initial_deoptimization_info() {
308 // unused... but returns fp() to minimize changes introduced by 7087445
309 return fp();
310 }
|
291 for (int x = 0; x < 5; ++x) { // check up to a couple of backlinks
292 intptr_t* prev_sp = *(intptr_t**)sp;
293 if (prev_sp == 0) break; // end of stack
294 assert(prev_sp>sp, "broken stack");
295 sp = prev_sp;
296 }
297
298 if (sender_nm->is_deopt_mh_entry(_pc)) { // checks for deoptimization
299 address original_pc = sender_nm->get_original_pc(this);
300 assert(sender_nm->insts_contains(original_pc), "original PC must be in nmethod");
301 assert(sender_nm->is_method_handle_return(original_pc), "must be");
302 }
303 #endif
304 }
305 }
306
307 intptr_t *frame::initial_deoptimization_info() {
308 // unused... but returns fp() to minimize changes introduced by 7087445
309 return fp();
310 }
311
312 #ifndef PRODUCT
313 extern "C" frame make_frame(intptr_t* sp, address pc) {
314 return frame(sp, pc);
315 }
316 #endif
|