RFR: 8313672: C2: PhaseCCP does not correctly track analysis dependencies involving shift, convert, and mask [v19]
Daniel Lundén
duke at openjdk.org
Tue Nov 14 12:57:36 UTC 2023
On Tue, 14 Nov 2023 12:42:26 GMT, Roberto Castañeda Lozano <rcastanedalo at openjdk.org> wrote:
>> src/hotspot/share/opto/node.hpp line 1648:
>>
>>> 1646: for (DUIterator_Fast kmax, k = fast_outs(kmax); k < kmax; k++) {
>>> 1647: Node* out = fast_out(k);
>>> 1648: if (!visited.test_set(out->_idx)) { worklist.push(out); }
>>
>> Suggestion:
>>
>> visited.set(out->_idx);
>> worklist.push(out);
>
> Please disregard this suggestion, I see now that you want to handle duplicate direct uses here.
Yes, I moved the visited check from the beginning of the while-loop to where we push to the worklist (suggestion by Emanuel). So now, every node is added at most once to the worklist.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/16429#discussion_r1392544078
More information about the hotspot-compiler-dev
mailing list