RFR(S): 8231291: C2: loop opts before EA should maximally unroll loops

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Fri Dec 20 22:22:13 UTC 2019



>> Why you added check in must_be_not_null()? It is used only in library_call.cpp and should not relate to this changes.
>> Did you find some issues?
> 
> I hit a crash when doing some CTW testing because an argument to
> must_be_not_null() was already known to be not null. I suppose it's
> unrelated to that change and something changed in the libraries instead.

That's interesting. I initially thought it's just to simplify the IR and 
avoid keeping redundant null check until loop opts are over.

Doesn't it signal about a more general problem with 
GraphKit::must_be_not_null()?

What if a value becomes non-null after GraphKit::must_be_not_null()? Is 
there a chance to hit the very same problem you observed?

Best regards,
Vladimir Ivanov


More information about the hotspot-compiler-dev mailing list