RFR: 8344116: C2: remove slice parameter from LoadNode::make [v6]
Zihao Lin
duke at openjdk.org
Wed Nov 5 05:09:05 UTC 2025
On Tue, 8 Apr 2025 13:04:12 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 four additional commits since the last revision:
>>
>> - Merge branch 'openjdk:master' into 8344116
>> - Fix build
>> - Fix test failed
>> - 8344116: C2: remove slice parameter from LoadNode::make
>
> src/hotspot/share/gc/shared/c2/barrierSetC2.cpp line 223:
>
>> 221: MergeMemNode* mm = opt_access.mem();
>> 222: PhaseGVN& gvn = opt_access.gvn();
>> 223: Node* mem = mm->memory_at(gvn.C->get_alias_index(access.addr().type()));
>
> Can we get rid of all uses of `access.addr().type()`?
Get rid of all access.addr().type()
> src/hotspot/share/gc/shared/c2/cardTableBarrierSetC2.cpp line 105:
>
>> 103: // stores. In theory we could relax the load from ctrl() to
>> 104: // no_ctrl, but that doesn't buy much latitude.
>> 105: Node* card_val = __ load( __ ctrl(), card_adr, TypeInt::BYTE, T_BYTE);
>
> We could asssert that `C->get_alias_index(kit->type(card_adr) == Compile::AliasIdxRaw`, that is that computed slice is the same as hardcoded slide. Similar asserts could be added for every location where a slice/address type is removed in this patch.
Sure, I add more assert for this change.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24258#discussion_r2484816831
PR Review Comment: https://git.openjdk.org/jdk/pull/24258#discussion_r2492987998
More information about the hotspot-compiler-dev
mailing list