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