JEP draft: JEP XXX: Remove the 32-bit x86 Port
Owner | Aleksey Shipilev |
Type | Feature |
Scope | Implementation |
Status | Draft |
Component | hotspot / other |
Effort | M |
Duration | M |
Relates to | JEP 501: Deprecate the 32-bit x86 Port for Removal |
Created | 2024/11/28 09:59 |
Updated | 2024/12/05 08:32 |
Issue | 8345168 |
Summary
Remove the source code and build support for the 32-bit x86 port. This port was deprecated for removal in JDK 24 with the express intent to remove it in a future release.
Goals
- Remove all code paths that apply only to 32-bit x86.
- Simplify x86 development by focusing on 64-bit only.
- Simplify the JDK's build and test infrastructure.
Non-Goals
-
It is not a goal to remove or change 32-bit support for any other architectures.
-
It is not a goal to remove either code or support for 32-bit x86 in previous releases.
Motivation
The original motivation from JEP 501 applies here as well.
Removing the 32-bit x86 code from the codebase would allow OpenJDK contributors to accelerate the development of new features and enhancements that will move the platform forward.
Description
Since JEP 501 integration in JDK 24, 32-bit x86 port can still be be built, although it is not supported and not guaranteed to perform well.
The bulk of this JEP would be dedicated to finding and removing most, if not all, code paths in the code base that apply to 32-bit x86 only. Given a high cohesion between 32-bit and 64-bit parts in x86-specific code in Hotspot, we expect this to take considerable time and have lots of on-going conflicts with the ever-changing Hotspot code. This is why we start early in JDK 25 timeframe, before large features begin their integrations.
This JEP would modify the JDK build system to remove support for compiling on 32-bit x86 platforms, as well as update the JDK documentation to reflect the removal of 32-bit x86 support. This JEP serves as a vehicle to publicize this change so as to ensure a smooth transition for users and developers.
Risks and Assumptions
The original risks and assumptions from JEP 501 apply here.
We assume JEP 501 gives enough warning window for vendors and users to consider migration paths from 32-bit x86.