[lworld] Integrated: 8369530: [lworld] Improve execution time of compiler tests

Damon Fenacci dfenacci at openjdk.org
Wed Oct 29 12:13:00 UTC 2025


On Tue, 28 Oct 2025 10:41:52 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

This pull request has now been integrated.

Changeset: cf32b275
Author:    Damon Fenacci <dfenacci at openjdk.org>
URL:       https://git.openjdk.org/valhalla/commit/cf32b2750cb3ccbb33c2d63868d47c69610b8882
Stats:     958 lines in 12 files changed: 929 ins; 0 del; 29 mod

8369530: [lworld] Improve execution time of compiler tests

Reviewed-by: mhaessig, thartmann, chagedorn

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

PR: https://git.openjdk.org/valhalla/pull/1708


More information about the valhalla-dev mailing list