RFR: 8359344: C2: Malformed control flow after intrinsic bailout [v2]
Tobias Hartmann
thartmann at openjdk.org
Tue Jul 8 15:13:40 UTC 2025
On Tue, 8 Jul 2025 13:35:27 GMT, Marc Chevalier <mchevalier at openjdk.org> wrote:
>> src/hotspot/share/opto/library_call.cpp line 2393:
>>
>>> 2391: Node* out = control()->fast_out(i);
>>> 2392: if (out->is_CFG() && out->in(0) == control() && out != map() && !state.ctrl_succ.member(out)) {
>>> 2393: out->set_req(0, C->top());
>>
>> Could `out` already be in the GVN hash ("remove node from hash table before modifying it")?
>
> I've added it, since indeed, it could. As far as I understand, I was just lucky in the situation where it happens, but there is no reason it would always hold.
I think you also need to re-insert it via `hash_find_insert`.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/25936#discussion_r2192795199
More information about the graal-dev
mailing list