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

Volker Simonis volker.simonis at gmail.com
Tue Jun 14 18:12:19 UTC 2016


can I please get a review for this small change which fixes a code
generation problem on ppc64:


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

@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,

More information about the hotspot-compiler-dev mailing list