From a0792ca7fce6e00a77dd480ad455e1171bc7334f Mon Sep 17 00:00:00 2001 From: roland Date: Fri, 5 Dec 2014 18:03:15 +0100 Subject: [PATCH] 8066775: opto/node.hpp:355, assert(i < _max) failed: oob: i=1, _max=1 Summary: bad assumption on graph shape in CastIINode::Value if that part of the graph is becoming dead. Reviewed-by: kvn --- src/share/vm/opto/connode.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/share/vm/opto/connode.cpp b/src/share/vm/opto/connode.cpp index 254852963..fe12b4f49 100644 --- a/src/share/vm/opto/connode.cpp +++ b/src/share/vm/opto/connode.cpp @@ -462,7 +462,8 @@ const Type *CastIINode::Value(PhaseTransform *phase) const { // Try to improve the type of the CastII if we recognize a CmpI/If // pattern. if (_carry_dependency) { - if (in(0) != NULL && (in(0)->is_IfFalse() || in(0)->is_IfTrue())) { + if (in(0) != NULL && in(0)->in(0) != NULL && in(0)->in(0)->is_If()) { + assert(in(0)->is_IfFalse() || in(0)->is_IfTrue(), "should be If proj"); Node* proj = in(0); if (proj->in(0)->in(1)->is_Bool()) { Node* b = proj->in(0)->in(1); -- GitLab