RFR(S): 8191887: assert(b->is_Bool()) in PhaseIdealLoop::clone_iff() due to Opaque4 node
Vladimir Kozlov
vladimir.kozlov at oracle.com
Mon Nov 27 18:55:54 UTC 2017
subnode.hpp is empty - please remove from changes.
Looks good otherwise. I started testing. Please, send changeset.
Thanks,
Vladimir
On 11/27/17 2:21 AM, Roland Westrelin wrote:
>
> http://cr.openjdk.java.net/~roland/8191887/webrev.00/
>
> Following 8176506, we can have the following graph shape:
>
> If->Opaque4->Bool->CmpP
>
> When cloning the body of a loop, if the If is out of loop but the
> Opaque4 is in the loop, an assert fires. I fixed that by adding special
> handling for the graph shape above so the Opaque4->Bool->CmpP is cloned
> out of loop. I also fixed the case where If->Opaque4 is out of loop but
> Bool->CmpP is in the loop in a similar way.
>
> Roland.
>
More information about the hotspot-compiler-dev
mailing list