src/cpu/ppc/vm/frame_ppc.cpp

Print this page
rev 7023 : 8058345: Refactor native stack printing from vmError.cpp to debug.cpp to make it available in gdb as well


 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