RFR 8218612 [lworld] C1 support for array covariance for aastore
Tobias Hartmann
tobias.hartmann at oracle.com
Fri Feb 8 08:12:52 UTC 2019
Hi Ioi,
On 08.02.19 08:47, Ioi Lam wrote:
> 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?
I wonder if you shouldn't use "visitor->do_temp" here?
> 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.
Okay, we are getting there. Great work!
Best regards,
Tobias
More information about the valhalla-dev
mailing list