--- old/src/share/vm/utilities/vmError.hpp 2017-06-28 09:44:31.034978013 -0400 +++ new/src/share/vm/utilities/vmError.hpp 2017-06-28 09:44:30.743501780 -0400 @@ -86,6 +86,10 @@ // Whether or not the last error reporting step did timeout. static volatile bool _step_did_timeout; + static bool _error_reported; + + public: + // set signal handlers on Solaris/Linux or the default exception filter // on Windows, to handle recursive crashes. static void reset_signal_handlers(); @@ -183,6 +187,14 @@ // Returns true if error reporting has not completed within the ErrorLogTimeout limit. static bool check_timeout(); -}; + // Support for avoiding multiple asserts + static bool is_error_reported(); + // Test vmassert(), fatal(), guarantee(), etc. + NOT_PRODUCT(static void test_error_handler();) + + // returns an address which is guaranteed to generate a SIGSEGV on read, + // for test purposes, which is not NULL and contains bits in every word + static void* get_segfault_address(); +}; #endif // SHARE_VM_UTILITIES_VMERROR_HPP