Mercurial > hg > graal-jvmci-8
comparison 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 |
comparison
equal
deleted
inserted
replaced
23448:a2969911663a | 23451:faef2a237329 |
---|---|
861 st->print("\n\t"); | 861 st->print("\n\t"); |
862 framesize -= wordSize; | 862 framesize -= wordSize; |
863 st->print("movq [rsp + #%d], rbp\t# Save rbp",framesize); | 863 st->print("movq [rsp + #%d], rbp\t# Save rbp",framesize); |
864 if (PreserveFramePointer) { | 864 if (PreserveFramePointer) { |
865 st->print("\n\t"); | 865 st->print("\n\t"); |
866 st->print("movq rbp, [rsp + #%d]\t# Save the caller's SP into rbp", (framesize + wordSize)); | 866 st->print("movq rbp, rsp\t# Save the caller's SP into rbp"); |
867 if (framesize > 0) { | |
868 st->print("\n\t"); | |
869 st->print("addq rbp, #%d", framesize); | |
870 } | |
867 } | 871 } |
868 } | 872 } |
869 | 873 |
870 if (VerifyStackAtCalls) { | 874 if (VerifyStackAtCalls) { |
871 st->print("\n\t"); | 875 st->print("\n\t"); |