[aarch64-port-dev ] RFR: Fix new code for Shenandoah after the 8u171 merge

Aleksey Shipilev shade at redhat.com
Wed Apr 25 07:35:11 UTC 2018


Patch goes to:
  http://hg.openjdk.java.net/aarch64-port/jdk8u-shenandoah/hotspot

The patch itself should be self-obvious:

# HG changeset patch
# User shade
# Date 1524641642 -7200
#      Wed Apr 25 09:34:02 2018 +0200
# Node ID eaa8479dd1580fb4adec2327b5dd367787543a8c
# Parent  db8079be23d714b6ecca31a9f82136f1b29fe5d6
Fix new code for Shenandoah after the 8u171 merge

diff -r db8079be23d7 -r eaa8479dd158 src/share/vm/prims/jvm.cpp
--- a/src/share/vm/prims/jvm.cpp	Tue Apr 24 04:31:20 2018 +0100
+++ b/src/share/vm/prims/jvm.cpp	Wed Apr 25 09:34:02 2018 +0200
@@ -587,7 +587,7 @@
   // If G1 is enabled then we need to register a non-null referent
   // with the SATB barrier.
 #if INCLUDE_ALL_GCS
-  if (UseG1GC) {
+  if (UseG1GC || UseShenandoahGC) {
     oop referent = java_lang_ref_Reference::referent(clone);
     if (referent != NULL) {
       G1SATBCardTableModRefBS::enqueue(referent);
@@ -595,7 +595,7 @@
   }
 #endif // INCLUDE_ALL_GCS
   if ((java_lang_ref_Reference::next(clone) != NULL) ||
-      (java_lang_ref_Reference::queue(clone) == java_lang_ref_ReferenceQueue::ENQUEUED_queue())) {
+      (oopDesc::equals(java_lang_ref_Reference::queue(clone),
java_lang_ref_ReferenceQueue::ENQUEUED_queue()))) {
     // If the source has been enqueued or is being enqueued, don't
     // register the clone with a queue.
     java_lang_ref_Reference::set_queue(clone, java_lang_ref_ReferenceQueue::NULL_queue());

Testing: hotspot_gc_shenandoah

Thanks,
-Aleksey



More information about the aarch64-port-dev mailing list