[lworld] Integrated: 8327257: [lworld] Tests are needed to stress class preloading with concurrent class loadings

Paul Hübner phubner at openjdk.org
Wed Sep 10 15:29:14 UTC 2025


On Mon, 8 Sep 2025 14:37:22 GMT, Paul Hübner <phubner at openjdk.org> wrote:

> Hi all,
> 
> This change strengthens our Valhalla-specific classloading test suite and guards against regressions. An overview of the new changes is as follows:
> * `BigClassTreeClassLoader`: a utility classloader that generates huge class trees on the fly. The idea is to generate a tree that is deep (lots of parent classes) and very wide (classes have lots of value classes as fields, which have value class fields, etc.). 
> * `ConcurrentClassLoadingTest` strains the classloading and preloading by classloading many classes at the same time.
> * `LoadableDescriptorsTest` ensures that the `LoadableDescriptors` attribute can handle unexpected data. This may need to be revisited if https://bugs.openjdk.org/browse/JDK-8366907 changes the semantics.
> * `PreLoadCircularityTest` ensures that preloading happens even when there are cycles (via inheritance, fields, and both). 
> * `PreLoadDoesNotInitTest` is a regression test that ensures preloading will not initialize a class.
> * `PreLoadFailuresDoNotImpactApplicationTest` ensures that a flaky classloader during preloading will not cause crashes as long as the classloader can find the class when it is actually used.
> * `ValueClassInheritanceTest` is a regression test that ensures one cannot have a value class inherit from something that's not an abstract value class.

This pull request has now been integrated.

Changeset: 092078eb
Author:    Paul Hübner <phubner at openjdk.org>
Committer: David Simms <dsimms at openjdk.org>
URL:       https://git.openjdk.org/valhalla/commit/092078eba98b476a32a9c43124399771e96bd81a
Stats:     893 lines in 11 files changed: 893 ins; 0 del; 0 mod

8327257: [lworld] Tests are needed to stress class preloading with concurrent class loadings

Reviewed-by: dsimms

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

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


More information about the valhalla-dev mailing list