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

Cesar Soares Lucas cslucas at openjdk.org
Mon Apr 24 19:50:22 UTC 2023


On Sat, 22 Apr 2023 01:12:32 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

>> Cesar Soares Lucas has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 10 commits:
>> 
>>  - Catching up with master
>>    
>>    Merge remote-tracking branch 'origin/master' into rematerialization-of-merges
>>  - Fix tests. Remember previous reducible Phis.
>>  - Address PR review 3. Some comments and be able to abort compilation.
>>  - Merge with Master
>>  - Addressing PR review 2: refactor & reuse MacroExpand::scalar_replacement method.
>>  - Address PR feeedback 1: make ObjectMergeValue subclass of ObjectValue & create new IR class to represent scalarized merges.
>>  - Add support for SR'ing some inputs of merges used for field loads
>>  - Fix some typos and do some small refactorings.
>>  - Merge master
>>  - Add support for rematerializing scalar replaced objects participating in allocation merges
>
> src/hotspot/share/code/debugInfo.cpp line 232:
> 
>> 230:   // If we call select again on the same merge we should return the same result
>> 231:   if (_selected != nullptr) {
>> 232:     return _selected;
> 
> I'm not sure I understand how it is intended to work. The code below initializes `_selected`, but returns `nullptr` when `selector >= 0`. Subsequent calls will return non-null value.

This can be improved. I'll fix it.

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

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


More information about the hotspot-runtime-dev mailing list