RFR(S): 8222738: Shenandoah: assert(is_Proj()) failed when running cometd benchmarks
Roland Westrelin
rwestrel at redhat.com
Fri May 3 12:59:47 UTC 2019
Thanks for the review. Actually, I think it's safer to also make the
change below because we want to clone everything that's between the call
and the fallthrough/exception paths, that is everything with a control
of: the call itself or its control projection.
Roland.
diff -r f0739ec84bb4 -r 9968255985be src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp
--- a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Thu Apr 11 12:00:33 2019 +0200
+++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Thu May 02 20:47:23 2019 +0200
@@ -1362,7 +1362,7 @@
if (idx < n->outcnt()) {
Node* u = n->raw_out(idx);
Node* c = phase->ctrl_or_self(u);
- if (c == ctrl) {
+ if (phase->is_dominator(call, c) && phase->is_dominator(c, projs.fallthrough_proj)) {
stack.set_index(idx+1);
assert(!u->is_CFG(), "");
stack.push(u, 0);
More information about the hotspot-compiler-dev
mailing list