RFR: 8317132: Prepare HotSpot for permissive- [v13]

David Holmes dholmes at openjdk.org
Thu Nov 2 06:26:03 UTC 2023


On Thu, 2 Nov 2023 05:54:31 GMT, Julian Waters <jwaters at openjdk.org> wrote:

>> Prepare HotSpot for the permissive- Visual C++ flag, this change contains all of the fixes required for HotSpot to compile under the stricter mode activated when the permissive- flag is passed
>> 
>> - Reworks code in topLevelUnhandledExceptionFilter for os_windows.cpp to avoid goto jumping across uninitialized locals
>> - Adds a CAST_FROM_FN_PTR cast to the return value from ::signal to void, as they cannot be implicitly converted
>> - symbolengine.cpp's SimpleBufferWithFallback's templates cannot work with a raw char (Actual fix under discussion)
>> - Removed a throw() specification from a mismatched definition in allocation.cpp
>
> Julian Waters has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Revert goto in os_windows.cpp

Changes requested by dholmes (Reviewer).

src/hotspot/os/windows/os_windows.cpp line 2913:

> 2911: LONG WINAPI topLevelUnhandledExceptionFilter(struct _EXCEPTION_POINTERS* exceptionInfo) {
> 2912:   if (InterceptOSException) return previousUnhandledExceptionFilter ? previousUnhandledExceptionFilter(exceptionInfo) : EXCEPTION_CONTINUE_SEARCH;
> 2913:   DWORD exceptionCode = exceptionInfo->ExceptionRecord->ExceptionCode;

I though there was agreement to use the simple and obvious:

if (!InterceptOSException) {
...
}
return ...;

-------------

PR Review: https://git.openjdk.org/jdk/pull/15955#pullrequestreview-1709527123
PR Review Comment: https://git.openjdk.org/jdk/pull/15955#discussion_r1379643471


More information about the build-dev mailing list