RFR(S): 8228888: C2 compilation fails with assert "m has strange control"
vladimir.kozlov at oracle.com
Mon Aug 19 16:50:21 UTC 2019
On 8/7/19 7:13 AM, Tobias Hartmann wrote:
> please review the following patch:
> I found this while trying to write a regression test for another bug. The assert triggers when OSR
> compiling an infinite loop with two back branches (see StrangeControl.jasm):
> PhaseIdealLoop::has_local_phi_input() tries to determine if all inputs of n (118 Phi) are block
> local phis. When looking at input m (108 StoreI), the assert fires because m is not a Phi and
> control of m (102 IfFalse) does not dominate control of n (83 Region).
> I think the assert which was added by  is too strong. If n is a Phi itself, control of all its
> inputs does not need to dominate its own control.
Correct - loops are examples.
>  https://bugs.openjdk.java.net/browse/JDK-8187822
More information about the hotspot-compiler-dev