8066775: opto/node.hpp:355, assert(i < _max) failed: oob: i=1, _max=1

Fri, 05 Dec 2014 18:03:15 +0100

author
roland
date
Fri, 05 Dec 2014 18:03:15 +0100
changeset 7422
d9e22e15d3f6
parent 7421
e3d0aaab84aa
child 7423
28f116adb50c

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 file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/vm/opto/connode.cpp	Tue Dec 09 18:49:13 2014 +0100
     1.2 +++ b/src/share/vm/opto/connode.cpp	Fri Dec 05 18:03:15 2014 +0100
     1.3 @@ -462,7 +462,8 @@
     1.4    // Try to improve the type of the CastII if we recognize a CmpI/If
     1.5    // pattern.
     1.6    if (_carry_dependency) {
     1.7 -    if (in(0) != NULL && (in(0)->is_IfFalse() || in(0)->is_IfTrue())) {
     1.8 +    if (in(0) != NULL && in(0)->in(0) != NULL && in(0)->in(0)->is_If()) {
     1.9 +      assert(in(0)->is_IfFalse() || in(0)->is_IfTrue(), "should be If proj");
    1.10        Node* proj = in(0);
    1.11        if (proj->in(0)->in(1)->is_Bool()) {
    1.12          Node* b = proj->in(0)->in(1);

mercurial