src/cpu/x86/vm/frame_x86.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 8074457 Cdiff src/cpu/x86/vm/frame_x86.cpp

src/cpu/x86/vm/frame_x86.cpp

Print this page

        

*** 311,340 **** // Entry frame's arguments are always in relation to unextended_sp() return &unextended_sp()[index]; } // sender_sp - #ifdef CC_INTERP - intptr_t* frame::interpreter_frame_sender_sp() const { - assert(is_interpreted_frame(), "interpreted frame expected"); - // QQQ why does this specialize method exist if frame::sender_sp() does same thing? - // seems odd and if we always know interpreted vs. non then sender_sp() is really - // doing too much work. - return get_interpreterState()->sender_sp(); - } - - // monitor elements - - BasicObjectLock* frame::interpreter_frame_monitor_begin() const { - return get_interpreterState()->monitor_base(); - } - - BasicObjectLock* frame::interpreter_frame_monitor_end() const { - return (BasicObjectLock*) get_interpreterState()->stack_base(); - } - - #else // CC_INTERP intptr_t* frame::interpreter_frame_sender_sp() const { assert(is_interpreted_frame(), "interpreted frame expected"); return (intptr_t*) at(interpreter_frame_sender_sp_offset); } --- 311,320 ----
*** 365,375 **** // Used by template based interpreter deoptimization void frame::interpreter_frame_set_last_sp(intptr_t* sp) { *((intptr_t**)addr_at(interpreter_frame_last_sp_offset)) = sp; } - #endif // CC_INTERP frame frame::sender_for_entry_frame(RegisterMap* map) const { assert(map != NULL, "map must be set"); // Java frame called from C; skip all C frames and return top C // frame of that chunk as the sender --- 345,354 ----
*** 521,533 **** // methods that exists in the core system. return frame(sender_sp(), link(), sender_pc()); } bool frame::is_interpreted_frame_valid(JavaThread* thread) const { - // QQQ - #ifdef CC_INTERP - #else assert(is_interpreted_frame(), "Not an interpreted frame"); // These are reasonable sanity checks if (fp() == 0 || (intptr_t(fp()) & (wordSize-1)) != 0) { return false; } --- 500,509 ----
*** 542,552 **** if (fp() <= sp()) { // this attempts to deal with unsigned comparison above return false; } // do some validation of frame elements - // first the method Method* m = *interpreter_frame_method_addr(); // validate the method we'd find in this potential sender --- 518,527 ----
*** 577,597 **** address locals = (address) *interpreter_frame_locals_addr(); if (locals > thread->stack_base() || locals < (address) fp()) return false; // We'd have to be pretty unlucky to be mislead at this point - - #endif // CC_INTERP return true; } BasicType frame::interpreter_frame_result(oop* oop_result, jvalue* value_result) { - #ifdef CC_INTERP - // Needed for JVMTI. The result should always be in the - // interpreterState object - interpreterState istate = get_interpreterState(); - #endif // CC_INTERP assert(is_interpreted_frame(), "interpreted frame expected"); Method* method = interpreter_frame_method(); BasicType type = method->result_type(); intptr_t* tos_addr; --- 552,565 ----
*** 617,631 **** switch (type) { case T_OBJECT : case T_ARRAY : { oop obj; if (method->is_native()) { - #ifdef CC_INTERP - obj = istate->_oop_temp; - #else obj = cast_to_oop(at(interpreter_frame_oop_temp_offset)); - #endif // CC_INTERP } else { oop* obj_p = (oop*)tos_addr; obj = (obj_p == NULL) ? (oop)NULL : *obj_p; } assert(obj == NULL || Universe::heap()->is_in(obj), "sanity check"); --- 585,595 ----
*** 670,680 **** #define DESCRIBE_FP_OFFSET(name) \ values.describe(frame_no, fp() + frame::name##_offset, #name) void frame::describe_pd(FrameValues& values, int frame_no) { if (is_interpreted_frame()) { - #ifndef CC_INTERP DESCRIBE_FP_OFFSET(interpreter_frame_sender_sp); DESCRIBE_FP_OFFSET(interpreter_frame_last_sp); DESCRIBE_FP_OFFSET(interpreter_frame_method); DESCRIBE_FP_OFFSET(interpreter_frame_mdp); DESCRIBE_FP_OFFSET(interpreter_frame_cache); --- 634,643 ----
*** 689,699 **** for (int i = 0; i < entry_frame_after_call_words; i++) { values.describe(frame_no, fp() - i, err_msg("call_stub word fp - %d", i)); } #endif // AMD64 } - #endif } #endif // !PRODUCT intptr_t *frame::initial_deoptimization_info() { // used to reset the saved FP --- 652,661 ----
src/cpu/x86/vm/frame_x86.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File