698 }
699 #endif
700
701 intptr_t *frame::initial_deoptimization_info() {
702 // used to reset the saved FP
703 return fp();
704 }
705
706 intptr_t* frame::real_fp() const {
707 if (_cb != NULL) {
708 // use the frame size if valid
709 int size = _cb->frame_size();
710 if (size > 0) {
711 return unextended_sp() + size;
712 }
713 }
714 // else rely on fp()
715 assert(! is_compiled_frame(), "unknown compiled frame size");
716 return fp();
717 }
|
698 }
699 #endif
700
701 intptr_t *frame::initial_deoptimization_info() {
702 // used to reset the saved FP
703 return fp();
704 }
705
706 intptr_t* frame::real_fp() const {
707 if (_cb != NULL) {
708 // use the frame size if valid
709 int size = _cb->frame_size();
710 if (size > 0) {
711 return unextended_sp() + size;
712 }
713 }
714 // else rely on fp()
715 assert(! is_compiled_frame(), "unknown compiled frame size");
716 return fp();
717 }
718
719 #ifndef PRODUCT
720 extern "C" frame make_frame(intptr_t* sp, intptr_t* fp, address pc) {
721 return frame(sp, fp, pc);
722 }
723 #endif
|