diff src/cpu/x86/vm/methodHandles_x86.cpp @ 3848:a19c671188cb

7075623: 6990212 broke raiseException in 64 bit Reviewed-by: kvn, twisti
author never
date Mon, 08 Aug 2011 13:19:46 -0700
parents 341a57af9b0a
children c26de9aef2ed
line wrap: on
line diff
--- a/src/cpu/x86/vm/methodHandles_x86.cpp	Mon Aug 08 05:49:04 2011 -0700
+++ b/src/cpu/x86/vm/methodHandles_x86.cpp	Mon Aug 08 13:19:46 2011 -0700
@@ -1192,11 +1192,11 @@
       const int jobject_oop_offset = 0;
       __ movptr(rbx_method, Address(rbx_method, jobject_oop_offset));  // dereference the jobject
 
-      __ movptr(rsi, rsp);
+      __ movptr(saved_last_sp, rsp);
       __ subptr(rsp, 3 * wordSize);
       __ push(rax_pc);         // restore caller PC
 
-      __ movptr(__ argument_address(constant(2)), rarg0_code);
+      __ movl  (__ argument_address(constant(2)), rarg0_code);
       __ movptr(__ argument_address(constant(1)), rarg1_actual);
       __ movptr(__ argument_address(constant(0)), rarg2_required);
       jump_from_method_handle(_masm, rbx_method, rax);