JDK-8136461 : PhaseIdealLoop::try_move_store_before_loop() may bypass early loop exit
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 9
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2015-09-14
  • Updated: 2015-11-12
  • Resolved: 2015-09-16
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9 b89Fixed
Related Reports
Relates :  
Description
In some cases, a Store that is moved out of 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 loop shouldn't be attempted in that case.
Comments
regarding lack of test case: I tried reproducing the steps that lead to the graph shape that triggers this bug but couldn't in a simple test case
16-09-2015

ILW=H(incorrect execution)L(seen only a few times with CTW)H(none)=P2
14-09-2015