hotspot/src/share/vm/opto/compile.cpp
changeset 34503 57d1a0e76091
parent 34211 d25c2fc1e248
child 35071 a0910b1d3e0d
--- a/hotspot/src/share/vm/opto/compile.cpp	Mon Nov 30 15:40:07 2015 -1000
+++ b/hotspot/src/share/vm/opto/compile.cpp	Tue Dec 01 08:05:10 2015 +0100
@@ -2156,6 +2156,20 @@
   // so keep only the actual candidates for optimizations.
   cleanup_expensive_nodes(igvn);
 
+  if (!failing() && RenumberLiveNodes && live_nodes() + NodeLimitFudgeFactor < unique()) {
+    Compile::TracePhase tp("", &timers[_t_renumberLive]);
+    initial_gvn()->replace_with(&igvn);
+    for_igvn()->clear();
+    Unique_Node_List new_worklist(C->comp_arena());
+    {
+      ResourceMark rm;
+      PhaseRenumberLive prl = PhaseRenumberLive(initial_gvn(), for_igvn(), &new_worklist);
+    }
+    set_for_igvn(&new_worklist);
+    igvn = PhaseIterGVN(initial_gvn());
+    igvn.optimize();
+  }
+
   // Perform escape analysis
   if (_do_escape_analysis && ConnectionGraph::has_candidates(this)) {
     if (has_loops()) {