7075623: 6990212 broke raiseException in 64 bit

Mon, 08 Aug 2011 13:19:46 -0700

author
never
date
Mon, 08 Aug 2011 13:19:46 -0700
changeset 3046
a19c671188cb
parent 3045
a3142bdb6707
child 3047
f1c12354c3f7

7075623: 6990212 broke raiseException in 64 bit
Reviewed-by: kvn, twisti

src/cpu/sparc/vm/methodHandles_sparc.cpp file | annotate | diff | comparison | revisions
src/cpu/x86/vm/methodHandles_x86.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/cpu/sparc/vm/methodHandles_sparc.cpp	Mon Aug 08 05:49:04 2011 -0700
     1.2 +++ b/src/cpu/sparc/vm/methodHandles_sparc.cpp	Mon Aug 08 13:19:46 2011 -0700
     1.3 @@ -1126,7 +1126,7 @@
     1.4  
     1.5        adjust_SP_and_Gargs_down_by_slots(_masm, 3, noreg, noreg);
     1.6  
     1.7 -      __ st_ptr(O0_code,     __ argument_address(constant(2), noreg, 0));
     1.8 +      __ st    (O0_code,     __ argument_address(constant(2), noreg, 0));
     1.9        __ st_ptr(O1_actual,   __ argument_address(constant(1), noreg, 0));
    1.10        __ st_ptr(O2_required, __ argument_address(constant(0), noreg, 0));
    1.11        jump_from_method_handle(_masm, G5_method, O1_scratch, O2_scratch);
     2.1 --- a/src/cpu/x86/vm/methodHandles_x86.cpp	Mon Aug 08 05:49:04 2011 -0700
     2.2 +++ b/src/cpu/x86/vm/methodHandles_x86.cpp	Mon Aug 08 13:19:46 2011 -0700
     2.3 @@ -1192,11 +1192,11 @@
     2.4        const int jobject_oop_offset = 0;
     2.5        __ movptr(rbx_method, Address(rbx_method, jobject_oop_offset));  // dereference the jobject
     2.6  
     2.7 -      __ movptr(rsi, rsp);
     2.8 +      __ movptr(saved_last_sp, rsp);
     2.9        __ subptr(rsp, 3 * wordSize);
    2.10        __ push(rax_pc);         // restore caller PC
    2.11  
    2.12 -      __ movptr(__ argument_address(constant(2)), rarg0_code);
    2.13 +      __ movl  (__ argument_address(constant(2)), rarg0_code);
    2.14        __ movptr(__ argument_address(constant(1)), rarg1_actual);
    2.15        __ movptr(__ argument_address(constant(0)), rarg2_required);
    2.16        jump_from_method_handle(_masm, rbx_method, rax);

mercurial