RFR(S): 8203425: assert(is_Loop()) failed: invalid node class

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu May 31 16:02:36 UTC 2018

Seems fine to me too.

Nils, do you know why it is triggered only by tier5 testing. Can you 
construct new test to trigger it?


On 5/31/18 6:18 AM, Tobias Hartmann wrote:
> Hi Nils,
> this looks reasonable to me.
> Thanks,
> Tobias
> On 23.05.2018 14:14, Nils Eliasson wrote:
>> Hi,
>> This is a follow up to JDK-8203215 that caused failures in testing.
>> JDK-8203215 added a call to igvn.optimize after beautify_loops to handle phi-nodes that have lost
>> their loop edge and now produce loop invariant data. In testing a failure came up - the
>> igvn.optimize call can sometimes eliminate a loop node when the phis are all invariant.
>> When fixing this I observed that a loop might be removed, and that another region that is a subset
>> of the first is selected as new loop, and then there might be new loop invariant phis (not observed).
>> This change introduces a fix point iteration for beautify_loops, until no more loop structure
>> changes has been made. This might sound expensive but In practice beautify-loops is called one
>> additional time at first insertion of loop-nodes. I have seen one case of cascading loop reductions
>> when beautify_loops is called three times. The upside is that we reach fix point for PhaseIdealLoop
>> faster since these changes would guarantee to trigger a major change in next iteration instead.
>> https://bugs.openjdk.java.net/browse/JDK-8203425
>> http://cr.openjdk.java.net/~neliasso/8203425/webrev.01/
>> Regards,
>> Nils Eliasson

More information about the hotspot-compiler-dev mailing list