--- 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());
+}