< prev index next >

src/os_cpu/linux_x86/vm/thread_linux_x86.cpp

Print this page

        

*** 65,86 **** return false; } frame ret_frame(ret_sp, ret_fp, addr.pc()); if (!ret_frame.safe_for_sender(jt)) { ! #ifdef COMPILER2 ! // C2 uses ebp as a general register see if NULL fp helps frame ret_frame2(ret_sp, NULL, addr.pc()); if (!ret_frame2.safe_for_sender(jt)) { // nothing else to try if the frame isn't good return false; } ret_frame = ret_frame2; #else // nothing else to try if the frame isn't good return false; ! #endif /* COMPILER2 */ } *fr_addr = ret_frame; return true; } --- 65,86 ---- return false; } frame ret_frame(ret_sp, ret_fp, addr.pc()); if (!ret_frame.safe_for_sender(jt)) { ! #if defined(COMPILER2) || INCLUDE_JVMCI ! // C2 and JVMCI use ebp as a general register see if NULL fp helps frame ret_frame2(ret_sp, NULL, addr.pc()); if (!ret_frame2.safe_for_sender(jt)) { // nothing else to try if the frame isn't good return false; } ret_frame = ret_frame2; #else // nothing else to try if the frame isn't good return false; ! #endif /* COMPILER2 || INCLUDE_JVMCI */ } *fr_addr = ret_frame; return true; }
< prev index next >