> 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

Reply via email to