RFR: 8344116: C2: remove slice parameter from LoadNode::make [v8]

Roland Westrelin roland at openjdk.org
Wed Nov 5 13:23:18 UTC 2025


On Wed, 5 Nov 2025 05:08:57 GMT, Zihao Lin <duke at openjdk.org> wrote:

>> This patch remove slice parameter from LoadNode::make
>> 
>> I have done more work which remove slice paramater from StoreNode::make.
>> 
>> Mention in https://github.com/openjdk/jdk/pull/21834#pullrequestreview-2429164805
>> 
>> Hi team, I am new, I'd appreciate any guidance. Thank a lot!
>
> Zihao Lin has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains nine additional commits since the last revision:
> 
>  - fix assert
>  - add more assert
>  - rid of access.addr().type()
>  - Merge branch 'openjdk:master' into 8344116
>  - Merge branch 'openjdk:master' into 8344116
>  - Merge branch 'openjdk:master' into 8344116
>  - Fix build
>  - Fix test failed
>  - 8344116: C2: remove slice parameter from LoadNode::make

Can we remove `C2AccessValuePtr`  entirely and use:

Node* _addr;

where, currently, there's:

C2AccessValuePtr& _addr;

?

src/hotspot/share/opto/callnode.cpp line 1740:

> 1738:     Node* klass_node = in(AllocateNode::KlassNode);
> 1739:     Node* proto_adr = phase->transform(new AddPNode(klass_node, klass_node, phase->MakeConX(in_bytes(Klass::prototype_header_offset()))));
> 1740:     mark_node = LoadNode::make(*phase, control, mem, proto_adr, TypeX_X, TypeX_X->basic_type(), MemNode::unordered);

We could assert that C->get_alias_index(kit->type(card_adr) == Compile::AliasIdxRaw

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

PR Review: https://git.openjdk.org/jdk/pull/24258#pullrequestreview-3421940817
PR Review Comment: https://git.openjdk.org/jdk/pull/24258#discussion_r2494424924


More information about the hotspot-dev mailing list