< prev index next >
src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp
Print this page
*** 2678,2687 ****
--- 2678,2691 ----
// Load immediate 1 into swap_reg %rax
__ movl(swap_reg, 1);
// Load (object->mark() | 1) into swap_reg %rax
__ orptr(swap_reg, Address(obj_reg, oopDesc::mark_offset_in_bytes()));
+ if (EnableValhalla && !UseBiasedLocking) {
+ // For slow path is_always_locked, using biased, which is never natural for !UseBiasLocking
+ __ andptr(swap_reg, ~markOopDesc::biased_lock_bit_in_place);
+ }
// Save (object->mark() | 1) into BasicLock's displaced header
__ movptr(Address(lock_reg, mark_word_offset), swap_reg);
if (os::is_MP()) {
< prev index next >