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