RFR: Revert "Handle missing ShenandoahWriteBarrierRB case"
Aleksey Shipilev
shade at redhat.com
Thu Aug 2 13:43:46 UTC 2018
This reverts recent change:
http://hg.openjdk.java.net/shenandoah/jdk/rev/1440d2adbc8f
It does not violate correctness, but has impact on Traversal performance. Traversal runs with
-ShenandoahWriteBarrierRB to avoid resolves on evacuation_not_in_progress path. Doing the same on
evacuation_in_progress path makes us go to evacuation stub unnecessarily, because we never discover
the forwarded object and in-cset test always succeeds.
diff -r 75a644780460 src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp
--- a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Wed Aug 01 16:05:54 2018 +0200
+++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Thu Aug 02 15:39:06 2018 +0200
@@ -2820,18 +2820,12 @@
IdealLoopTree *loop = phase->get_loop(c);
-
- Node* rbtrue;
- if (ShenandoahWriteBarrierRB) {
- rbtrue = new ShenandoahReadBarrierNode(c, wb_mem, val);
- phase->register_new_node(rbtrue, c);
- } else {
- rbtrue = val;
- }
+ Node* rbtrue = new ShenandoahReadBarrierNode(c, wb_mem, val);
+ phase->register_new_node(rbtrue, c);
Node* in_cset_fast_test_failure = NULL;
in_cset_fast_test(c, rbtrue, raw_mem, wb_mem, region, val_phi, mem_phi, raw_mem_phi, phase);
// The slow path stub consumes and produces raw memory in addition
Testing: tier1_gc_shenandoah
-Aleksey
More information about the shenandoah-dev
mailing list