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