RFR: 8268389: [lworld] Tests must be update after core reflection changes for the L/Q model

Frederic Parain fparain at openjdk.java.net
Tue Jun 8 14:36:37 UTC 2021

On Tue, 8 Jun 2021 13:45:52 GMT, Harold Seigel <hseigel at openjdk.org> wrote:

>> Fix all but one test to pass with the new L/Q model and the new core reflection.
>> The failing test, TestIntrinsics.java might be a real VM bug and not a test bug, but it is C2 related.
>> Fred
> test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestIntrinsics.java line 75:
>> 73:         Asserts.assertTrue(test1(MyValue1.class, MyValue1.class), "test1_2 failed");
>> 74:         Asserts.assertTrue(test1(MyValue1.class.asValueType(), MyValue1.class.asValueType()), "test1_3 failed");
>> 75:         Asserts.assertTrue(test1(MyValue1.class.asValueType(), MyValue1.class.asValueType()), "test1_4 failed");
> should the first MyValue1.class.asValueType() in line 75 be MyValue1.class (to match MyValue1.ref.class) ?

MyValue1.class.asValueType() and MyValue1.class are different (secondary mirror vs primary mirror), so changing from MyValue1.class.asValueType() to MyValue1.class would make this line to fail.
However, this line has not been fixed properly (it accidentally duplicates line 74).
Now, I think the right way to fix it is:

Asserts.assertFalse(test1(MyValue1.class, MyValue.class.asValueType()), "test1_4 failed");

The test has to be inverted from assertTrue to assertFalse to verify that the two mirrors are distinct.


PR: https://git.openjdk.java.net/valhalla/pull/437

More information about the valhalla-dev mailing list