633 #endif // AMD64
634 break;
635 }
636 case T_DOUBLE : value_result->d = *(jdouble*)tos_addr; break;
637 case T_VOID : /* Nothing to do */ break;
638 default : ShouldNotReachHere();
639 }
640
641 return type;
642 }
643
644
645 intptr_t* frame::interpreter_frame_tos_at(jint offset) const {
646 int index = (Interpreter::expr_offset_in_bytes(offset)/wordSize);
647 return &interpreter_frame_tos_address()[index];
648 }
649
650 #ifdef ASSERT
651
652 #define DESCRIBE_FP_OFFSET(name) \
653 values.describe(-1, fp() + frame::name##_offset, #name)
654
655 void frame::describe_pd(FrameValues& values, int frame_no) {
656 if (is_interpreted_frame()) {
657 DESCRIBE_FP_OFFSET(interpreter_frame_sender_sp);
658 DESCRIBE_FP_OFFSET(interpreter_frame_last_sp);
659 DESCRIBE_FP_OFFSET(interpreter_frame_method);
660 DESCRIBE_FP_OFFSET(interpreter_frame_mdx);
661 DESCRIBE_FP_OFFSET(interpreter_frame_cache);
662 DESCRIBE_FP_OFFSET(interpreter_frame_locals);
663 DESCRIBE_FP_OFFSET(interpreter_frame_bcx);
664 DESCRIBE_FP_OFFSET(interpreter_frame_initial_sp);
665 }
666
667 }
668 #endif
|
633 #endif // AMD64
634 break;
635 }
636 case T_DOUBLE : value_result->d = *(jdouble*)tos_addr; break;
637 case T_VOID : /* Nothing to do */ break;
638 default : ShouldNotReachHere();
639 }
640
641 return type;
642 }
643
644
645 intptr_t* frame::interpreter_frame_tos_at(jint offset) const {
646 int index = (Interpreter::expr_offset_in_bytes(offset)/wordSize);
647 return &interpreter_frame_tos_address()[index];
648 }
649
650 #ifdef ASSERT
651
652 #define DESCRIBE_FP_OFFSET(name) \
653 values.describe(frame_no, fp() + frame::name##_offset, #name)
654
655 void frame::describe_pd(FrameValues& values, int frame_no) {
656 if (is_interpreted_frame()) {
657 DESCRIBE_FP_OFFSET(interpreter_frame_sender_sp);
658 DESCRIBE_FP_OFFSET(interpreter_frame_last_sp);
659 DESCRIBE_FP_OFFSET(interpreter_frame_method);
660 DESCRIBE_FP_OFFSET(interpreter_frame_mdx);
661 DESCRIBE_FP_OFFSET(interpreter_frame_cache);
662 DESCRIBE_FP_OFFSET(interpreter_frame_locals);
663 DESCRIBE_FP_OFFSET(interpreter_frame_bcx);
664 DESCRIBE_FP_OFFSET(interpreter_frame_initial_sp);
665 }
666
667 }
668 #endif
|