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

@@ -756,10 +757,11 @@
      }
      bind(slow_case);
  
      // Call the runtime routine for slow case
      if (LockingMode == LM_LIGHTWEIGHT) {
+       // TODO[OMWorld]: Clean this monitorenter_obj up. We still want to use the lock_reg for lightweight
        call_VM(noreg,
                CAST_FROM_FN_PTR(address, InterpreterRuntime::monitorenter_obj),
                obj_reg);
      } else {
        call_VM(noreg,

@@ -802,10 +804,11 @@
      const Register tmp_reg    = c_rarg4;  // Temporary used by lightweight_unlock
  
      save_bcp(); // Save in case of exception
  
      if (LockingMode != LM_LIGHTWEIGHT) {
+       // TODO[OMWorld]: Cleanup lock_reg usage for placeholder
        // Convert from BasicObjectLock structure to object and BasicLock
        // structure Store the BasicLock address into %r0
        lea(swap_reg, Address(lock_reg, BasicObjectLock::lock_offset()));
      }
  
< prev index next >