RFR(S): 8158260: PPC64: unaligned Unsafe.getInt can lead to the generation of illegal instructions
gromero at linux.vnet.ibm.com
Wed Jun 15 20:16:15 UTC 2016
Thank you very much for all the help.
I also confirm that the change is enough to fix
the initial problem on Cassandra test suite on Linux/PPC64 LE.
Just as reference I provide the Cassandra test suite log .
The change applies clean to jdk8u-dev and jdk8u as well.
http://hg.openjdk.java.net/jdk8u/jdk8u-dev 37bd26595d99 tip
http://hg.openjdk.java.net/jdk8u/jdk8u-dev/hotspot cf1faa9100dd tip
http://hg.openjdk.java.net/jdk8u/jdk8u/ 37bd26595d99 tip
http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot b857e4abb00c tip
On 14-06-2016 15:12, Volker Simonis wrote:
> 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