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`.

Thank you for working on this!

> 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.

My opinion is that we would lose quite a bit of test coverage w/o preview if we 
get rid of GCBasher. I think I'd like to see both, at least over a 
transitionary period.

> keep old version of gcbahser

I think this would be the pragmatic choice. However, we should probably 
introduce a comment in both source files indicating that they are mirrored.

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

PR Review: 
https://git.openjdk.org/valhalla/pull/2215#pullrequestreview-4013062198

Reply via email to