@@ -2687,10 +2687,8 @@ LONG WINAPI topLevelExceptionFilter(struct _EXCEPTION_POINTERS* exceptionInfo) {
26872687 // Fatal red zone violation.
26882688 overflow_state->disable_stack_red_zone ();
26892689 tty->print_raw_cr (" An unrecoverable stack overflow has occurred." );
2690- #if !defined(USE_VECTORED_EXCEPTION_HANDLING)
26912690 report_error (t, exception_code, pc, exception_record,
26922691 exceptionInfo->ContextRecord );
2693- #endif
26942692 return EXCEPTION_CONTINUE_SEARCH ;
26952693 }
26962694 } else if (exception_code == EXCEPTION_ACCESS_VIOLATION ) {
@@ -2742,10 +2740,8 @@ LONG WINAPI topLevelExceptionFilter(struct _EXCEPTION_POINTERS* exceptionInfo) {
27422740 }
27432741
27442742 // Stack overflow or null pointer exception in native code.
2745- #if !defined(USE_VECTORED_EXCEPTION_HANDLING)
27462743 report_error (t, exception_code, pc, exception_record,
27472744 exceptionInfo->ContextRecord );
2748- #endif
27492745 return EXCEPTION_CONTINUE_SEARCH ;
27502746 } // /EXCEPTION_ACCESS_VIOLATION
27512747 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -2816,33 +2812,6 @@ LONG WINAPI topLevelExceptionFilter(struct _EXCEPTION_POINTERS* exceptionInfo) {
28162812 return EXCEPTION_CONTINUE_SEARCH ;
28172813}
28182814
2819- #if defined(USE_VECTORED_EXCEPTION_HANDLING)
2820- LONG WINAPI topLevelVectoredExceptionFilter (struct _EXCEPTION_POINTERS * exceptionInfo) {
2821- PEXCEPTION_RECORD exceptionRecord = exceptionInfo->ExceptionRecord ;
2822- #if defined(_M_ARM64)
2823- address pc = (address) exceptionInfo->ContextRecord ->Pc ;
2824- #elif defined(_M_AMD64)
2825- address pc = (address) exceptionInfo->ContextRecord ->Rip ;
2826- #else
2827- #error unknown architecture
2828- #endif
2829-
2830- // Fast path for code part of the code cache
2831- if (CodeCache::low_bound () <= pc && pc < CodeCache::high_bound ()) {
2832- return topLevelExceptionFilter (exceptionInfo);
2833- }
2834-
2835- // If the exception occurred in the codeCache, pass control
2836- // to our normal exception handler.
2837- CodeBlob* cb = CodeCache::find_blob (pc);
2838- if (cb != nullptr ) {
2839- return topLevelExceptionFilter (exceptionInfo);
2840- }
2841-
2842- return EXCEPTION_CONTINUE_SEARCH ;
2843- }
2844- #endif
2845-
28462815#if defined(USE_VECTORED_EXCEPTION_HANDLING)
28472816LONG WINAPI topLevelUnhandledExceptionFilter (struct _EXCEPTION_POINTERS * exceptionInfo) {
28482817 if (!InterceptOSException) {
@@ -4483,7 +4452,7 @@ jint os::init_2(void) {
44834452 // Setup Windows Exceptions
44844453
44854454#if defined(USE_VECTORED_EXCEPTION_HANDLING)
4486- topLevelVectoredExceptionHandler = AddVectoredExceptionHandler (1 , topLevelVectoredExceptionFilter );
4455+ topLevelVectoredExceptionHandler = AddVectoredExceptionHandler (1 , topLevelExceptionFilter );
44874456 previousUnhandledExceptionFilter = SetUnhandledExceptionFilter (topLevelUnhandledExceptionFilter);
44884457#endif
44894458
0 commit comments