-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Closed
Description
TL;DR
Historically, the native image generator parsed the bytecode of each method (at least) twice: once for static analysis, and then again for AOT compilation. This limits the amount of optimizations that can be performed before the static analysis runs. Bytecode should be parsed only once before static analysis.
Goals
- Enable the option
-H:+ParseOnce
in all configurations, and then remove the option completely. - Enable optimizations that depend on "parse once", like method inlining before static analysis, also for images contain Truffle languages.
Details
Parsing the bytecode only once is already available and the default for most native images: only when the native image uses JIT compilation and deotimization, i.e., only when a Truffle language is included in the image, bytecode is still parsed multiple times. Fixing this requires a significant re-work of how the image generator handles JIT compilation and deoptimization.
sschuberthsureshg
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Released