< prev index next >
src/share/vm/opto/compile.hpp
Print this page
*** 947,965 ****
bool over_inlining_cutoff() const {
if (!inlining_incrementally()) {
return unique() > (uint)NodeCountInliningCutoff;
} else {
! return live_nodes() > (uint)LiveNodeCountInliningCutoff;
}
}
void inc_number_of_mh_late_inlines() { _number_of_mh_late_inlines++; }
void dec_number_of_mh_late_inlines() { assert(_number_of_mh_late_inlines > 0, "_number_of_mh_late_inlines < 0 !"); _number_of_mh_late_inlines--; }
bool has_mh_late_inlines() const { return _number_of_mh_late_inlines > 0; }
! void inline_incrementally_one(PhaseIterGVN& igvn);
void inline_incrementally(PhaseIterGVN& igvn);
void inline_string_calls(bool parse_time);
void inline_boxing_calls(PhaseIterGVN& igvn);
// Matching, CFG layout, allocation, code generation
--- 947,969 ----
bool over_inlining_cutoff() const {
if (!inlining_incrementally()) {
return unique() > (uint)NodeCountInliningCutoff;
} else {
! // Give some room for incremental inlining algorithm to "breathe"
! // and avoid thrashing when live node count is close to the limit.
! // Keep in mind that live_nodes() isn't accurate during inlining until
! // dead node elimination step happens (see Compile::inline_incrementally).
! return live_nodes() > (uint)LiveNodeCountInliningCutoff * 11 / 10;
}
}
void inc_number_of_mh_late_inlines() { _number_of_mh_late_inlines++; }
void dec_number_of_mh_late_inlines() { assert(_number_of_mh_late_inlines > 0, "_number_of_mh_late_inlines < 0 !"); _number_of_mh_late_inlines--; }
bool has_mh_late_inlines() const { return _number_of_mh_late_inlines > 0; }
! void inline_incrementally_one();
void inline_incrementally(PhaseIterGVN& igvn);
void inline_string_calls(bool parse_time);
void inline_boxing_calls(PhaseIterGVN& igvn);
// Matching, CFG layout, allocation, code generation
< prev index next >