RFR: 8355003: Implement JEP 515: Ahead-of-Time Method Profiling [v19]
Ioi Lam
iklam at openjdk.org
Tue May 13 23:15:57 UTC 2025
On Tue, 13 May 2025 22:40:42 GMT, Igor Veresov <iveresov at openjdk.org> wrote:
>> Improve warm-up time by making profile data from a previous run of an application instantly available, when the HotSpot Java Virtual Machine starts. Specifically, enhance the [AOT cache](https://openjdk.org/jeps/483) to store method execution profiles from training runs, reducing profiling delays in subsequent production runs.
>>
>> More details in the JEP: https://bugs.openjdk.org/browse/JDK-8325147
>
> Igor Veresov has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 82 commits:
>
> - Merge branch 'master' into pp2
> - Address Ioi's comments
> - 8356885: Don't emit C1 profiling for casts if TypeProfileCasts is off
>
> Reviewed-by: vlivanov, kvn
> - 8352755: Misconceptions about j.text.DecimalFormat digits during parsing
>
> Reviewed-by: naoto
> - 8356667: GenShen: Eliminate races with ShenandoahFreeSet::available()
>
> Reviewed-by: wkemper
> - 8356819: [macos] MacSign should use "openssl" and "faketime" from Homebrew by default
>
> Reviewed-by: asemenyuk
> - 8356107: [java.lang] Use @requires tag instead of exiting based on os.name or separatorChar property
>
> Reviewed-by: naoto, bpb
> - 8356447: Change default for EagerJVMCI to true
>
> Reviewed-by: yzheng, kvn, never
> - 8351415: (fs) Path::toAbsolutePath should specify if an absolute path has a root component
>
> Reviewed-by: alanb
> - 8356551: Javac rejects receiver parameter in constructor of local class in early construction context
>
> Reviewed-by: mcimadamore
> - ... and 72 more: https://git.openjdk.org/jdk/compare/10dcdf1b...1669f900
test/hotspot/jtreg/runtime/cds/appcds/aotProfile/AOTProfileFlags.java line 115:
> 113:
> 114: out = CDSTestUtils.executeAndLog(pb, "production_failure");
> 115: out.shouldContain("does not equal");
Since all the flags have `Profile` in them, I think we should use this to match the intended output:
String errorPattern = "Profile.* setting .* does not equal the current .*Profile.* setting";
out.shouldNotMatch(errorPattern);
...
out.shouldMatch(errorPattern);
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24886#discussion_r2087753972
More information about the hotspot-dev
mailing list