< prev index next >

src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp

Print this page
*** 44,10 ***
--- 44,11 ---
  #include "runtime/basicLock.hpp"
  #include "runtime/frame.inline.hpp"
  #include "runtime/javaThread.hpp"
  #include "runtime/safepointMechanism.hpp"
  #include "runtime/sharedRuntime.hpp"
+ #include "utilities/globalDefinitions.hpp"
  #include "utilities/powerOfTwo.hpp"
  
  void InterpreterMacroAssembler::narrow(Register result) {
  
    // Get method->_constMethod->_result_type

*** 699,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);
--- 700,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);

*** 755,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()));
  
--- 756,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 >