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

Daniel Jeliński djelinski at openjdk.org
Wed Oct 4 08:30:38 UTC 2023


On Wed, 4 Oct 2023 04:46:29 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 three additional commits since the last revision:
> 
>  - Initialized thread in os_windows.cpp
>  - Oops in os_windows.cpp
>  - Remove goto in os_windows.cpp

src/hotspot/share/memory/allocation.cpp line 114:

> 112: //
> 113: 
> 114: void* AnyObj::operator new(size_t size, Arena *arena) {

Is this function guaranteed to crash in case of allocation failure? @afshin-zafari removed `throw()` in the header file in 0f51e6326373ff7d4a4d9a0e3a2788401f73405d, but left the one here... should we restore the `throw()` in the header file instead?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/15955#discussion_r1345407175


More information about the hotspot-runtime-dev mailing list