# HG changeset patch # User shade # Date 1571338564 -7200 # Node ID 0cc52a55fce4ff0fd5a37a958b63b1714f2f64f4 # Parent 42a3a8941418821813e75f704645bcc0c92b2a6c 8232534: Shenandoah: guard against reentrant ShenandoahHeapLock locking Reviewed-by: rkennke diff -r 42a3a8941418 -r 0cc52a55fce4 src/hotspot/share/gc/shenandoah/shenandoahLock.hpp --- a/src/hotspot/share/gc/shenandoah/shenandoahLock.hpp Thu Oct 17 13:14:48 2019 -0400 +++ b/src/hotspot/share/gc/shenandoah/shenandoahLock.hpp Thu Oct 17 20:56:04 2019 +0200 @@ -41,6 +41,9 @@ 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");