RFR: 8339783: Implement JEP 479: Remove the Windows 32-bit x86 Port [v31]

Thomas Stuefe stuefe at openjdk.org
Thu Nov 7 15:28:05 UTC 2024


On Thu, 7 Nov 2024 12:16:23 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

>> Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Remove FIXME
>
> I really wish we did not mess with `_stdcall` and `_cdecl` in this PR. A future me chasing a bug would be surprised if we broke 64-bit Windows with this "cleanup" PR. I think the PR like this should only carry the changes that are provably, uncontroversially, visibly safe. Everything else that has any chance to do semantic changes, should be done in follow-up PRs, IMO.

@shipilev @magicus Okay but where do we draw the line? Because then we also need to keep the code that takes care of x86 calling convention name mangling.

[Microsoft states](https://learn.microsoft.com/en-us/cpp/cpp/stdcall?view=msvc-170) "On ARM and x64 processors, __stdcall is accepted and *ignored by the compiler*; on ARM and x64 architectures, by convention, arguments are passed in registers 
when possible, and subsequent arguments are passed on the stack."

Similar statements can be found in the MSDN documentation for __cdecl and __fastcall.

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

PR Comment: https://git.openjdk.org/jdk/pull/21744#issuecomment-2462517302


More information about the build-dev mailing list