RFR 8218612 [lworld] C1 support for array covariance for aastore

Ioi Lam ioi.lam at oracle.com
Fri Feb 8 07:47:56 UTC 2019

Hi Tobias,

Thanks for the review, and the fixes in the test cases. I've pushed the fix.

The re-enabled tests did find a bug in my earlier aaload code -- the 
call to Runtime1::load_flattened_array() would scratch the RAX register. 
If RAX was allocated for some other value, I need to tell the register 
allocator to move the value to somewhere else. See


Is this the correct way?

A few test cases still fail with C1, and I have to disable them like this:

jtreg -vmoptions:'-XX:+EnableValhallaC1' -Dtest.c1=true \
   $(grep -l @test *.java \
       | grep -v TestNullableValueTypes.java \
       | grep -v TestLWorld.java)
jtreg -vmoptions:'-XX:+EnableValhallaC1' -Dtest.c1=true -DExclude=test14 
jtreg -vmoptions:'-XX:+EnableValhallaC1' -Dtest.c1=true 
-DExclude=test37,test38,test45 TestLWorld.java

But these seem to be unrelated to aaload/aastore, so I'll fix them in a 
separate changeset.


- Ioi

On 2/7/19 4:07 AM, Tobias Hartmann wrote:
> Hi Ioi,
> looks good to me.
> I'll re-enable the array covariance tests with JDK-8218614 once the verifier fix is in.
> Best regards,
> Tobias
> On 07.02.19 12:27, Ioi Lam wrote:
>> https://bugs.openjdk.java.net/browse/JDK-8218612
>> http://cr.openjdk.java.net/~iklam/valhalla/8218612-cov-aastore.v01/
>> The changes are essentially the same as my previous changes for aaload.
>> Thanks
>> - Ioi

More information about the valhalla-dev mailing list