RFR: enqueue barrier + some other things

Roland Westrelin rwestrel at redhat.com
Wed Jun 20 14:16:28 UTC 2018


> Ran tier3_gc_shenandoah, and there are multiple failures like:

Fix is below

Roland.

diff --git a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp
--- a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp
+++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp
@@ -3352,7 +3352,7 @@
 }
 
 
-void ShenandoahWriteBarrierNode::test_evacuation_in_progress(Node* ctrl, Node*& raw_mem, Node*& wb_mem,
+void ShenandoahWriteBarrierNode::test_evacuation_in_progress(Node* ctrl, Node*& raw_mem,
                                                              Node*& evac_in_progress, Node*& evac_not_in_progress, Node*& heap_stable,
                                                              PhaseIdealLoop* phase) {
   IdealLoopTree *loop = phase->get_loop(ctrl);
@@ -3727,7 +3727,7 @@
     Node* evac_not_in_progress = NULL;
     Node* heap_stable_ctrl = NULL;
     Node* null_ctrl = NULL;
-    test_evacuation_in_progress(ctrl, raw_mem, evac_in_progress, evac_not_in_progress, heap_stable_ctrl, null_ctrl, phase);
+    test_evacuation_in_progress(ctrl, raw_mem, evac_in_progress, evac_not_in_progress, heap_stable_ctrl, phase);
     IfNode* evacuation_iff = evac_in_progress->in(0)->as_If();
     IfNode* heap_stable_iff = heap_stable_ctrl->in(0)->as_If();
 
diff --git a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp
--- a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp
+++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp
@@ -199,7 +199,7 @@
                                Node*& heap_not_stable, PhaseIdealLoop* phase);
   static void test_evacuation_in_progress(Node* ctrl, Node*& raw_mem,
                                           Node*& evac_in_progress, Node*& evac_not_in_progress,
-                                          Node*& heap_stable, Node*& null_val,
+                                          Node*& heap_stable,
                                           PhaseIdealLoop* phase);
   static void evacuation_not_in_progress(Node* c, Node* v, Node* unc_ctrl, Node* raw_mem, Node* wb_mem, Node* region,
                                          Node* val_phi, Node* mem_phi, Node* raw_mem_phi, Node*& unc_region,


More information about the shenandoah-dev mailing list