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