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

Dean Long dlong at openjdk.java.net
Thu Jun 17 19:25:25 UTC 2021


On Thu, 17 Jun 2021 10:34:18 GMT, Jamsheed Mohammed C M <jcm at openjdk.org> wrote:

>> src/hotspot/share/opto/gcm.cpp line 652:
>> 
>>> 650:   // raise_LCA_above_marks in inconsistent state, so always reset the
>>> 651:   // visited blocks after use.
>>> 652:   Block_List raise_LCA_visited_list;
>> 
>> I'm not an expert, but this sounds like a risky change to me.  Could you explain the problem in more detail, and why resetting these values is safe?
>
> AFAIU reinit is ok. it is not reinitialized as it holds unique value.
> https://github.com/openjdk/jdk/blob/master/src/hotspot/share/opto/block.hpp#L214

I took another look, and it looks safe, but I'm concerned that it will cause raise_LCA_above_marks to do more work.  Don't you think there might be a performance impact?  Have you measured performance?

I still don't understand what inconsistency state this tries to solve, or how it solves it.

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

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


More information about the hotspot-compiler-dev mailing list