AOT code JEP text updated

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Oct 9 22:11:51 UTC 2025


Thank you, John

The text looks very good now for me.

Vladimir K

On 10/9/25 12:57 PM, John Rose wrote:
> Thanks Vladimir. I have incorporated all of your suggestions. It’s much punchier, except for the Alternatives section.
> 
> https://openjdk.org/jeps/8335368
> 
> On Oct 7, 2025, at 9:50 AM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
> 
> Thank you, John, for working on it.
> 
>> This will greatly reduce the initial load on the JIT compiler, reducing its interference with the application, in configurations with fewer cores.
> 
> May be: "reducing its interference with the application during startup, particularly in configurations with fewer cores."
> 
> ---
> 
> I agree that `(Delete this digression?)` should be removed. It describes how JIT compiler works. May be put it into wiki when you have time: https://wiki.openjdk.org/display/HotSpot/Compiler
> 
> ----
> 
> Description
> 
>> Even when peak performance requires additional JIT activity (to generate T4 code),
> 
> T4 is unknown. May be "new optimized code"?
> 
>> (If you run a typical Java application with the option -XX:+PrintCompilation, and search for the string “made not entrant”, you will see many instances of the JIT replacing methods.)
> 
> It is too specific for this JEP. I don't think we need it.
> 
> May be also mention that we record execution environment during training run (CPU's features, VM's flags) and compare them with environment during production run and completely discard AOT code if they don't match.
> 
> ---
> 
> AOT code implementation details
> 
> I think it should be moved to Implementation RFE. It is too technical for JEP.
> 
>> The AOT code tier A3 works the same as the JIT tier T3: It runs at a low optimization level, but collects the same kind of profile information that the VM interpreter gathers.
> 
> We don't cache T3.
> 
> ----
> Alternatives
> 
>> Since AOT code can be loaded immediately on startup, it might seem that profiles in the AOT cache (added by JEP 515) are now useless. But they still have their role, when AOT code is replaced by the JIT.
> 
> As you mention in previous text, profiles trigger AOT code (A4) loading when all referenced in code classes are initialized. So you can't say that AOT profiles are useless for AOT code.
> 
> 
> Thanks,
> Vladimir K



More information about the leyden-dev mailing list