src/hotspot/share/runtime/safepoint.hpp
changeset 49333 489f1dd40582
parent 49169 af8578e25d17
child 49816 a3e79f97e86b
--- a/src/hotspot/share/runtime/safepoint.hpp	Fri Mar 02 17:33:59 2018 -0800
+++ b/src/hotspot/share/runtime/safepoint.hpp	Sat Mar 03 23:56:08 2018 -0500
@@ -209,6 +209,20 @@
   }
 };
 
+// Some helper assert macros for safepoint checks.
+
+#define assert_at_safepoint()                                           \
+  assert(SafepointSynchronize::is_at_safepoint(), "should be at a safepoint")
+
+#define assert_at_safepoint_msg(...)                                    \
+  assert(SafepointSynchronize::is_at_safepoint(), __VA_ARGS__)
+
+#define assert_not_at_safepoint()                                       \
+  assert(!SafepointSynchronize::is_at_safepoint(), "should not be at a safepoint")
+
+#define assert_not_at_safepoint_msg(...)                                \
+  assert(!SafepointSynchronize::is_at_safepoint(), __VA_ARGS__)
+
 // State class for a thread suspended at a safepoint
 class ThreadSafepointState: public CHeapObj<mtInternal> {
  public: