RFR: 8139042: AARCH64: Correct regression introduced by 8080293

Andrew Dinn adinn at redhat.com
Wed Oct 7 11:45:14 UTC 2015

Oops. forgot to copy to aarch64-port-dev

n.b. the patch is against the latest jdk9/hs--comp

-------- Forwarded Message --------
Subject: RFR: 8139042: AARCH64: Correct regression introduced by 8080293
Date: Wed, 7 Oct 2015 12:25:35 +0100
From: Andrew Dinn <adinn at redhat.com>
To: hotspot compiler <hotspot-compiler-dev at openjdk.java.net>

Could two reviewers please review this AArch64 only patch.


The fix for issue JDK-8080293 (AARCH64: Remove unnecessary dmbs from
generated CAS code) inadvertently disabled one step of the optimization
process for unsafe volatile object gets. The result is that unsafe
volatile get is successfully translated to ldar but generation of the
trailing dmb ishld instruction is not inhibited.

The patch for 8080293 extended predicate unnecessary_acquire to check
for a MemBarAcquire associated with a CompareAndSwapX node. In doing so
it changed the logic of a sanity check for MemBarAcquire introdcued as
part of an unsafe volatile get. The patch modified the code to
conditionally return true instead of return false. However the condition
retained the original != where it should have employed ==.


Andrew Dinn
Senior Principal Software Engineer
Red Hat UK Ltd
Registered in UK and Wales under Company Registration No. 3798903
Directors: Michael Cunningham (USA), Matt Parson (USA), Charlie Peters
(USA), Michael O'Neill (Ireland)

More information about the hotspot-compiler-dev mailing list