< prev index next >
src/hotspot/share/opto/compile.cpp
Print this page
*** 1891,1901 ****
_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;
set_inlining_progress(false);
set_do_cleanup(false);
return (_late_inlines.length() > 0) && !needs_cleanup;
}
--- 1891,1901 ----
_late_inlines.at_put(j, _late_inlines.at(i));
}
_late_inlines.trunc_to(j);
assert(inlining_progress() || _late_inlines.length() == 0, "");
! bool needs_cleanup = do_cleanup() || over_inlining_cutoff();
set_inlining_progress(false);
set_do_cleanup(false);
return (_late_inlines.length() > 0) && !needs_cleanup;
}
*** 1949,1959 ****
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) {
--- 1949,1958 ----
*** 2064,2076 ****
inline_boxing_calls(igvn);
if (AlwaysIncrementalInline) {
inline_incrementally(igvn);
}
- if (failing()) return;
print_method(PHASE_INCREMENTAL_BOXING_INLINE, 2);
}
// Now that all inlining is over, cut edge from root to loop
// safepoints
remove_root_to_sfpts_edges(igvn);
--- 2063,2076 ----
inline_boxing_calls(igvn);
if (AlwaysIncrementalInline) {
inline_incrementally(igvn);
}
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,2118 ****
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]);
--- 2107,2116 ----
*** 4631,4663 ****
#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];
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
} else {
ss.print_raw(": NULL");
}
C->print_method(cpt, ss.as_string(), level);
}
--- 4629,4655 ----
#endif
C->_latest_stage_start_counter.stamp();
}
void Compile::print_method(CompilerPhaseType cpt, int level, int idx) {
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) {
! 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 >