RFR 8219242 [lworld] C1 aastore on a Phi node needs flattened array check

Tobias Hartmann tobias.hartmann at oracle.com
Tue Feb 19 07:43:59 UTC 2019

Hi Ioi,

I assume the value->type()->is_object() check is to avoid emitting checks when we are storing a
primitive? But what if 'value' has an exact type? For example, it could be java.lang.Integer and in
this case we don't need a flattened array check.

Also, it's confusing that you pass 'x' as value in line 2061.

What if ValueArrayFlatten is disabled? needs_flattened_array_check() would still return true. I
would suggest to move the array->as_Phi check into 'maybe_flattened_array'.

Best regards,

On 18.02.19 16:31, Ioi Lam wrote:
> http://cr.openjdk.java.net/~iklam/valhalla/8219242-aastore-phi-node-needs-flat-check.v01/
> https://bugs.openjdk.java.net/browse/JDK-8219242
> With this fix, all current C1 compiler test cases have passed :-)
> My plan is to now enable the other tests that have been disabled for C1, and keep going ....
> Thanks
> - Ioi

More information about the valhalla-dev mailing list