RFR(S): 8155729: C2: Skip transformation of LoadConP for heap-based compressed oops

Doerr, Martin martin.doerr at sap.com
Fri Apr 29 14:06:19 UTC 2016


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:

Please review. I will also need a sponsor, please.

Best regards,

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20160429/dbee2d4c/attachment-0001.html>

More information about the hotspot-compiler-dev mailing list