< prev index next >
src/share/vm/gc/shenandoah/shenandoahHeap.inline.hpp
Print this page
rev 12670 : imported patch fixes.patch
@@ -250,10 +250,18 @@
if (filler == NULL) {
filler = allocate_memory(required, true);
alloc_from_gclab = false;
}
+#ifdef ASSERT
+ // Checking that current Java thread does not hold Threads_lock when we get here.
+ // If that ever be the case, we'd deadlock in oom_during_evacuation.
+ if ((! Thread::current()->is_GC_task_thread()) && (! Thread::current()->is_ConcurrentGC_thread())) {
+ assert(! Threads_lock->owned_by_self(), "must not hold Threads_lock here");
+ }
+#endif
+
if (filler == NULL) {
oom_during_evacuation();
// If this is a Java thread, it should have waited
// until all GC threads are done, and then we
// return the forwardee.
< prev index next >