| Relates :   | |
| Relates :   | |
| Relates :   | 
The fix for JDK-7107042 introduced a 'skip_loop_opts' flag for PhaseIdealLoop::build_and_optimize() to not execute loop optimizations before EA. We need to restore the major_progress flag before calling igvn.optimize() because other code depends on the fact that we don't execute more loop optimizations if major_progress() is not set:
--- a/src/share/vm/opto/loopnode.cpp	Mon Oct 05 23:53:59 2015 +0200
+++ b/src/share/vm/opto/loopnode.cpp	Wed Dec 02 14:04:06 2015 +0100
@@ -2310,6 +2310,11 @@
 #endif
 
   if (skip_loop_opts) {
+    // restore major progress flag
+    for (int i = 0; i < old_progress; i++) {
+      C->set_major_progress();
+    }
+
     // Cleanup any modified bits
     _igvn.optimize();
 
@@ -2421,6 +2426,13 @@
     }
   }
| 
 |