RFR: 8342769: HotSpot Windows/gcc port is broken [v9]

David Holmes dholmes at openjdk.org
Mon Dec 9 02:05:52 UTC 2024


On Fri, 6 Dec 2024 08:16:31 GMT, Julian Waters <jwaters at openjdk.org> wrote:

>> Sorry still struggling to understand what os+cpu combinations will cause this code to be compiled. If not ARM64 and not x64 then where are the definitions for things like `float_sign_mask` used by this seemingly shared code?
>
> float_sign_mask and friends are only used by Windows ARM64, in the workaround for the Windows CRT bug (I do wish we could get rid of it though!). If looked at closely, the workaround that uses float_sign_mask and friends is only compiled when !X86 && _WIN64, which means Windows ARM64. To simplify:
> 
> - All x86 platforms, including x64, use handwritten assembly, so doesn't use float_sign_mask and friends
> - Windows ARM64 uses float_sign_mask and friends, as it has to use the workaround
> - All other platforms simply directly call fmod without using float_sign_mask and friends at all, so there is no definition for those platforms

So why does the _M_ARM64 block  not cover all of this code instead of it appearing to be used by other platforms, when it isn't?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/21627#discussion_r1875173544


More information about the hotspot-dev mailing list