> 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`.
Leonid Mesnik has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision: - updated gcbasher to use annotation for value classes - Merge branch 'lworld' of https://github.com/openjdk/valhalla into 8379695 - 8379695: [lworld] Update GCBasher to use value classes ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/2215/files - new: https://git.openjdk.org/valhalla/pull/2215/files/eadce055..00b0df94 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=2215&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=2215&range=00-01 Stats: 813460 lines in 5049 files changed: 415902 ins; 347235 del; 50323 mod Patch: https://git.openjdk.org/valhalla/pull/2215.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/2215/head:pull/2215 PR: https://git.openjdk.org/valhalla/pull/2215
