RFR: 8263227: C2: inconsistent spilling due to dead nodes in exception block
Vladimir Kozlov
kvn at openjdk.java.net
Thu Apr 8 18:24:10 UTC 2021
On Thu, 8 Apr 2021 10:54:31 GMT, Roberto Castañeda Lozano <rcastanedalo at openjdk.org> wrote:
>> src/hotspot/share/opto/lcm.cpp line 1419:
>>
>>> 1417: "dead projection should correspond to current node");
>>> 1418: sb->get_node(k)->disconnect_inputs(C);
>>> 1419: sb->remove_node(k);
>>
>> If you remove node here then `j` could be incorrect in `sb->remove_node(j)` at line #1424
>
> `k` should always be greater than `j`, as `sb->get_node(k)` is a projection of `sb->get_node(j)`. Shouldn't this make the removal safe?
Yes, you are right - users should follow.
-------------
PR: https://git.openjdk.java.net/jdk/pull/3303
More information about the hotspot-compiler-dev
mailing list