6921992: failure in verify scheduling after 6792161

Thu, 04 Feb 2010 11:16:23 -0800

author
never
date
Thu, 04 Feb 2010 11:16:23 -0800
changeset 1647
c028504fdaa6
parent 1646
c1f1137b3575
child 1651
7f8790caccb0
child 1685
3f5b7efb9642

6921992: failure in verify scheduling after 6792161
Reviewed-by: kvn

src/share/vm/opto/ifg.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/vm/opto/ifg.cpp	Thu Feb 04 03:34:05 2010 -0800
     1.2 +++ b/src/share/vm/opto/ifg.cpp	Thu Feb 04 11:16:23 2010 -0800
     1.3 @@ -736,28 +736,7 @@
     1.4          // the flags and assumes it's dead.  This keeps the (useless)
     1.5          // flag-setting behavior alive while also keeping the (useful)
     1.6          // memory update effect.
     1.7 -        uint begin = 1;
     1.8 -        uint end = n->req();
     1.9 -        if (n->Opcode() == Op_SCMemProj) {
    1.10 -          begin = 0;
    1.11 -        } else if (n->is_Mach()) {
    1.12 -          switch (n->as_Mach()->ideal_Opcode()) {
    1.13 -            case Op_MemBarAcquire:
    1.14 -            case Op_MemBarVolatile:
    1.15 -              if (n->len() >= MemBarNode::Precedent + 1 &&
    1.16 -                  n->in(MemBarNode::Precedent) != NULL &&
    1.17 -                  n->in(MemBarNode::Precedent)->outcnt() == 1) {
    1.18 -                // This membar node is the single user of it's input
    1.19 -                // so the input won't be considered live and this node
    1.20 -                // would get deleted during copy elimination so force
    1.21 -                // it to be live.
    1.22 -                end = MemBarNode::Precedent + 1;
    1.23 -              }
    1.24 -              break;
    1.25 -          }
    1.26 -        }
    1.27 -
    1.28 -        for( uint k = begin; k < end; k++ ) {
    1.29 +        for( uint k = ((n->Opcode() == Op_SCMemProj) ? 0:1); k < n->req(); k++ ) {
    1.30            Node *def = n->in(k);
    1.31            uint x = n2lidx(def);
    1.32            if( !x ) continue;

mercurial