< prev index next >

src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp

Print this page
*** 604,10 ***
--- 604,11 ---
      b(unlocked);
    }
  
    bind(unlock);
    unlock_object(c_rarg1);
+   dec_held_monitor_count(rthread);
    pop(state);
  
    // Check that for block-structured locking (i.e., that all locked
    // objects has been unlocked)
    bind(unlocked);

*** 646,10 ***
--- 647,11 ---
        // Unlock does not block, so don't have to worry about the frame.
        // We don't have to preserve c_rarg1 since we are going to throw an exception.
  
        push(state);
        unlock_object(c_rarg1);
+       dec_held_monitor_count(rthread);
        pop(state);
  
        if (install_monitor_exception) {
          call_VM(noreg, CAST_FROM_FN_PTR(address,
                                          InterpreterRuntime::
< prev index next >