RFR (S): JDK-8172434: CompareAndExchangeObject inserts two pre-barriers

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue Feb 14 00:41:23 UTC 2017

Looks good.


On 2/13/17 1:11 PM, Roman Kennke wrote:
> in LibaryCallKit::inline_unsafe_access(), the pre_barrier() gets
> inserted twice for LS_cmp_exchange, in one case it is treated like the
> other CAS instructions, and at the end it is treated like get_and_set.
> It's not causing incorrect behaviour, but might impact performance.
> The fix is to leave out the 2nd pre-barrier for CAE by checking for
> get_and_set.
> Testing: jcstress
> http://cr.openjdk.java.net/~rkennke/fix-cae-prebarrier/webrev.01/
> Roman

More information about the hotspot-compiler-dev mailing list