RFR: JDK-8287061: Support for rematerializing scalar replaced objects participating in allocation merges [v5]

Xin Liu xliu at openjdk.org
Fri Mar 31 18:27:21 UTC 2023


On Fri, 31 Mar 2023 18:21:40 GMT, Xin Liu <xliu at openjdk.org> wrote:

>> Cesar Soares Lucas has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Address PR feeedback 1: make ObjectMergeValue subclass of ObjectValue & create new IR class to represent scalarized merges.
>
> src/hotspot/share/opto/macro.cpp line 632:
> 
>> 630:           safepoints->append_if_missing(sfpt);
>> 631:         }
>> 632:       } else if (ignore_merges && (use->is_Phi() || use->is_EncodeP() || use->Opcode() == Op_MemBarRelease)) {
> 
> I try to understand this part. now `can_eliminate_allocation` can pre-test whether SR can eliminate the alloc.  I see that you use it in EA. 
> 
> With ignore_merges, why we also skip EncodeP or MemBarRelease here?

Do you really need the boolean parameter ignore_merges here? 
It looks like we can use (safepoints == nullptr) instead?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/12897#discussion_r1154773826


More information about the hotspot-compiler-dev mailing list