RFR 8225371 [lworld][c1] TestLWorld.java fails with -DVerifyVM=true

Tobias Hartmann tobias.hartmann at oracle.com
Thu Jun 20 12:18:43 UTC 2019

Hi Ioi,

looks good.

Best regards,

On 20.06.19 07:57, Ioi Lam wrote:
> https://bugs.openjdk.java.net/browse/JDK-8225371
> http://cr.openjdk.java.net/~iklam/valhalla/8225371-TestLWorld-VerifyVM.v01/
> This failure is caused by the incorrect implementation of type info
> merging for Phi nodes introduced by JDK-8214742.
> Type info merging was necessary at that time because it wasn't possible
> to distinguish between flattened vs non-flattened arrays. However, that's
> no longer the case since the introduction of ArrayStorageProperties in
> JDK-8222525.
> If we keep the type info merging code (and fix it properly), it might
> benefit code pattern like this:
>     Point arr[] = cond ? arr1 : arr2;
>      arr[0] = point;
> (If we don't preserve the type info in the Phi node, the aastore would
> treat the array as an Object[] and will take the slow path for storing
> the value.)
> However, it's unclear how important this case is. Let's remove the merging
> code for now to minimize the difference with the mainline repo.

More information about the valhalla-dev mailing list