RFR(S): 8136461: PhaseIdealLoop::try_move_store_before_loop() may bypass early loop exit
roland.westrelin at oracle.com
Mon Sep 14 13:04:32 UTC 2015
In some cases, a Store that is moved out of a loop by a try_move_store_before_loop(), is input to a MergeMem that itself is input to a bottom memory Phi for the loop. The loop has an exit point before the Store. That exit point uses the bottom memory Phi as memory state. Moving the Store out of the loop shouldn't be attempted in that case. I turned the verification code in that method (that found that problem) into an extra validity check.
More information about the hotspot-compiler-dev