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
