7075623: 6990212 broke raiseException in 64 bit
authornever
Mon, 08 Aug 2011 13:19:46 -0700
changeset 10261 8463abc614bc
parent 10260 b7007c4de557
child 10262 c5f62d314bee
7075623: 6990212 broke raiseException in 64 bit Reviewed-by: kvn, twisti
hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp
hotspot/src/cpu/x86/vm/methodHandles_x86.cpp
--- a/hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp	Mon Aug 08 05:49:04 2011 -0700
+++ b/hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp	Mon Aug 08 13:19:46 2011 -0700
@@ -1126,7 +1126,7 @@
 
       adjust_SP_and_Gargs_down_by_slots(_masm, 3, noreg, noreg);
 
-      __ st_ptr(O0_code,     __ argument_address(constant(2), noreg, 0));
+      __ st    (O0_code,     __ argument_address(constant(2), noreg, 0));
       __ st_ptr(O1_actual,   __ argument_address(constant(1), noreg, 0));
       __ st_ptr(O2_required, __ argument_address(constant(0), noreg, 0));
       jump_from_method_handle(_masm, G5_method, O1_scratch, O2_scratch);
--- a/hotspot/src/cpu/x86/vm/methodHandles_x86.cpp	Mon Aug 08 05:49:04 2011 -0700
+++ b/hotspot/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);