mirror of
https://github.com/openjdk/jdk.git
synced 2026-04-21 12:20:29 +00:00
8382103: Shenandoah: Optimize ShenandoahLock size for release build
Reviewed-by: xpeng, kdnilsen, wkemper
This commit is contained in:
parent
0ca24c0e57
commit
74c3d426b0
@ -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");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user