diff options
author | jrose <none@none> | 2009-04-08 10:56:49 -0700 |
---|---|---|
committer | jrose <none@none> | 2009-04-08 10:56:49 -0700 |
commit | 6094e1a45d0a3e8ebc1abeb2decefac21fda1d17 (patch) | |
tree | b7300e43ab49aea0527e81c61bf1232f7a2c6567 /src/cpu/x86/vm/interp_masm_x86_64.cpp | |
parent | 13e9fa5459a55b69b581abbf0377faf539d46849 (diff) | |
download | jdk8u_hotspot-6094e1a45d0a3e8ebc1abeb2decefac21fda1d17.tar.gz |
6655638: dynamic languages need method handles
Summary: initial implementation, with known omissions (x86/64, sparc, compiler optim., c-oops, C++ interp.)
Reviewed-by: kvn, twisti, never
Diffstat (limited to 'src/cpu/x86/vm/interp_masm_x86_64.cpp')
-rw-r--r-- | src/cpu/x86/vm/interp_masm_x86_64.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/cpu/x86/vm/interp_masm_x86_64.cpp b/src/cpu/x86/vm/interp_masm_x86_64.cpp index 56bd0c8c9..dbd858da2 100644 --- a/src/cpu/x86/vm/interp_masm_x86_64.cpp +++ b/src/cpu/x86/vm/interp_masm_x86_64.cpp @@ -551,13 +551,18 @@ void InterpreterMacroAssembler::super_call_VM_leaf(address entry_point, MacroAssembler::call_VM_leaf_base(entry_point, 3); } -// Jump to from_interpreted entry of a call unless single stepping is possible -// in this thread in which case we must call the i2i entry -void InterpreterMacroAssembler::jump_from_interpreted(Register method, Register temp) { +void InterpreterMacroAssembler::prepare_to_jump_from_interpreted() { // set sender sp lea(r13, Address(rsp, wordSize)); // record last_sp movptr(Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize), r13); +} + + +// Jump to from_interpreted entry of a call unless single stepping is possible +// in this thread in which case we must call the i2i entry +void InterpreterMacroAssembler::jump_from_interpreted(Register method, Register temp) { + prepare_to_jump_from_interpreted(); if (JvmtiExport::can_post_interpreter_events()) { Label run_compiled_code; |