aboutsummaryrefslogtreecommitdiff
path: root/src/cpu/x86/vm/interp_masm_x86_64.cpp
diff options
context:
space:
mode:
authorjrose <none@none>2009-04-08 10:56:49 -0700
committerjrose <none@none>2009-04-08 10:56:49 -0700
commit6094e1a45d0a3e8ebc1abeb2decefac21fda1d17 (patch)
treeb7300e43ab49aea0527e81c61bf1232f7a2c6567 /src/cpu/x86/vm/interp_masm_x86_64.cpp
parent13e9fa5459a55b69b581abbf0377faf539d46849 (diff)
downloadjdk8u_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.cpp11
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;