RFR: 8345169: Implement JEP 503: Remove the 32-bit x86 Port [v2]

Eirik Bjørsnøs eirbjo at openjdk.org
Wed Mar 12 05:51:58 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

> JEP 486 (Permanently Disable the Security Manager) updated the API and removed the ability to set a SecurityManager in a first big commit. [..]  There were 150+ follow on issues

Observation: These JEP 486 follow-on issues served as a nice way for non-experts to contribute with something useful and also to get acquainted with various parts of the OpenJDK code base. Most cleanups followed a predictable pattern, so the implementation work could be distributed also to people not intimately familiar with the particular area without too much risk.

Not sure how well this conveys to JEP 503, but I imagine something similar should be possible.

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

PR Comment: https://git.openjdk.org/jdk/pull/23906#issuecomment-2716580939


More information about the shenandoah-dev mailing list