diff src/cpu/x86/vm/x86_64.ad @ 23451:faef2a237329

8080650: Enable stubs to use frame pointers correctly Summary: Change MacroAssembler::verified_entry() to set up RBP correctly when generating stub code. Reviewed-by: kvn
author zmajo
date Thu, 15 Oct 2015 17:38:41 +0200
parents e8260b6328fb
children b5f3a471e646 c3d0bd36ab28
line wrap: on
line diff
--- a/src/cpu/x86/vm/x86_64.ad	Wed Oct 21 11:34:08 2015 -0700
+++ b/src/cpu/x86/vm/x86_64.ad	Thu Oct 15 17:38:41 2015 +0200
@@ -863,7 +863,11 @@
     st->print("movq    [rsp + #%d], rbp\t# Save rbp",framesize);    
     if (PreserveFramePointer) {
       st->print("\n\t");
-      st->print("movq    rbp, [rsp + #%d]\t# Save the caller's SP into rbp", (framesize + wordSize));
+      st->print("movq    rbp, rsp\t# Save the caller's SP into rbp");
+      if (framesize > 0) {
+        st->print("\n\t");
+        st->print("addq    rbp, #%d", framesize);
+      }      
     }
   }