[aarch64-port-dev ] RFR: backport volatile put/get and CAS optimization to JDK8

Edward Nevill edward.nevill at gmail.com
Tue Oct 13 15:19:21 UTC 2015


On Thu, 2015-10-08 at 17:11 +0100, Andrew Dinn wrote:
> Ed, would you be able to check that jcstress works fine on other hardware?
> 
> *** GC configs are
>     -XX:+UseConcMarkSweepGC -XX:+UseCondCardMark
>     -XX:+UseConcMarkSweepGC -XX:-UseCondCardMark
>     -XX:+UseG1GC
>     -XX:+UseParallelGC -XX:+UseCondCardMark
>     -XX:+UseParallelGC -XX:-UseCondCardMark

All 5 configs tested fine on Cavium ThunderX.

For the -XX:+UseG1GC run I had to use the following patch as well

--- CUT HERE ---
diff -r 2e58b602c89b src/share/vm/gc/g1/g1CodeCacheRemSet.cpp
--- a/src/share/vm/gc/g1/g1CodeCacheRemSet.cpp	Tue Sep 08 14:08:58 2015 +0100
+++ b/src/share/vm/gc/g1/g1CodeCacheRemSet.cpp	Tue Sep 15 08:06:31 2015 +0000
@@ -197,7 +197,9 @@
 }
 
 void G1CodeRootSet::allocate_small_table() {
-  _table = new CodeRootSetTable(SmallSize);
+  CodeRootSetTable* temp = new CodeRootSetTable(SmallSize);
+
+  OrderAccess::release_store_ptr(&_table, temp);
 }
 
 void CodeRootSetTable::purge_list_append(CodeRootSetTable* table) {
--- CUT HERE ---

Should this be backported as well.

Your patch is for jdk8, are we developing on jdk8 or jdk8u now?

All the best,
Ed.




More information about the aarch64-port-dev mailing list