< prev index next >

src/share/vm/opto/split_if.cpp

Print this page

        

*** 188,198 **** // ConvI2L may have type information on it which becomes invalid if // it moves up in the graph so change any clones so widen the type // to TypeLong::INT when pushing it up. const Type* rtype = NULL; ! if (n->Opcode() == Op_ConvI2L && n->bottom_type() != TypeLong::INT) { rtype = TypeLong::INT; } // Now actually split-up this guy. One copy per control path merging. Node *phi = PhiNode::make_blank(blk1, n); --- 188,198 ---- // ConvI2L may have type information on it which becomes invalid if // it moves up in the graph so change any clones so widen the type // to TypeLong::INT when pushing it up. const Type* rtype = NULL; ! if (n->Opcode() == Opcodes::Op_ConvI2L && n->bottom_type() != TypeLong::INT) { rtype = TypeLong::INT; } // Now actually split-up this guy. One copy per control path merging. Node *phi = PhiNode::make_blank(blk1, n);
*** 453,463 **** // paths. This makes 'new_iff' go dead. Node *old_false = NULL, *old_true = NULL; Node *new_false = NULL, *new_true = NULL; for (DUIterator_Last j2min, j2 = iff->last_outs(j2min); j2 >= j2min; --j2) { Node *ifp = iff->last_out(j2); ! assert( ifp->Opcode() == Op_IfFalse || ifp->Opcode() == Op_IfTrue, "" ); ifp->set_req(0, new_iff); Node *ifpx = split_thru_region( ifp, region ); // Replace 'If' projection of a Region with a Region of // 'If' projections. --- 453,463 ---- // paths. This makes 'new_iff' go dead. Node *old_false = NULL, *old_true = NULL; Node *new_false = NULL, *new_true = NULL; for (DUIterator_Last j2min, j2 = iff->last_outs(j2min); j2 >= j2min; --j2) { Node *ifp = iff->last_out(j2); ! assert( ifp->Opcode() == Opcodes::Op_IfFalse || ifp->Opcode() == Opcodes::Op_IfTrue, "" ); ifp->set_req(0, new_iff); Node *ifpx = split_thru_region( ifp, region ); // Replace 'If' projection of a Region with a Region of // 'If' projections.
*** 474,484 **** new_iff->set_req(0, new_iff); // hook self so it does not go dead lazy_replace(ifp, ifpx); new_iff->set_req(0, region); // Record bits for later xforms ! if( ifp->Opcode() == Op_IfFalse ) { old_false = ifp; new_false = ifpx; } else { old_true = ifp; new_true = ifpx; --- 474,484 ---- new_iff->set_req(0, new_iff); // hook self so it does not go dead lazy_replace(ifp, ifpx); new_iff->set_req(0, region); // Record bits for later xforms ! if( ifp->Opcode() == Opcodes::Op_IfFalse ) { old_false = ifp; new_false = ifpx; } else { old_true = ifp; new_true = ifpx;
< prev index next >