Mercurial > hg > graal-jvmci-8
comparison src/cpu/x86/vm/c1_LIRAssembler_x86.cpp @ 1301:fc2c71045ada
6934966: JSR 292 add C1 logic for saved SP over MethodHandle calls
Summary: The logic for x86 C1 to save the SP over MH calls is pretty straight forward but SPARC handles that differently.
Reviewed-by: never, jrose
author | twisti |
---|---|
date | Wed, 17 Mar 2010 10:22:41 +0100 |
parents | c466efa608d5 |
children | 0a43776437b6 |
comparison
equal
deleted
inserted
replaced
1300:428a9c451986 | 1301:fc2c71045ada |
---|---|
2760 void LIR_Assembler::vtable_call(LIR_OpJavaCall* op) { | 2760 void LIR_Assembler::vtable_call(LIR_OpJavaCall* op) { |
2761 ShouldNotReachHere(); | 2761 ShouldNotReachHere(); |
2762 } | 2762 } |
2763 | 2763 |
2764 | 2764 |
2765 void LIR_Assembler::preserve_SP() { | 2765 void LIR_Assembler::preserve_SP(LIR_OpJavaCall* op) { |
2766 __ movptr(rbp, rsp); | 2766 __ movptr(FrameMap::method_handle_invoke_SP_save_opr()->as_register(), rsp); |
2767 } | 2767 } |
2768 | 2768 |
2769 | 2769 |
2770 void LIR_Assembler::restore_SP() { | 2770 void LIR_Assembler::restore_SP(LIR_OpJavaCall* op) { |
2771 __ movptr(rsp, rbp); | 2771 __ movptr(rsp, FrameMap::method_handle_invoke_SP_save_opr()->as_register()); |
2772 } | 2772 } |
2773 | 2773 |
2774 | 2774 |
2775 void LIR_Assembler::emit_static_call_stub() { | 2775 void LIR_Assembler::emit_static_call_stub() { |
2776 address call_pc = __ pc(); | 2776 address call_pc = __ pc(); |