RFR: 8327963: C2: fix construction of memory graph around Initialize node to prevent incorrect execution if allocation is removed [v15]
Roland Westrelin
roland at openjdk.org
Tue Oct 28 12:42:14 UTC 2025
On Fri, 24 Oct 2025 13:31:16 GMT, Emanuel Peter <epeter at openjdk.org> wrote:
>> Roland Westrelin has updated the pull request incrementally with two additional commits since the last revision:
>>
>> - review
>> - Roberto's patches
>
> src/hotspot/share/opto/multnode.cpp line 273:
>
>> 271: ProjNode::dump_compact_spec(st);
>> 272: MemNode::dump_adr_type(_adr_type, st);
>> 273: }
>
> Can you show us an example out put of `dump`? I'm just wondering if there maybe needs to be a space between the two, and if it is immediately readable :)
Actually, `Node::dump` already takes care of dumping the `adr_type`. So I removed the `dump` methods from `NarrowMemProjNode`. Here is an example output:
59 Initialize === 83 1 62 1 1 1 121 [[ 124 123 63 64 65 ]] !jvms: TestInitializingStoreCapturing::testInitializeArray @ bci:1 (line 57)
TestInitializingStoreCapturing::testInitializeArray @ bci:1 (line 57)
63 NarrowMemProj === 59 [[ 15 ]] #2 Memory: @java/lang/Object *, idx=4; !jvms: TestInitializingStoreCapturing::testInitializeArray @ bci:1 (line 57)
64 NarrowMemProj === 59 [[ 15 ]] #2 Memory: @java/lang/Object+8 * [narrowklass], idx=5; !jvms: TestInitializingStoreCapturing::testInitializeArray @ bci:1 (line 57)
65 NarrowMemProj === 59 [[ 15 ]] #2 Memory: @float[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *, idx=6; !jvms: TestInitializingStoreCapturing::testInitializeArray @ bci:1 (line 57)
66 CheckCastPP === 125 86 [[ 79 ]] #float[int:1] (java/lang/Cloneable,java/io/Serializable):NotNull:exact * !jvms: TestInitializingStoreCapturing::testInitializeArray @ bci:1 (line 57)
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24570#discussion_r2469429116
More information about the graal-dev
mailing list