[14] RFR(S): 8233656: assert(d->is_CFG() && n->is_CFG()) failed: must have CFG nodes
Tobias Hartmann
tobias.hartmann at oracle.com
Mon Nov 11 08:03:35 UTC 2019
Hi Vladimir,
thanks for the review.
On 09.11.19 13:38, Vladimir Ivanov wrote:
> Can you just check control for TOP instead?
In the failing case, the control input is not TOP but it's a ProjNode with a TOP input. We hit the
assert because the is_CFG() method returns false for these:
https://hg.openjdk.java.net/jdk/jdk/file/47c20fc6a517/src/hotspot/share/opto/multnode.cpp#l83
Or do you mean checking ctl->in(0) for TOP?
> Also, is it worth putting an assert to ensure the node is already on worklist and will be eventually
> eliminated?
I don't think it's worth it. Since 8040213 [1] we have code that ensures that all modified nodes are
added to the worklist (see Compile::record_modified_node()). I've verified that the ProjNode with
TOP input is covered by that.
Best regards,
Tobias
[1] https://bugs.openjdk.java.net/browse/JDK-8040213
More information about the hotspot-compiler-dev
mailing list