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

http://hg.openjdk.java.net/valhalla/valhalla/file/673c89f7f22a/src/hotspot/cpu/x86/c1_CodeStubs_x86.cpp#l174

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 
TestNullableValueTypes.java
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.

Thanks

- 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