Skip to content

Commit a840db6

Browse files
committed
Fix bug causing missing core dumps on Windows AArch64
1 parent c2d76f9 commit a840db6

1 file changed

Lines changed: 1 addition & 26 deletions

File tree

src/hotspot/os/windows/os_windows.cpp

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2671,10 +2671,8 @@ LONG WINAPI topLevelExceptionFilter(struct _EXCEPTION_POINTERS* exceptionInfo) {
26712671
// Fatal red zone violation.
26722672
overflow_state->disable_stack_red_zone();
26732673
tty->print_raw_cr("An unrecoverable stack overflow has occurred.");
2674-
#if !defined(USE_VECTORED_EXCEPTION_HANDLING)
26752674
report_error(t, exception_code, pc, exception_record,
26762675
exceptionInfo->ContextRecord);
2677-
#endif
26782676
return EXCEPTION_CONTINUE_SEARCH;
26792677
}
26802678
} else if (exception_code == EXCEPTION_ACCESS_VIOLATION) {
@@ -2726,10 +2724,8 @@ LONG WINAPI topLevelExceptionFilter(struct _EXCEPTION_POINTERS* exceptionInfo) {
27262724
}
27272725

27282726
// Stack overflow or null pointer exception in native code.
2729-
#if !defined(USE_VECTORED_EXCEPTION_HANDLING)
27302727
report_error(t, exception_code, pc, exception_record,
27312728
exceptionInfo->ContextRecord);
2732-
#endif
27332729
return EXCEPTION_CONTINUE_SEARCH;
27342730
} // /EXCEPTION_ACCESS_VIOLATION
27352731
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -2802,28 +2798,7 @@ LONG WINAPI topLevelExceptionFilter(struct _EXCEPTION_POINTERS* exceptionInfo) {
28022798

28032799
#if defined(USE_VECTORED_EXCEPTION_HANDLING)
28042800
LONG WINAPI topLevelVectoredExceptionFilter(struct _EXCEPTION_POINTERS* exceptionInfo) {
2805-
PEXCEPTION_RECORD exceptionRecord = exceptionInfo->ExceptionRecord;
2806-
#if defined(_M_ARM64)
2807-
address pc = (address) exceptionInfo->ContextRecord->Pc;
2808-
#elif defined(_M_AMD64)
2809-
address pc = (address) exceptionInfo->ContextRecord->Rip;
2810-
#else
2811-
#error unknown architecture
2812-
#endif
2813-
2814-
// Fast path for code part of the code cache
2815-
if (CodeCache::low_bound() <= pc && pc < CodeCache::high_bound()) {
2816-
return topLevelExceptionFilter(exceptionInfo);
2817-
}
2818-
2819-
// If the exception occurred in the codeCache, pass control
2820-
// to our normal exception handler.
2821-
CodeBlob* cb = CodeCache::find_blob(pc);
2822-
if (cb != nullptr) {
2823-
return topLevelExceptionFilter(exceptionInfo);
2824-
}
2825-
2826-
return EXCEPTION_CONTINUE_SEARCH;
2801+
return topLevelExceptionFilter(exceptionInfo);
28272802
}
28282803
#endif
28292804

0 commit comments

Comments
 (0)