--- old/src/hotspot/cpu/x86/macroAssembler_x86.cpp 2019-07-04 11:52:46.000000000 +0200 +++ new/src/hotspot/cpu/x86/macroAssembler_x86.cpp 2019-07-04 11:52:40.000000000 +0200 @@ -1754,6 +1754,10 @@ // Attempt stack-locking ... orptr (tmpReg, markOopDesc::unlocked_value); + if (EnableValhalla && !UseBiasedLocking) { + // Mask always_locked bit such that we go to the slow path if object is a value type + andptr(tmpReg, ~markOopDesc::biased_lock_bit_in_place); + } movptr(Address(boxReg, 0), tmpReg); // Anticipate successful CAS lock(); cmpxchgptr(boxReg, Address(objReg, oopDesc::mark_offset_in_bytes())); // Updates tmpReg