RFR: 8366357: C2 SuperWord: refactor VTransformNode::apply with VTransformApplyState [v3]
Emanuel Peter
epeter at openjdk.org
Thu Aug 28 13:55:01 UTC 2025
> I'm working on **cost-modeling**, and am integrating some smaller changes from this proof-of-concept PR: https://github.com/openjdk/jdk/pull/20964
>
> This is a **pure refactoring** - no change in behaviour. I'm presenting it like this because it will make reviews easier.
>
> The goal here is that `VTransformNode::apply` only needs a single argument. This is important, as we will soon add more components that need to be updated during apply. That way, we can simply add more parts to `VTransformApplyState`, and do not need to add more arguments to VTransformNode::apply.
>
> And yes: I have considering passing the `apply_state` as `const`. While this may be possible with the current code state, the upcoming changes from https://github.com/openjdk/jdk/pull/20964 will require non-const access to the `apply_state` (e.g. for `set_memory_state`).
>
> Also: Christian asked me to squeeze in some other change: `igvn.intcon` -> `phase->intcon`, so that we also set the control to root. It's not been strictly necessary, but probably better to do it.
Emanuel Peter has updated the pull request incrementally with one additional commit since the last revision:
For Christian: use phase->intcon instead
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/26987/files
- new: https://git.openjdk.org/jdk/pull/26987/files/d91d66db..db90bc88
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=26987&range=02
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=26987&range=01-02
Stats: 9 lines in 2 files changed: 0 ins; 0 del; 9 mod
Patch: https://git.openjdk.org/jdk/pull/26987.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/26987/head:pull/26987
PR: https://git.openjdk.org/jdk/pull/26987
More information about the hotspot-compiler-dev
mailing list