RFR: 8354383: C2: enable sinking of Type nodes out of loop [v2]

Christian Hagedorn chagedorn at openjdk.org
Mon May 26 08:19:17 UTC 2025


On Mon, 26 May 2025 07:24:43 GMT, Roland Westrelin <roland at openjdk.org> wrote:

>> `PhaseIdealLoop::try_sink_out_of_loop()` excludes `Type` nodes because
>> we ran into some issues where a `Type` node is sunk and then becomes
>> `top` but the control path of its uses doesn't become unreachable.
>> 
>> 8349479 should have fixed that so that exception no longer makes
>> sense.
>
> Roland Westrelin has updated the pull request incrementally with one additional commit since the last revision:
> 
>   review

Marked as reviewed by chagedorn (Reviewer).

src/hotspot/share/opto/loopopts.cpp line 1692:

> 1690:       !n->is_OpaqueInitializedAssertionPredicate() &&
> 1691:       !n->is_OpaqueTemplateAssertionPredicate() &&
> 1692:       !is_raw_to_oop_cast &&// don't extend live ranges of raw oops

Suggestion:

      !is_raw_to_oop_cast && // don't extend live ranges of raw oops

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

PR Review: https://git.openjdk.org/jdk/pull/25396#pullrequestreview-2867639447
PR Review Comment: https://git.openjdk.org/jdk/pull/25396#discussion_r2106802829


More information about the hotspot-compiler-dev mailing list