[lworld] RFR: 8369530: [lworld] Improve execution time of compiler tests [v2]
Christian Hagedorn
chagedorn at openjdk.org
Wed Oct 29 06:46:39 UTC 2025
On Tue, 28 Oct 2025 15:30:49 GMT, Damon Fenacci <dfenacci at openjdk.org> wrote:
>> # Issue
>>
>> Several Valhalla compiler specific tests are slow and this affects the overall execution time of lower tiers.
>> [JDK-8369437](https://bugs.openjdk.org/browse/JDK-8369437) has already improved the situation by splitting multiple @run statements in compiler tests into separate @test blocks for several tests. There are nevertheless still a handful of tests that take up to a dozen minutes to finish.
>>
>> # Cause
>>
>> Most tests affected are using multiple IR-Framework scenarios to start tests with different flags. The tests are started sequentially, adding the execution time of each test. The problem is similar to [JDK-8369437](https://bugs.openjdk.org/browse/JDK-8369437) but at IR-Framework level.
>>
>> # Fix
>>
>> We can parallelize the execution of scenarios similar to what has been done in the [fix](https://github.com/openjdk/valhalla/pull/1681/files) for [JDK-8369437](https://bugs.openjdk.org/browse/JDK-8369437). Unfortunately the IR-Framework doesn't allow tests to be run on different machines and there is no simple way to make it interact with JTReg in that way. So, as a provisional and minimalistic solution, scenarios are added and started one by one and run by individual JTReg `@test` entries.
>>
>> # Testing
>>
>> Tier 1-3
>> Worst-time compiler/valhalla JTReg tests went from 16min to <2min
>
> Damon Fenacci has updated the pull request incrementally with one additional commit since the last revision:
>
> JDK-8369530: remove import
Looks good, thanks for taking care of that!
test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestAllocationMergeAndFolding.java line 122:
> 120: framework.addScenarios(new Scenario(7, "--enable-preview", "-XX:-UseCompressedOops"));
> 121: } else {
> 122: framework.addScenarios(new Scenario(8, "--enable-preview", "-XX:+UseCompressedOops"));
Indentation is too big:
Suggestion:
framework.addScenarios(InlineTypes.DEFAULT_SCENARIOS[index]);
} else if (index == 7) {
framework.addScenarios(new Scenario(7, "--enable-preview", "-XX:-UseCompressedOops"));
} else {
framework.addScenarios(new Scenario(8, "--enable-preview", "-XX:+UseCompressedOops"));
-------------
Marked as reviewed by chagedorn (Committer).
PR Review: https://git.openjdk.org/valhalla/pull/1708#pullrequestreview-3391878035
PR Review Comment: https://git.openjdk.org/valhalla/pull/1708#discussion_r2471889558
More information about the valhalla-dev
mailing list