RFR(S): 8155729: C2: Skip transformation of LoadConP for heap-based compressed oops
Vladimir Kozlov
vladimir.kozlov at oracle.com
Fri Apr 29 17:05:14 UTC 2016
Looks good to me. We need corresponding changes in our closed code too.
Thanks,
Vladimir
On 4/29/16 7:06 AM, Doerr, Martin wrote:
> Hi,
>
>
>
> I have opened a new bug for the proposal which was discussed in thread 8154826.
>
> The summary is:
>
>
>
> C2's final graph reshaping performs the following transformation:
>
> Original pattern: LoadConP + Storage access
>
> Transformed pattern: LoadConN + DecodeN heap-based + Storage access
>
>
>
> This seems to be fine for simpler compressed oops mode. It also seems to be fine on x86 which can match the decoding
> into the operand of the Storage access instruction.
>
>
>
> Other platforms should better skip the transformation:
>
> -PPC can load the ConP from constant pool. Decoding takes a lot of instructions, because the heap base needs to get loaded.
>
> -SPARC can use that as well.
>
> -aarch64: LoadConN+DecodeN has a higher latency than LoadConP.
>
>
>
> We can always skip the transformation in heap-based compressed klass mode. Matching DecodeNKlass as operand is currently
> not implemented.
>
>
>
> Webrev is here:
>
> http://cr.openjdk.java.net/~mdoerr/8155729_LoadConP/webrev.00/
>
>
>
> Please review. I will also need a sponsor, please.
>
>
>
> Best regards,
>
> Martin
>
>
>
More information about the hotspot-compiler-dev
mailing list