JEP draft: JEP XXX: Remove the 32-bit x86 Port

OwnerAleksey Shipilev
TypeFeature
ScopeImplementation
StatusDraft
Componenthotspot / other
EffortM
DurationM
Relates toJEP 501: Deprecate the 32-bit x86 Port for Removal
Created2024/11/28 09:59
Updated2024/12/05 08:32
Issue8345168

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

Non-Goals

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.