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
