RFR(S): 8136461: PhaseIdealLoop::try_move_store_before_loop() may bypass early loop exit

Roland Westrelin roland.westrelin at oracle.com
Wed Sep 16 08:40:12 UTC 2015

Thanks for the review, Vladimir.

For the record, I will use this change to move test/compiler/TestMoveStoresOutOfLoopsStoreNoCtrl.java to test/compiler/loopopts/TestMoveStoresOutOfLoopsStoreNoCtrl.java where it should have been in the first place.


> On Sep 14, 2015, at 6:13 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
> Good. You should have done it in original 8080289 changes.
> Thanks,
> Vladimir
> On 9/14/15 6:04 AM, Roland Westrelin wrote:
>> http://cr.openjdk.java.net/~roland/8136461/webrev.00/
>> 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.
>> Roland.

More information about the hotspot-compiler-dev mailing list