hotspot/src/share/vm/utilities/vmError.cpp
changeset 28943 679546f0cc1f
parent 28513 9464a1b5c184
child 29573 2d800e5d575f
--- a/hotspot/src/share/vm/utilities/vmError.cpp	Wed Feb 04 16:09:49 2015 +0100
+++ b/hotspot/src/share/vm/utilities/vmError.cpp	Wed Feb 04 18:47:42 2015 -0500
@@ -353,6 +353,26 @@
                    "Runtime Environment to continue.");
     }
 
+#ifndef PRODUCT
+  // Error handler self tests
+
+  // test secondary error handling. Test it twice, to test that resetting
+  // error handler after a secondary crash works.
+  STEP(13, "(test secondary crash 1)")
+    if (_verbose && TestCrashInErrorHandler != 0) {
+      st->print_cr("Will crash now (TestCrashInErrorHandler=%d)...",
+        TestCrashInErrorHandler);
+      controlled_crash(TestCrashInErrorHandler);
+    }
+
+  STEP(14, "(test secondary crash 2)")
+    if (_verbose && TestCrashInErrorHandler != 0) {
+      st->print_cr("Will crash now (TestCrashInErrorHandler=%d)...",
+        TestCrashInErrorHandler);
+      controlled_crash(TestCrashInErrorHandler);
+    }
+#endif // PRODUCT
+
   STEP(15, "(printing type of error)")
 
      switch(_id) {
@@ -786,6 +806,15 @@
        st->cr();
      }
 
+#ifndef PRODUCT
+  // print a defined marker to show that error handling finished correctly.
+  STEP(290, "(printing end marker)" )
+
+     if (_verbose) {
+       st->print_cr("END.");
+     }
+#endif
+
   END
 
 # undef BEGIN