RFR(M): 8154736: enhancement of cmpxchg and copy_to_survivor for ppc64

Michihiro Horie HORIE at jp.ibm.com
Mon Apr 23 10:33:59 UTC 2018

Dear all,

I would like to ask reviews on 8154736 “enhancement of cmpxchg and
copy_to_survivor”. The change adds options to avoid expensive syncs with
compare-and-exchange. An experiment by using SPECjbb2015 showed 6%
improvement in critical-jOPS. This change focuses on ppc64 but would be
potentially beneficial for aarch64.

Although discussions stopped at
, I would like to restart the review by taking over Hiroshi's work if the
discussion is still open.

Bug: https://bugs.openjdk.java.net/browse/JDK-8154736
Webrev: http://cr.openjdk.java.net/~mhorie/8154736/webrev.08/

Previous review had discussions on improper log output (
). Logs can be generated properly with this change, but I would like to ask
if we should use “if(log) OrderAccess:acquire()” as is in webrev or more
general approach with a call to OrderAccess:consume() with empty
implementation on all supported platforms.

Also, there were discussions on the problem of unawareness of copied obj (
). This change adds “release” in cmpxchg_pre_membar. This was discussed in

I measured SPECjbb2015 with its multi JVMs mode on a POWER8 node (for JDK11
, I modified MANIFEST in specjbb2015.jar to specify locations of JAXB
related libraries). As a result, critical-jOPS improved by 6% due to this

Best regards,
IBM Research - Tokyo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20180423/6a4d8f1e/attachment.htm>

More information about the hotspot-gc-dev mailing list