src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp
changeset 55119 04ff1e00635a
parent 55076 785a12e0f89b
child 57777 90ead0febf56
--- a/src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp	Thu May 30 16:21:08 2019 -0700
+++ b/src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp	Wed May 29 11:55:30 2019 -0400
@@ -362,3 +362,16 @@
                      file, line);
   }
 }
+
+void ShenandoahAsserts::assert_locked_or_shenandoah_safepoint(const Monitor* lock, const char* file, int line) {
+  if (ShenandoahSafepoint::is_at_shenandoah_safepoint()) {
+    return;
+  }
+
+  if (lock->owned_by_self()) {
+    return;
+  }
+
+  ShenandoahMessageBuffer msg("Must ba at a Shenandoah safepoint or held %s lock", lock->name());
+  report_vm_error(file, line, msg.buffer());
+}