equal
deleted
inserted
replaced
2724 Node* n_clone = n->clone(); |
2724 Node* n_clone = n->clone(); |
2725 loop->_body.push(n_clone); |
2725 loop->_body.push(n_clone); |
2726 _igvn.register_new_node_with_optimizer(n_clone); |
2726 _igvn.register_new_node_with_optimizer(n_clone); |
2727 set_ctrl(n_clone, get_ctrl(n)); |
2727 set_ctrl(n_clone, get_ctrl(n)); |
2728 sink_list.push(n_clone); |
2728 sink_list.push(n_clone); |
2729 not_peel <<= n_clone->_idx; // add n_clone to not_peel set. |
2729 not_peel.set(n_clone->_idx); |
2730 #ifndef PRODUCT |
2730 #ifndef PRODUCT |
2731 if (TracePartialPeeling) { |
2731 if (TracePartialPeeling) { |
2732 tty->print_cr("special not_peeled cloning old: %d new: %d", n->_idx, n_clone->_idx); |
2732 tty->print_cr("special not_peeled cloning old: %d new: %d", n->_idx, n_clone->_idx); |
2733 } |
2733 } |
2734 #endif |
2734 #endif |
3234 // if not pinned and not a load (which maybe anti-dependent on a store) |
3234 // if not pinned and not a load (which maybe anti-dependent on a store) |
3235 // and not a CMove (Matcher expects only bool->cmove). |
3235 // and not a CMove (Matcher expects only bool->cmove). |
3236 if (n->in(0) == NULL && !n->is_Load() && !n->is_CMove()) { |
3236 if (n->in(0) == NULL && !n->is_Load() && !n->is_CMove()) { |
3237 cloned_for_outside_use += clone_for_use_outside_loop(loop, n, worklist); |
3237 cloned_for_outside_use += clone_for_use_outside_loop(loop, n, worklist); |
3238 sink_list.push(n); |
3238 sink_list.push(n); |
3239 peel >>= n->_idx; // delete n from peel set. |
3239 peel.remove(n->_idx); |
3240 not_peel <<= n->_idx; // add n to not_peel set. |
3240 not_peel.set(n->_idx); |
3241 peel_list.remove(i); |
3241 peel_list.remove(i); |
3242 incr = false; |
3242 incr = false; |
3243 #ifndef PRODUCT |
3243 #ifndef PRODUCT |
3244 if (TracePartialPeeling) { |
3244 if (TracePartialPeeling) { |
3245 tty->print_cr("sink to not_peeled region: %d newbb: %d", |
3245 tty->print_cr("sink to not_peeled region: %d newbb: %d", |