On Wed, 11 Mar 2026 16:45:18 GMT, Leonid Mesnik <[email protected]> wrote:

> The GCbasher si a GC stress test that create a lot of different objects and 
> arrays.
> 
> It would be makes sense to update it to create a lot of different value 
> classes and arrays of value types. It helps to ensure that GC works with 
> different type of classes.
> 
> Please, note that after this fix GCbasher is going to enable preview always. 
> Do we want to keep original test while value classes are still preview 
> feature? 
> I think that it is not needed, however if someone thinks it is good idea, I 
> can add gcbasher-nopreview and keep until we start removing `@enablePreview` 
> from our tests.
> 
> In the long term the problem might be that some structure are flattened, and 
> test start generating less objects. However they are much more diverse now.
> 
> UPDATE. There are 3 possible approaches to maintain value/non-value classes
> 1) keep old version of gcbahser
> 2) keep value/non-value classes in different directories and have 2 tests 
> with different `@compile` commands to choose different files
> 3) add `@ValueClass` annotation and support javac plugin that change value 
> class attribute during compilation. In this case we need to add 'PREVEW_MODE' 
> when tests are compiles with --enable-preview and this pluign.
> 
> The 2) and 3) might work well to maintain value/non-value variants of tests. 
> While it looks overcompilcated for gcbasher. So I prefer to either have 
> 'gcbasher-novalue' or use only variant with `--enable-preview`.

This pull request has now been integrated.

Changeset: 92c5e58f
Author:    Leonid Mesnik <[email protected]>
URL:       
https://git.openjdk.org/valhalla/commit/92c5e58f77951671c5392126be248899befc00f6
Stats:     117 lines in 14 files changed: 14 ins; 45 del; 58 mod

8379695: [lworld] Update GCBasher to use value classes

Reviewed-by: phubner

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

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

Reply via email to