8232534: Shenandoah: guard against reentrant ShenandoahHeapLock locking

Reviewed-by: rkennke
This commit is contained in:
Aleksey Shipilev 2019-10-17 20:56:04 +02:00
parent 2324892e0b
commit 86f50ba1ef

View File

@ -41,6 +41,9 @@ public:
ShenandoahLock() : _state(unlocked), _owner(NULL) {};
void lock() {
#ifdef ASSERT
assert(_owner != Thread::current(), "reentrant locking attempt, would deadlock");
#endif
Thread::SpinAcquire(&_state, "Shenandoah Heap Lock");
#ifdef ASSERT
assert(_state == locked, "must be locked");