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

Zihao Lin duke at openjdk.org
Tue Nov 25 16:33:46 UTC 2025


On Wed, 5 Nov 2025 13:12:59 GMT, Roland Westrelin <roland at openjdk.org> wrote:

>> 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
>
> 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

I give it a try, but it won't pass the test. Is it possible the original version is wrong? 
The class mark will not be `TypeRawPtr::BOTTOM`, it should equal to Klass slice index.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24258#discussion_r2560657848


More information about the graal-dev mailing list