--- 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);