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