|
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 @@
}
}
|