[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 
     if (live_nodes() > (uint)LiveNodeCountInliningCutoff) {
       if (low_live_nodes < (uint)LiveNodeCountInliningCutoff * 8 / 10) {
         TracePhase tp("incrementalInline_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) {

Best regards,
Vladimir Ivanov

More information about the hotspot-compiler-dev mailing list