changeset 8578:f39e296fb4c5

8129757: ppc/aarch: Fix passing thread to runtime after "8073165: Contended Locking fast exit bucket." Reviewed-by: enevill, simonis, adinn
author goetz
date Wed, 24 Jun 2015 09:13:12 +0200
parents 10505c2cd67b
children e563aed0fbf3
files src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp src/cpu/ppc/vm/sharedRuntime_ppc.cpp
diffstat 2 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp	Tue Jun 23 18:56:17 2015 +0000
+++ b/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp	Wed Jun 24 09:13:12 2015 +0200
@@ -2144,6 +2144,7 @@
       save_native_result(masm, ret_type, stack_slots);
     }
 
+    __ mov(c_rarg2, rthread);
     __ lea(c_rarg1, Address(sp, lock_slot_offset * VMRegImpl::stack_slot_size));
     __ mov(c_rarg0, obj_reg);
 
@@ -2152,7 +2153,7 @@
     __ ldr(r19, Address(rthread, in_bytes(Thread::pending_exception_offset())));
     __ str(zr, Address(rthread, in_bytes(Thread::pending_exception_offset())));
 
-    rt_call(masm, CAST_FROM_FN_PTR(address, SharedRuntime::complete_monitor_unlocking_C), 2, 0, 1);
+    rt_call(masm, CAST_FROM_FN_PTR(address, SharedRuntime::complete_monitor_unlocking_C), 3, 0, 1);
 
 #ifdef ASSERT
     {
--- a/src/cpu/ppc/vm/sharedRuntime_ppc.cpp	Tue Jun 23 18:56:17 2015 +0000
+++ b/src/cpu/ppc/vm/sharedRuntime_ppc.cpp	Wed Jun 24 09:13:12 2015 +0200
@@ -2470,7 +2470,8 @@
 
     // Slow case of monitor enter.
     // Inline a special case of call_VM that disallows any pending_exception.
-    __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::complete_monitor_unlocking_C), r_oop, r_box);
+    // Arguments are (oop obj, BasicLock* lock, JavaThread* thread).
+    __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::complete_monitor_unlocking_C), r_oop, r_box, R16_thread);
 
     __ asm_assert_mem8_is_zero(thread_(pending_exception),
        "no pending exception allowed on exit from SharedRuntime::complete_monitor_unlocking_C", 0);