RFR(S): 8191887: assert(b->is_Bool()) in PhaseIdealLoop::clone_iff() due to Opaque4 node
Vladimir Kozlov
vladimir.kozlov at oracle.com
Tue Nov 28 00:06:32 UTC 2017
Testing passed and I pushed changes (removed blank line in subnode.hpp).
Vladimir
On 11/27/17 10:55 AM, Vladimir Kozlov wrote:
> 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