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.


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