< prev index next >

src/hotspot/cpu/ppc/frame_ppc.cpp

Print this page

475   return is_compiled_frame() ? unextended_sp() : sp();
476 }
477 
478 #ifndef PRODUCT
479 // This is a generic constructor which is only used by pns() in debug.cpp.
480 // fp is dropped and gets determined by backlink.
481 frame::frame(void* sp, void* fp, void* pc) : frame((intptr_t*)sp, (address)pc, kind::unknown) {}
482 #endif
483 
484 BasicObjectLock* frame::interpreter_frame_monitor_end() const {
485   BasicObjectLock* result = (BasicObjectLock*) at_relative(ijava_idx(monitors));
486   // make sure the pointer points inside the frame
487   assert(sp() <= (intptr_t*) result, "monitor end should be above the stack pointer");
488   assert((intptr_t*) result < fp(),  "monitor end should be strictly below the frame pointer: result: " INTPTR_FORMAT " fp: " INTPTR_FORMAT, p2i(result), p2i(fp()));
489   return result;
490 }
491 
492 intptr_t* frame::interpreter_frame_tos_at(jint offset) const {
493   return &interpreter_frame_tos_address()[offset];
494 }
















475   return is_compiled_frame() ? unextended_sp() : sp();
476 }
477 
478 #ifndef PRODUCT
479 // This is a generic constructor which is only used by pns() in debug.cpp.
480 // fp is dropped and gets determined by backlink.
481 frame::frame(void* sp, void* fp, void* pc) : frame((intptr_t*)sp, (address)pc, kind::unknown) {}
482 #endif
483 
484 BasicObjectLock* frame::interpreter_frame_monitor_end() const {
485   BasicObjectLock* result = (BasicObjectLock*) at_relative(ijava_idx(monitors));
486   // make sure the pointer points inside the frame
487   assert(sp() <= (intptr_t*) result, "monitor end should be above the stack pointer");
488   assert((intptr_t*) result < fp(),  "monitor end should be strictly below the frame pointer: result: " INTPTR_FORMAT " fp: " INTPTR_FORMAT, p2i(result), p2i(fp()));
489   return result;
490 }
491 
492 intptr_t* frame::interpreter_frame_tos_at(jint offset) const {
493   return &interpreter_frame_tos_address()[offset];
494 }
495 
496 intptr_t* frame::repair_sender_sp(intptr_t* sender_sp, intptr_t** saved_fp_addr) const {
497   Unimplemented();
498   return nullptr;
499 }
500 
501 intptr_t* frame::repair_sender_sp(nmethod* nm, intptr_t* sp, intptr_t** saved_fp_addr) {
502   Unimplemented();
503   return nullptr;
504 }
505 
506 bool frame::was_augmented_on_entry(int& real_size) const {
507   Unimplemented();
508   return false;
509 }
< prev index next >