src/cpu/x86/vm/c1_FrameMap_x86.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
8068945-8u-patched Cdiff src/cpu/x86/vm/c1_FrameMap_x86.cpp
src/cpu/x86/vm/c1_FrameMap_x86.cpp
Print this page
rev 7386 : 8068945: Use RBP register as proper frame pointer in JIT compiled code on x86
Summary: Introduce the PreserveFramePointer flag to control if RBP is used as the frame pointer or as a general purpose register.
Reviewed-by: kvn, roland, dlong, enevill, shade
*** 341,356 ****
LIR_Opr FrameMap::stack_pointer() {
return FrameMap::rsp_opr;
}
-
// JSR 292
LIR_Opr FrameMap::method_handle_invoke_SP_save_opr() {
! assert(rbp == rbp_mh_SP_save, "must be same register");
! return rbp_opr;
}
-
bool FrameMap::validate_frame() {
return true;
}
--- 341,355 ----
LIR_Opr FrameMap::stack_pointer() {
return FrameMap::rsp_opr;
}
// JSR 292
+ // On x86, there is no need to save the SP, because neither
+ // method handle intrinsics, nor compiled lambda forms modify it.
LIR_Opr FrameMap::method_handle_invoke_SP_save_opr() {
! return LIR_OprFact::illegalOpr;
}
bool FrameMap::validate_frame() {
return true;
}
src/cpu/x86/vm/c1_FrameMap_x86.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File