src/cpu/sparc/vm/frame_sparc.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/cpu/sparc/vm

src/cpu/sparc/vm/frame_sparc.cpp

Print this page
rev 6068 : 8036146: make CPP interpreter build again
Summary: fix build of CPP interpreter on x86 and sparc
Reviewed-by:


 810 }
 811 
 812 // Lesp pointer is one word lower than the top item on the stack.
 813 intptr_t* frame::interpreter_frame_tos_at(jint offset) const {
 814   int index = (Interpreter::expr_offset_in_bytes(offset)/wordSize) - 1;
 815   return &interpreter_frame_tos_address()[index];
 816 }
 817 
 818 
 819 #ifndef PRODUCT
 820 
 821 #define DESCRIBE_FP_OFFSET(name) \
 822   values.describe(frame_no, fp() + frame::name##_offset, #name)
 823 
 824 void frame::describe_pd(FrameValues& values, int frame_no) {
 825   for (int w = 0; w < frame::register_save_words; w++) {
 826     values.describe(frame_no, sp() + w, err_msg("register save area word %d", w), 1);
 827   }
 828 
 829   if (is_interpreted_frame()) {

 830     DESCRIBE_FP_OFFSET(interpreter_frame_d_scratch_fp);
 831     DESCRIBE_FP_OFFSET(interpreter_frame_l_scratch_fp);
 832     DESCRIBE_FP_OFFSET(interpreter_frame_padding);
 833     DESCRIBE_FP_OFFSET(interpreter_frame_oop_temp);
 834 
 835     // esp, according to Lesp (e.g. not depending on bci), if seems valid
 836     intptr_t* esp = *interpreter_frame_esp_addr();
 837     if ((esp >= sp()) && (esp < fp())) {
 838       values.describe(-1, esp, "*Lesp");
 839     }

 840   }
 841 
 842   if (!is_compiled_frame()) {
 843     if (frame::callee_aggregate_return_pointer_words != 0) {
 844       values.describe(frame_no, sp() + frame::callee_aggregate_return_pointer_sp_offset, "callee_aggregate_return_pointer_word");
 845     }
 846     for (int w = 0; w < frame::callee_register_argument_save_area_words; w++) {
 847       values.describe(frame_no, sp() + frame::callee_register_argument_save_area_sp_offset + w,
 848                       err_msg("callee_register_argument_save_area_words %d", w));
 849     }
 850   }
 851 }
 852 
 853 #endif
 854 
 855 intptr_t *frame::initial_deoptimization_info() {
 856   // unused... but returns fp() to minimize changes introduced by 7087445
 857   return fp();
 858 }


 810 }
 811 
 812 // Lesp pointer is one word lower than the top item on the stack.
 813 intptr_t* frame::interpreter_frame_tos_at(jint offset) const {
 814   int index = (Interpreter::expr_offset_in_bytes(offset)/wordSize) - 1;
 815   return &interpreter_frame_tos_address()[index];
 816 }
 817 
 818 
 819 #ifndef PRODUCT
 820 
 821 #define DESCRIBE_FP_OFFSET(name) \
 822   values.describe(frame_no, fp() + frame::name##_offset, #name)
 823 
 824 void frame::describe_pd(FrameValues& values, int frame_no) {
 825   for (int w = 0; w < frame::register_save_words; w++) {
 826     values.describe(frame_no, sp() + w, err_msg("register save area word %d", w), 1);
 827   }
 828 
 829   if (is_interpreted_frame()) {
 830 #ifndef CC_INTERP
 831     DESCRIBE_FP_OFFSET(interpreter_frame_d_scratch_fp);
 832     DESCRIBE_FP_OFFSET(interpreter_frame_l_scratch_fp);
 833     DESCRIBE_FP_OFFSET(interpreter_frame_padding);
 834     DESCRIBE_FP_OFFSET(interpreter_frame_oop_temp);
 835 
 836     // esp, according to Lesp (e.g. not depending on bci), if seems valid
 837     intptr_t* esp = *interpreter_frame_esp_addr();
 838     if ((esp >= sp()) && (esp < fp())) {
 839       values.describe(-1, esp, "*Lesp");
 840     }
 841 #endif
 842   }
 843 
 844   if (!is_compiled_frame()) {
 845     if (frame::callee_aggregate_return_pointer_words != 0) {
 846       values.describe(frame_no, sp() + frame::callee_aggregate_return_pointer_sp_offset, "callee_aggregate_return_pointer_word");
 847     }
 848     for (int w = 0; w < frame::callee_register_argument_save_area_words; w++) {
 849       values.describe(frame_no, sp() + frame::callee_register_argument_save_area_sp_offset + w,
 850                       err_msg("callee_register_argument_save_area_words %d", w));
 851     }
 852   }
 853 }
 854 
 855 #endif
 856 
 857 intptr_t *frame::initial_deoptimization_info() {
 858   // unused... but returns fp() to minimize changes introduced by 7087445
 859   return fp();
 860 }
src/cpu/sparc/vm/frame_sparc.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File