RFR: 8265132 : C2 compilation fails with assert "missing precedence edge" [v4]

Igor Veresov iveresov at openjdk.java.net
Mon Jun 21 17:24:27 UTC 2021


On Sat, 19 Jun 2021 02:00:43 GMT, Jamsheed Mohammed C M <jcm at openjdk.org> wrote:

>>> i kept dominate logic as it is more broad than equating with LCA (that means even if there are multiple basic blocks in null  path the assert holds good)
>> 
>> In that case, could you add a test case with multiple basic blocks in the null path?  It should crash without your dominates improvement.
>
> I didn't say there is a case already. I just said it can even take care of that. problem with using LCA is the new fix has raised LCA, may be i should use LCA_Orig in second case. but do you see problem in using dominate in assert?

Looking at `PhaseCFG::implicit_null_check()` it seems that there can be only a single null block with a deopt in it.  It looks for a very specific shape that has a deopt on the true side of a comparison with a null. Or is there something I'm missing?

-------------

PR: https://git.openjdk.java.net/jdk/pull/4200


More information about the hotspot-compiler-dev mailing list