--- old/src/hotspot/cpu/x86/x86_64.ad 2018-04-20 00:46:41.000000000 +0100 +++ new/src/hotspot/cpu/x86/x86_64.ad 2018-04-20 00:46:41.000000000 +0100 @@ -11004,6 +11004,20 @@ ins_pipe( pipe_slow ); %} +instruct getFP(rRegL dst) %{ + match(Set dst (GetFP)); + effect(DEF dst); + ins_cost(1); + + ins_encode %{ + // Remove wordSize for return addr which is already pushed. + int framesize = Compile::current()->frame_size_in_bytes() - wordSize; + Address base(rsp, framesize); + __ lea($dst$$Register, base); + %} + ins_pipe(ialu_reg_reg_long); +%} + //----------Overflow Math Instructions----------------------------------------- instruct overflowAddI_rReg(rFlagsReg cr, rax_RegI op1, rRegI op2)