RFR (S): JDK-8172434: CompareAndExchangeObject inserts two pre-barriers
Roman Kennke
rkennke at redhat.com
Mon Feb 13 21:11:28 UTC 2017
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