8382103: Shenandoah: Optimize ShenandoahLock size for release build

Reviewed-by: xpeng, kdnilsen, wkemper
This commit is contained in:
Patrick Fontanilla 2026-04-16 17:48:31 +00:00 committed by Kelvin Nilsen
parent 0ca24c0e57
commit 74c3d426b0

View File

@ -38,15 +38,19 @@ private:
shenandoah_padding(0);
Atomic<LockState> _state;
shenandoah_padding(1);
#ifdef ASSERT
Atomic<Thread*> _owner;
shenandoah_padding(2);
#endif
template<bool ALLOW_BLOCK>
void contended_lock_internal(JavaThread* java_thread);
static void yield_or_sleep(int &yields);
public:
ShenandoahLock() : _state(unlocked), _owner(nullptr) {};
ShenandoahLock() : _state(unlocked) {
DEBUG_ONLY(_owner.store_relaxed(nullptr);)
};
void lock(bool allow_block_for_safepoint = false) {
assert(_owner.load_relaxed() != Thread::current(), "reentrant locking attempt, would deadlock");