comparison src/share/vm/opto/connode.cpp @ 20708:d9e22e15d3f6

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
author roland
date Fri, 05 Dec 2014 18:03:15 +0100
parents 5b8e0f84f00f
children 7848fc12602b
comparison
equal deleted inserted replaced
20707:e3d0aaab84aa 20708:d9e22e15d3f6
460 const Type *res = ConstraintCastNode::Value(phase); 460 const Type *res = ConstraintCastNode::Value(phase);
461 461
462 // Try to improve the type of the CastII if we recognize a CmpI/If 462 // Try to improve the type of the CastII if we recognize a CmpI/If
463 // pattern. 463 // pattern.
464 if (_carry_dependency) { 464 if (_carry_dependency) {
465 if (in(0) != NULL && (in(0)->is_IfFalse() || in(0)->is_IfTrue())) { 465 if (in(0) != NULL && in(0)->in(0) != NULL && in(0)->in(0)->is_If()) {
466 assert(in(0)->is_IfFalse() || in(0)->is_IfTrue(), "should be If proj");
466 Node* proj = in(0); 467 Node* proj = in(0);
467 if (proj->in(0)->in(1)->is_Bool()) { 468 if (proj->in(0)->in(1)->is_Bool()) {
468 Node* b = proj->in(0)->in(1); 469 Node* b = proj->in(0)->in(1);
469 if (b->in(1)->Opcode() == Op_CmpI) { 470 if (b->in(1)->Opcode() == Op_CmpI) {
470 Node* cmp = b->in(1); 471 Node* cmp = b->in(1);