RFR: 8345169: Implement JEP 503: Remove the 32-bit x86 Port [v2]
Magnus Ihse Bursie
ihse at openjdk.org
Mon Mar 10 10:46:55 UTC 2025
On Mon, 10 Mar 2025 09:49:44 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
>> This PR implements JEP 503: Remove the 32-bit x86 Port.
>>
>> The JEP is proposed to target 25, we would not integrate until JEP is ready. Reviews are appreciated meanwhile.
>>
>> This is only the removal of obvious 32-bit x86 parts, mostly files with `x86_32` in their name. Those are only built when build system knows we are compiling for x86_32. There is therefore no impact on x86_64. The approach for removing x86_32 files only also makes this PR borderline trivial, and requires no additional testing beyond normal pre-integration checks.
>>
>> The rest of the code is quite heavily intertwined with x86_64 and/or Zero, and would require accurate untangling. It would be much easier to review and test once we purge the free-standing parts of 32-bit x86 port, which is also a bulk of the port. The tangling with 32-bit x86 Zero is also why I did not touch most of the build system paths that handle x86. There is [JDK-8351148](https://bugs.openjdk.org/browse/JDK-8351148) umbrella that tracks further cleanup work. One can peek the final state that can be reached with all the cleanups in my earlier exploratory https://github.com/openjdk/jdk/pull/22567.
>>
>> Additional testing:
>> - [x] Linux x86_32 Server fastdebug, `make bootcycle-images` (now fails configure)
>> - [x] Linux x86_64 Server fastdebug, `make bootcycle-images` (still works)
>> - [x] Linux x86_32 Zero fastdebug, `make bootcycle-images` (still works)
>> - [x] Linux x86_64 Zero fastdebug, `make bootcycle-images` (still works)
>
> Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:
>
> - Drop commented out block from deprecations
> - Merge branch 'master' into JDK-8345169-32bit-x86-be-gone
> - Generic 32-bit x86 configure error supercedes Windows 32-bit x86
> - 8345169: Implement JEP 503: Remove the 32-bit x86 Port
I don't have a super strong opinion on this. If you want to call this the implementation of JEP 503, I'm fine with that.
I guess it all depends a bit on where you want to draw the line between "removal" and "subsequent cleanups that have now been possible". The latter part almost never ends in a codebase as large as the JDK; I still find Solaris remnants in the code to this day, so getting rid of *all* code that is no longer necessary cannot reasonably be a criterion for finishing a removal.
I guess I just viewed the intertwined ifdef:ed code as more part of the actual removal, but then again, it's Hotspot code and that's strictly really not my business. :-)
-------------
PR Comment: https://git.openjdk.org/jdk/pull/23906#issuecomment-2710148614
More information about the build-dev
mailing list