Movatterモバイル変換


[0]ホーム

URL:


JEP 410: Remove the Experimental AOT and JIT Compiler

OwnerVladimir Kozlov
TypeFeature
ScopeJDK
StatusClosed / Delivered
Release17
Componenthotspot / compiler
Discussionhotspot dash compiler dash dev at openjdk dot java dot net
EffortS
DurationS
Reviewed byMikael Vidstedt
Created2021/03/10 02:59
Updated2025/07/02 11:59
Issue8263327

Summary

Remove the experimental Java-based ahead-of-time (AOT) and just-in-time (JIT) compiler. This compiler has seen little use since its introduction and the effort required to maintain it is significant. Retain the experimental Java-level JVM compiler interface (JVMCI) so that developers can continue to use externally-built versions of the compiler for JIT compilation.

Motivation

Ahead-of-time compilation (thejaotc tool) was incorporated into JDK 9 as an experimental feature viaJEP 295. Thejaotc tool uses the Graal compiler, which is itself written in Java, for AOT compilation.

The Graal compiler was made available as an experimental JIT compiler in JDK 10 viaJEP 317.

We have seen little use of these experimental features since they were introduced, and the effort required to maintain and enhance them is significant. These features werenot included in the JDK 16 builds published by Oracle, and no one complained.

Description

Remove three JDK modules:

Preserve these two Graal-related source files so that the JVMCI module (jdk.internal.vm.ci,JEP 243) continues to build:

Remove HotSpot code related to AOT compilation:

Finally, remove tests as well as code in makefiles related to Graal and AOT compilation.

Alternatives

Developers who wish to use the Graal compiler for either AOT or JIT compilation can useGraalVM.

Risks and Assumptions

We assume that developers actively using these features have had sufficient notice of this removal.

OpenJDK logo
Installing
Contributing
Sponsoring
Developers' Guide
Vulnerabilities
JDK GA/EA Builds
Mailing lists
Wiki ·IRC
Mastodon
Bluesky
Bylaws ·Census
Legal
Workshop
JEP Process
Source code
GitHub
Mercurial
Tools
Git
jtreg harness
Groups
(overview)
Adoption
Build
Client Libraries
Compatibility & Specification Review
Compiler
Conformance
Core Libraries
Governing Board
HotSpot
IDE Tooling & Support
Internationalization
JMX
Members
Networking
Porters
Quality
Security
Serviceability
Vulnerability
Web
Projects
(overview,archive)
Amber
Babylon
CRaC
Code Tools
Coin
Common VM Interface
Developers' Guide
Device I/O
Duke
Galahad
Graal
IcedTea
JDK 8 Updates
JDK 9
JDK (…,24,25,26)
JDK Updates
JMC
Jigsaw
Kona
Lanai
Leyden
Lilliput
Locale Enhancement
Loom
Memory Model Update
Metropolis
Multi-Language VM
Nashorn
New I/O
OpenJFX
Panama
Penrose
Port: AArch32
Port: AArch64
Port: BSD
Port: Haiku
Port: Mac OS X
Port: MIPS
Port: Mobile
Port: PowerPC/AIX
Port: RISC-V
Port: s390x
SCTP
Shenandoah
Skara
Sumatra
Tsan
Valhalla
Verona
VisualVM
Wakefield
Zero
ZGC
Oracle logo
© 2025 Oracle Corporation and/or its affiliates
Terms of Use · License:GPLv2 ·Privacy ·Trademarks

[8]ページ先頭

©2009-2025 Movatter.jp