# HG changeset patch # User never # Date 1312834786 25200 # Node ID a19c671188cb284d1ee1d09964b1e1d09c68e9d3 # Parent a3142bdb67074877ead276dd74246a808bb1f21b 7075623: 6990212 broke raiseException in 64 bit Reviewed-by: kvn, twisti diff -r a3142bdb6707 -r a19c671188cb src/cpu/sparc/vm/methodHandles_sparc.cpp --- a/src/cpu/sparc/vm/methodHandles_sparc.cpp Mon Aug 08 05:49:04 2011 -0700 +++ b/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); diff -r a3142bdb6707 -r a19c671188cb src/cpu/x86/vm/methodHandles_x86.cpp --- 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);