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.
Thanks,
Vladimir
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