< prev index next >

src/hotspot/cpu/zero/zeroInterpreter_zero.cpp

Print this page
*** 331,11 ***
    if (method->is_synchronized()) {
      monitor = (BasicObjectLock*) istate->stack_base();
      oop lockee = monitor->obj();
      markWord disp = lockee->mark().set_unlocked();
      monitor->lock()->set_displaced_header(disp);
!     bool call_vm = UseHeavyMonitors;
      if (call_vm || lockee->cas_set_mark(markWord::from_pointer(monitor), disp) != disp) {
        // Is it simple recursive case?
        if (!call_vm && thread->is_lock_owned((address) disp.clear_lock_bits().to_pointer())) {
          monitor->lock()->set_displaced_header(markWord::from_pointer(NULL));
        } else {
--- 331,11 ---
    if (method->is_synchronized()) {
      monitor = (BasicObjectLock*) istate->stack_base();
      oop lockee = monitor->obj();
      markWord disp = lockee->mark().set_unlocked();
      monitor->lock()->set_displaced_header(disp);
!     bool call_vm = (LockingMode == LM_MONITOR);
      if (call_vm || lockee->cas_set_mark(markWord::from_pointer(monitor), disp) != disp) {
        // Is it simple recursive case?
        if (!call_vm && thread->is_lock_owned((address) disp.clear_lock_bits().to_pointer())) {
          monitor->lock()->set_displaced_header(markWord::from_pointer(NULL));
        } else {
< prev index next >