RFR: 8345169: Implement JEP XXX: Remove the 32-bit x86 Port
David Holmes
dholmes at openjdk.org
Fri Jan 10 07:21:42 UTC 2025
On Thu, 9 Jan 2025 09:36:07 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
>> Hmmm ... okay ... I see something "special" is done only on x86_32, but what is done seems to have nothing to do with x87 code.
>>
>> Just to be clear these Java methods still get intrinsified, it is just handled in a different way - right?
>
> It *is* about x87 handling of NaNs, a common problem for x86_32 code in Hotspot, you can read about this mess in [JDK-8076373](https://bugs.openjdk.org/browse/JDK-8076373), if you are interested. If we allow to use native implementations of these conversion methods, we get into trouble with NaNs. What these interpreter intrinsics do on x86_32: going for SSE if available, thus avoiding x87. Since this is a correctness problem, these intrinsics go all the way down to interpreter as well. There is still a gaping hole when SSE is not available, but then we have no choice than to use x87 and have all the relevant issues.
>
> But all of this is only a headache for x86_32, all other platforms do not have these interpreter intrinsics implemented. With x86_32 going away, we can finally yank these and relevant scaffolding out.
>
> The C1/C2 intrinsics are still up and enabled for supported platforms: those are for performance :)
Okay now I get. Thanks
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/22567#discussion_r1909928264
More information about the shenandoah-dev
mailing list