RFR: 8347901: C2 should remove unused leaf / pure runtime calls [v2]

Marc Chevalier mchevalier at openjdk.org
Fri Jun 20 16:06:32 UTC 2025


On Fri, 20 Jun 2025 15:58:26 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> I see. I think I'd be better to comment on the declaration of the class then. Something saying that CallLeafPureNode represents calls that are pure: they only have data input and output data (and control for practical reasons for now), no exceptions, no memory, no safepoint... They can be freely be moved around, duplicated or, if the result isn't used, removed. Then that explains... a lot of what we are doing, not just `is_unused`.
>
> I think I was really just confused about the `Parms`. I thought that means parameters .. and not results :rofl:

It's actually both. For functions, the parameters are starting at `Parms`, and the results too. Before that, it's all the special stuff: control, memory, io...

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/25760#discussion_r2159307056


More information about the graal-dev mailing list