RFR: 8289943: Simplify some object allocation merges [v3]
Cesar Soares
duke at openjdk.org
Mon Aug 22 20:17:10 UTC 2022
On Fri, 15 Jul 2022 00:53:44 GMT, Xin Liu <xliu at openjdk.org> wrote:
>> Cesar Soares has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 31 commits:
>>
>> - rever changes in TEST.groups
>> - fix conflict
>> - - Address PR feedback
>> - Make reducing allocation merges part of iterative EA
>> - Fix bugs
>> - Add more tests
>> - work
>> - work
>> - work
>> - work
>> - Lift requirement for all inputs to be Allocate.
>> Fix bugs.
>> - fix formatting
>> - merge fix
>> - ... and 21 more: https://git.openjdk.org/jdk/compare/f58aaab4...9d1eed25
>
> src/hotspot/share/opto/callnode.hpp line 1031:
>
>> 1029: // In some cases a reference to the whole merged object is needed and
>> 1030: // we handle that by creating an SafePointScalarObjectNode.
>> 1031: class ReducedAllocationMergeNode : public TypeNode {
>
> Is that possible to make it just subclass of PhiNode? if so, you wouldn't need to touch cfgnode.[hpp/cpp]
@navyxliu - Thanks for commenting. I considered that option and it seems intuitive that RAM should be a subclass of Phi. However, in terms of implementation, the similarity isn't that big. For now, I decided to not make it a subclass of Phi, to prevent code that only checks `is_Phi` from inadvertently changing the edges of RAM. Of course, we can revisit this decision.
-------------
PR: https://git.openjdk.org/jdk/pull/9073
More information about the hotspot-compiler-dev
mailing list