< prev index next > src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp
Print this page
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);
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);
- }
+ 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 >