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

Alan Bateman alanb at openjdk.org
Mon Mar 10 09:52:54 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. The JBS issue for that commit was associated with the JEP. There were 150+ follow on issues, some removed essentially dead code, others fixed or removed tests that were excluded by the first commit. It wasn't initially clear if all cleanups and code removal could be done in the same release (JDK 24) but almost all did happen as only a few remaining cleanups to APIs docs spilled over into JDK 25.  Anyway, just pointing out this JEP as an example that may be useful to look at when considering the approach for the 32-bit x86 port removal.

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

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


More information about the build-dev mailing list