Hi everyone,

The test `InlineTypeDensity.java` builds on incorrect assumptions that a null 
restricted non-atomic value class is identical to a primitive type, which is 
not necessarily the case. For example, the first element of an array has to be 
aligned to 64 bits, while in a primitive type it does not. With COH enabled, 
this causes the test to fail, as the value class becomes bigger than its 
primitive equivalent.

I have reworked this test to instead check that everything is flattened as 
expected, and that the alignment of the first element is correctly 64 bits. 
With these changes, I have also removed `vm.flagless` which makes us able to 
run this test in more configurations.

Testing:
- Tiers 1-3
- Manual runs of the test with different flag combinations.

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

Commit messages:
 - test improvements
 - Merge branch 'lworld' into inlinetypedensitytest-coh-fix
 - Merge branch 'lworld' into inlinetypedensitytest-coh-fix
 - test for array flattening and alignment
 - reworked InlineTypeDensity

Changes: https://git.openjdk.org/valhalla/pull/2295/files
  Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=2295&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8379614
  Stats: 97 lines in 1 file changed: 23 ins; 47 del; 27 mod
  Patch: https://git.openjdk.org/valhalla/pull/2295.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/2295/head:pull/2295

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

Reply via email to