src/share/vm/opto/loopTransform.cpp

changeset 4023
0acd345fd810
parent 3847
5e990493719e
child 4115
e626685e9f6c
child 4217
521c82b9cbf8
equal deleted inserted replaced
4022:83b6305a5638 4023:0acd345fd810
545 for (uint j3 = 0; j3 < loop->_body.size(); j3++) { 545 for (uint j3 = 0; j3 < loop->_body.size(); j3++) {
546 Node *old = loop->_body.at(j3); 546 Node *old = loop->_body.at(j3);
547 Node *nnn = old_new[old->_idx]; 547 Node *nnn = old_new[old->_idx];
548 if (!has_ctrl(nnn)) 548 if (!has_ctrl(nnn))
549 set_idom(nnn, idom(nnn), dd-1); 549 set_idom(nnn, idom(nnn), dd-1);
550 // While we're at it, remove any SafePoints from the peeled code
551 if (old->Opcode() == Op_SafePoint) {
552 Node *nnn = old_new[old->_idx];
553 lazy_replace(nnn,nnn->in(TypeFunc::Control));
554 }
555 } 550 }
556 551
557 // Now force out all loop-invariant dominating tests. The optimizer 552 // Now force out all loop-invariant dominating tests. The optimizer
558 // finds some, but we _know_ they are all useless. 553 // finds some, but we _know_ they are all useless.
559 peeled_dom_test_elim(loop,old_new); 554 peeled_dom_test_elim(loop,old_new);

mercurial