< prev index next >
src/hotspot/share/opto/compile.cpp
Print this page
@@ -1891,11 +1891,11 @@
_late_inlines.at_put(j, _late_inlines.at(i));
}
_late_inlines.trunc_to(j);
assert(inlining_progress() || _late_inlines.length() == 0, "");
- bool needs_cleanup = true;
+ bool needs_cleanup = do_cleanup() || over_inlining_cutoff();
set_inlining_progress(false);
set_do_cleanup(false);
return (_late_inlines.length() > 0) && !needs_cleanup;
}
@@ -1949,11 +1949,10 @@
inline_incrementally_cleanup(igvn);
print_method(PHASE_INCREMENTAL_INLINE_STEP, 3);
-
if (failing()) return;
}
assert( igvn._worklist.size() == 0, "should be done with igvn" );
if (_string_late_inlines.length() > 0) {
@@ -2064,13 +2063,14 @@
inline_boxing_calls(igvn);
if (AlwaysIncrementalInline) {
inline_incrementally(igvn);
}
- if (failing()) return;
print_method(PHASE_INCREMENTAL_BOXING_INLINE, 2);
+
+ if (failing()) return;
}
// Now that all inlining is over, cut edge from root to loop
// safepoints
remove_root_to_sfpts_edges(igvn);
@@ -2107,12 +2107,10 @@
set_for_igvn(&new_worklist);
igvn = PhaseIterGVN(initial_gvn());
igvn.optimize();
}
- // FIXME for_igvn() is corrupted from here: new_worklist which is set_for_ignv() was allocated on stack.
-
// Perform escape analysis
if (_do_escape_analysis && ConnectionGraph::has_candidates(this)) {
if (has_loops()) {
// Cleanup graph (remove dead nodes).
TracePhase tp("idealLoop", &timers[_t_idealLoop]);
@@ -4631,33 +4629,27 @@
#endif
C->_latest_stage_start_counter.stamp();
}
void Compile::print_method(CompilerPhaseType cpt, int level, int idx) {
- if (should_print(level)) {
-#ifndef PRODUCT
char output[1024];
+#ifndef PRODUCT
if (idx != 0) {
jio_snprintf(output, sizeof(output), "%s:%d", CompilerPhaseTypeHelper::to_string(cpt), idx);
} else {
jio_snprintf(output, sizeof(output), "%s", CompilerPhaseTypeHelper::to_string(cpt));
}
- }
#endif
print_method(cpt, output, level, idx);
}
void Compile::print_method(CompilerPhaseType cpt, Node* n, int level) {
ResourceMark rm;
stringStream ss;
ss.print_raw(CompilerPhaseTypeHelper::to_string(cpt));
if (n != NULL) {
-#ifndef PRODUCT
- ss.print(": %s %d", n->Name(), n->_idx);
-#else
- ss.print(": %d %d", n->Opcode(), n->_idx);
-#endif // !PRODUCT
+ ss.print(": %d %s ", n->_idx, NodeClassNames[n->Opcode()]);
} else {
ss.print_raw(": NULL");
}
C->print_method(cpt, ss.as_string(), level);
}
< prev index next >