RFR(S): 8158260: PPC64: unaligned Unsafe.getInt can lead to the generation of illegal instructions

Tiago Daitx tiago.daitx at canonical.com
Tue Jun 21 16:34:54 UTC 2016


I have seen this fix being applied to OpenJDK 9. As Gustavo said, it
applies cleanly to jdk8u as well and would be great to have that fix
there. Is there any plan to backport it?


On Thu, Jun 16, 2016 at 12:02 PM, Lindenmaier, Goetz
<goetz.lindenmaier at sap.com> wrote:
> Hi Volker,
> I've looked at the change, it's fine.  Thanks for fixing this.
> Best regards,
>   Goetz.
>> -----Original Message-----
>> From: ppc-aix-port-dev [mailto:ppc-aix-port-dev-
>> bounces at openjdk.java.net] On Behalf Of Volker Simonis
>> Sent: Dienstag, 14. Juni 2016 20:12
>> To: hotspot compiler <hotspot-compiler-dev at openjdk.java.net>; ppc-aix-
>> port-dev at openjdk.java.net; aarch64-port-dev at openjdk.java.net
>> Cc: Hiroshi H Horii <HORII at jp.ibm.com>; Gustavo Romero
>> <gromero at linux.vnet.ibm.com>
>> Subject: RFR(S): 8158260: PPC64: unaligned Unsafe.getInt can lead to the
>> generation of illegal instructions
>> Hi,
>> can I please get a review for this small change which fixes a code
>> generation problem on ppc64:
>> http://cr.openjdk.java.net/~simonis/webrevs/2016/8158260/
>> https://bugs.openjdk.java.net/browse/JDK-8158260
>> In the case where we access an unaligned address trough Unsafe, we
>> could generate an illegal instruction because we didn't correctly
>> specify the memory operand of some match rules. The fix is trivial.
>> Although this change is ppc64-specific I think I need a sponsor
>> because the change contains a new regression test which is supposed to
>> run on all platforms.
>> On platforms where Unsafe.unalignedAccess() will return false (e.g.
>> Solaris/SPARC) this test will return immediately (and I've verified
>> that it works).
>> I've also added aarch64 to the list of recipients because on aarch64
>> Unsafe.unalignedAccess() is apparently supported and it would be nice
>> if somebody could check that the new regression test is indeed working
>> there.
>> @Hiroshi, Gustavo: could you please verify that this change is enough
>> to fix the initial problems you've observed when running Cassandra on
>> Linux/ppc64? The changes from ppc64.ad should easily apply to the
>> 8u-dev repository. Once we've got this into jdk9 I'll trigger a
>> downport request to get the fix into jdk8 as well.
>> Thank you and best regards,
>> Volker

Tiago Stürmer Daitx
Software Engineer
tiago.daitx at canonical.com

PGP Key: 4096R/F5B213BE (hkp://keyserver.ubuntu.com)
Fingerprint = 45D0 FE5A 8109 1E91 866E  8CA4 1931 8D5E F5B2 13BE

More information about the hotspot-compiler-dev mailing list