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