--- old/src/cpu/x86/vm/c1_MacroAssembler_x86.cpp 2015-05-29 13:57:34.749083367 +0200 +++ new/src/cpu/x86/vm/c1_MacroAssembler_x86.cpp 2015-05-29 13:57:34.525083377 +0200 @@ -359,6 +359,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 ) {