RFR: 8350864: C2: verify structural invariants of the Ideal graph [v3]
Marc Chevalier
mchevalier at openjdk.org
Thu Sep 4 08:49:44 UTC 2025
On Mon, 25 Aug 2025 13:44:27 GMT, Emanuel Peter <epeter at openjdk.org> wrote:
>> src/hotspot/share/opto/phaseX.hpp line 615:
>>
>>> 613: Node* _verify_window[_verify_window_size];
>>> 614: void verify_step(Node* n);
>>> 615: GraphInvariantChecker* _invariant_checker;
>>
>> Why do you allocate it separately, and not have it in-place?
>
> Is there only a single PhaseIterGVN per compilation? I forgot. An alternative would be to allocate it at the level of the compilation.
> Why do you allocate it separately, and not have it in-place?
So that I can forward declare `GraphInvariantChecker` so I won't leak a non-trivial header everywhere through a widely included header.
> Is there only a single PhaseIterGVN per compilation? I forgot. An alternative would be to allocate it at the level of the compilation.
Not quite, indeed.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/26362#discussion_r2321310336
More information about the hotspot-compiler-dev
mailing list