changeset 10506:7344fa3e8833

Fixed an interpreter issue concerning a trashed register.
author Christian Haeubl <haeubl@ssw.jku.at>
date Mon, 24 Jun 2013 11:43:48 +0200
parents dcbdf71c4507
children 329c22feda1f
files src/cpu/x86/vm/templateInterpreter_x86_64.cpp
diffstat 1 files changed, 2 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/x86/vm/templateInterpreter_x86_64.cpp	Mon Jun 24 08:01:33 2013 +0200
+++ b/src/cpu/x86/vm/templateInterpreter_x86_64.cpp	Mon Jun 24 11:43:48 2013 +0200
@@ -375,11 +375,13 @@
       __ testl(rcx, InvocationCounter::count_mask_value);
       __ jcc(Assembler::notZero, not_zero);
 
+      __ push(rax);
       __ push(rcx);
       __ call_VM(noreg, CAST_FROM_FN_PTR(address, graal_initialize_time), rdx, false);
       __ set_method_data_pointer_for_bcp();
       __ get_method(rbx);
       __ pop(rcx);
+      __ pop(rax);
 
       __ testl(rcx, InvocationCounter::count_mask_value);
       __ jcc(Assembler::zero, not_zero);