--- old/src/share/vm/opto/compile.cpp 2015-11-24 15:25:44.885841704 +0100 +++ new/src/share/vm/opto/compile.cpp 2015-11-24 15:25:44.657841714 +0100 @@ -2156,6 +2156,20 @@ // so keep only the actual candidates for optimizations. cleanup_expensive_nodes(igvn); + if (!failing() && + RenumberLiveNodes && + live_nodes() + NodeLimitFudgeFactor < unique() + ) { + for_igvn()->clear(); + initial_gvn()->replace_with(&igvn); + { + ResourceMark rm; + PhaseRenumberLive prl = PhaseRenumberLive(initial_gvn(), for_igvn()); + } + igvn = PhaseIterGVN(initial_gvn()); + igvn.optimize(); + } + // Perform escape analysis if (_do_escape_analysis && ConnectionGraph::has_candidates(this)) { if (has_loops()) {