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