RFR(S): 8202950: C2: assert(found_sfpt) failed: no node in loop that's not input to safepoint

Nils Eliasson nils.eliasson at oracle.com
Thu May 17 10:07:48 UTC 2018

Hi Roland,

Just add a comment on what idx==0 signifies before the first 
if-statement. It's somewhat confusing that idx is used as edge index, 
when it's mostly used as op index. But I won't require you to clean up 
the entire file for this.

Looks good,

On 2018-05-17 10:40, Roland Westrelin wrote:
> http://cr.openjdk.java.net/~roland/8202950/webrev.00/
> A Load outside the outer and inner strip mined loop has a control edge
> to the inner loop. When the loop is unrolled, the control is changed to
> be right out of the inner loop. That confuses verification code that
> expects no node to have a control set to the inner loop exit unless it's
> referenced from the safepoint node. Rather than weaken the verification
> code, the fix I suggest is that on loop cloning for unrolling, the
> control of the Load be set to be outside the outer loop as well.
> Roland.

More information about the hotspot-compiler-dev mailing list