< prev index next >

src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp

Print this page
*** 1692,11 ***
        // Save the test result, for recursive case, the result is zero
        __ movptr(Address(lock_reg, mark_word_offset), swap_reg);
        __ jcc(Assembler::notEqual, slow_path_lock);
      } else {
        assert(LockingMode == LM_LIGHTWEIGHT, "must be");
!       __ lightweight_lock(obj_reg, swap_reg, thread, lock_reg, slow_path_lock);
      }
      __ bind(count_mon);
      __ inc_held_monitor_count();
  
      // Slow path will re-enter here
--- 1692,12 ---
        // Save the test result, for recursive case, the result is zero
        __ movptr(Address(lock_reg, mark_word_offset), swap_reg);
        __ jcc(Assembler::notEqual, slow_path_lock);
      } else {
        assert(LockingMode == LM_LIGHTWEIGHT, "must be");
!       // Lacking registers and thread on x86_32. Always take slow path.
+       __ jmp(slow_path_lock);
      }
      __ bind(count_mon);
      __ inc_held_monitor_count();
  
      // Slow path will re-enter here
< prev index next >