< prev index next >

src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp

Print this page
*** 694,11 ***
        tstw(tmp, JVM_ACC_IS_VALUE_BASED_CLASS);
        br(Assembler::NE, slow_case);
      }
  
      if (LockingMode == LM_LIGHTWEIGHT) {
!       lightweight_lock(obj_reg, tmp, tmp2, tmp3, slow_case);
        b(count);
      } else if (LockingMode == LM_LEGACY) {
        // Load (object->mark() | 1) into swap_reg
        ldr(rscratch1, Address(obj_reg, oopDesc::mark_offset_in_bytes()));
        orr(swap_reg, rscratch1, 1);
--- 694,11 ---
        tstw(tmp, JVM_ACC_IS_VALUE_BASED_CLASS);
        br(Assembler::NE, slow_case);
      }
  
      if (LockingMode == LM_LIGHTWEIGHT) {
!       lightweight_lock(lock_reg, obj_reg, tmp, tmp2, tmp3, slow_case);
        b(count);
      } else if (LockingMode == LM_LEGACY) {
        // Load (object->mark() | 1) into swap_reg
        ldr(rscratch1, Address(obj_reg, oopDesc::mark_offset_in_bytes()));
        orr(swap_reg, rscratch1, 1);

*** 750,19 ***
        br(Assembler::EQ, count);
      }
      bind(slow_case);
  
      // Call the runtime routine for slow case
!     if (LockingMode == LM_LIGHTWEIGHT) {
!       call_VM(noreg,
!               CAST_FROM_FN_PTR(address, InterpreterRuntime::monitorenter_obj),
-               obj_reg);
-     } else {
-       call_VM(noreg,
-               CAST_FROM_FN_PTR(address, InterpreterRuntime::monitorenter),
-               lock_reg);
-     }
      b(done);
  
      bind(count);
      increment(Address(rthread, JavaThread::held_monitor_count_offset()));
  
--- 750,13 ---
        br(Assembler::EQ, count);
      }
      bind(slow_case);
  
      // Call the runtime routine for slow case
!     call_VM(noreg,
!             CAST_FROM_FN_PTR(address, InterpreterRuntime::monitorenter),
!             lock_reg);
      b(done);
  
      bind(count);
      increment(Address(rthread, JavaThread::held_monitor_count_offset()));
  
< prev index next >