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