Mercurial > hg > graal-jvmci-8
changeset 23452:831754f092fb
Merge
author | robm |
---|---|
date | Tue, 27 Oct 2015 03:51:05 +0000 |
parents | d9c0a206ca59 (current diff) faef2a237329 (diff) |
children | 6fff3d627d0a |
files | |
diffstat | 3 files changed, 13 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/cpu/x86/vm/macroAssembler_x86.cpp Mon Oct 26 13:20:50 2015 -0700 +++ b/src/cpu/x86/vm/macroAssembler_x86.cpp Tue Oct 27 03:51:05 2015 +0000 @@ -6143,7 +6143,9 @@ // Save caller's stack pointer into RBP if the frame pointer is preserved. if (PreserveFramePointer) { movptr(rbp, rsp); - addptr(rbp, framesize + wordSize); + if (framesize > 0) { + addptr(rbp, framesize); + } } }
--- a/src/cpu/x86/vm/x86_32.ad Mon Oct 26 13:20:50 2015 -0700 +++ b/src/cpu/x86/vm/x86_32.ad Tue Oct 27 03:51:05 2015 +0000 @@ -566,7 +566,11 @@ st->print("MOV [ESP + #%d], EBP\t# Save EBP",framesize); if (PreserveFramePointer) { st->print("\n\t"); - st->print("MOV EBP, [ESP + #%d]\t# Save the caller's SP into EBP", (framesize + wordSize)); + st->print("MOV EBP, ESP\t# Save the caller's SP into EBP"); + if (framesize > 0) { + st->print("\n\t"); + st->print("ADD EBP, #%d", framesize); + } } }
--- a/src/cpu/x86/vm/x86_64.ad Mon Oct 26 13:20:50 2015 -0700 +++ b/src/cpu/x86/vm/x86_64.ad Tue Oct 27 03:51:05 2015 +0000 @@ -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); + } } }