diff -r ecca632210ef -r b92a97e1e9cb hotspot/src/cpu/x86/vm/c1_MacroAssembler_x86.cpp --- a/hotspot/src/cpu/x86/vm/c1_MacroAssembler_x86.cpp Wed Apr 22 19:10:03 2015 +0300 +++ b/hotspot/src/cpu/x86/vm/c1_MacroAssembler_x86.cpp Mon Apr 27 10:49:43 2015 +0200 @@ -360,6 +360,9 @@ generate_stack_overflow_check(bang_size_in_bytes); push(rbp); + if (PreserveFramePointer) { + mov(rbp, rsp); + } #ifdef TIERED // c2 leaves fpu stack dirty. Clean it on entry if (UseSSE < 2 ) {