[9] RFR(M): 8129847: Compiling methods generated by Nashorn triggers high memory usage in C2
Vladimir Ivanov
vladimir.x.ivanov at oracle.com
Thu Nov 26 13:50:20 UTC 2015
> So I would like to first get this version in and see if we get problems
> (bugs or regressions). If all looks fine, we can think of enabling
> PhaseRenumberLive at other places as well (not necessarily all 6 from
> above, only those that bring good benefits for a reasonable cost).
Sounds good. Reviewed.
I'd like to note that PhaseRemoveUseless & PhaseIterGVN are performed
too frequently right now (that's what JDK-8059241 is about). So, I'd
experiment with something similar to iterative loop optimization pass in
Compile::inline_incrementally:
if (live_nodes() > (uint)LiveNodeCountInliningCutoff) {
if (low_live_nodes < (uint)LiveNodeCountInliningCutoff * 8 / 10) {
TracePhase tp("incrementalInline_ideal",
&timers[_t_incrInline_ideal]);
// PhaseIdealLoop is expensive so we only try it once we are
// out of live nodes and we only try it again if the previous
// helped got the number of nodes down significantly
PhaseIdealLoop ideal_loop( igvn, false, true );
if (failing()) return;
low_live_nodes = live_nodes();
_major_progress = true;
}
if (live_nodes() > (uint)LiveNodeCountInliningCutoff) {
break;
}
}
Best regards,
Vladimir Ivanov
More information about the hotspot-compiler-dev
mailing list