1.1 --- a/src/share/vm/opto/compile.cpp Wed Dec 09 10:26:00 2015 -0800 1.2 +++ b/src/share/vm/opto/compile.cpp Tue Dec 15 09:46:51 2015 +0100 1.3 @@ -2093,6 +2093,20 @@ 1.4 // so keep only the actual candidates for optimizations. 1.5 cleanup_expensive_nodes(igvn); 1.6 1.7 + if (!failing() && RenumberLiveNodes && live_nodes() + NodeLimitFudgeFactor < unique()) { 1.8 + NOT_PRODUCT(Compile::TracePhase t2("", &_t_renumberLive, TimeCompiler);) 1.9 + initial_gvn()->replace_with(&igvn); 1.10 + for_igvn()->clear(); 1.11 + Unique_Node_List new_worklist(C->comp_arena()); 1.12 + { 1.13 + ResourceMark rm; 1.14 + PhaseRenumberLive prl = PhaseRenumberLive(initial_gvn(), for_igvn(), &new_worklist); 1.15 + } 1.16 + set_for_igvn(&new_worklist); 1.17 + igvn = PhaseIterGVN(initial_gvn()); 1.18 + igvn.optimize(); 1.19 + } 1.20 + 1.21 // Perform escape analysis 1.22 if (_do_escape_analysis && ConnectionGraph::has_candidates(this)) { 1.23 if (has_loops()) {