src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp
changeset 58231 13e041be4e5c
parent 57652 758da77e4cd2
child 58679 9c3209ff7550
child 59249 29b0d0b61615
--- a/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp	Thu Sep 19 16:53:17 2019 +0000
+++ b/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp	Thu Sep 19 20:26:51 2019 +0200
@@ -316,7 +316,11 @@
     oop *loc = _oops[c];
     assert(_nm->code_contains((address) loc) || _nm->oops_contains(loc), "nmethod should contain the oop*");
     oop o = RawAccess<>::oop_load(loc);
-    shenandoah_assert_correct_except(loc, o, o == NULL || heap->is_full_gc_move_in_progress());
+    shenandoah_assert_correct_except(loc, o,
+             o == NULL ||
+             heap->is_full_gc_move_in_progress() ||
+             (VMThread::vm_operation() != NULL) && (VMThread::vm_operation()->type() == VM_Operation::VMOp_HeapWalkOperation)
+    );
   }
 }