< prev index next > src/hotspot/share/opto/replacednodes.cpp
Print this page
}
work.clear();
enqueue_use(initial, use, work);
bool replace = true;
// Check that this use is dominated by ctl. Go ahead with the replacement if it is.
+ DEBUG_ONLY(uint loop_count = 0);
while (work.size() != 0 && replace) {
Node* n = work.pop();
if (use->outcnt() == 0) {
continue;
}
} else {
for (DUIterator k = n->outs(); n->has_out(k); k++) {
enqueue_use(n, n->out(k), work);
}
}
+ assert(loop_count++ < K, "infinite loop in ReplacedNodes::apply");
}
if (replace) {
bool is_in_table = C->initial_gvn()->hash_delete(use);
int replaced = use->replace_edge(initial, improved);
if (is_in_table) {
< prev index next >