On Mon, 18 May 2026 12:44:40 GMT, Vladimir Kozlov <[email protected]> wrote:

>> When running very small Java programs in the AOT training mode, the 3 lambda 
>> expressions in ModuleBootstrap.java are evaluated. However, when running 
>> without the AOT training mode, these lambda expressions are not evaluated.
>> 
>> As a result, the AOT training mode captures a much large profile (due to the 
>> complex implementation of the lambda framework). This causes the AOT cache 
>> of very small Java programs to be much larger than necessary.
>> 
>> The fix is to rewrite these 3 lambda expressions (streams) back to tradition 
>> iterative code (contributed by @AlanBateman)
>> 
>> Changes in ModuleBootstrap.java revealed a bug in 
>> `AOTArtifactFinder::find_artifacts()`: some AOT-initialized classes may be 
>> incorrectly excluded.
>> 
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> Good.
> 
> Does this change performance for small app without AOT?

Thanks @vnkozlov @liach for the review

-------------

PR Comment: https://git.openjdk.org/jdk/pull/31142#issuecomment-4491219186

Reply via email to