RFR: 8139042: AARCH64: Correct regression introduced by 8080293
adinn at redhat.com
Wed Oct 7 11:25:35 UTC 2015
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 ==.
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