RFR: 8352963: [REDO] Missing late inline cleanup causes compiler/vectorapi/VectorLogicalOpIdentityTest.java IR failure [v2]

Tobias Hartmann thartmann at openjdk.org
Tue Apr 8 07:02:15 UTC 2025


On Mon, 7 Apr 2025 09:11:44 GMT, Damon Fenacci <dfenacci at openjdk.org> wrote:

>> This PR is a REDO of [JDK-8302459](https://bugs.openjdk.org/browse/JDK-8302459) ([PR](https://github.com/openjdk/jdk/pull/21682), [backout](https://bugs.openjdk.org/browse/JDK-8352965) triggered by a failing internal test).
>> 
>> There was an issue with `CallGenerator::for_method_handle_call` that could delay late inlining by creating a "generic" `LateInlineCallGenerator` instead of a more specific `LateInlineMHCallGenerator`:
>> https://github.com/openjdk/jdk/blob/74df384a9870431efb184158bba032c79c35356e/src/hotspot/share/opto/callGenerator.cpp#L991
>> While running IGVN this could be misinterpreted as non-MH late-inline
>> https://github.com/openjdk/jdk/blob/c282fb9add32f1fac8174ca84b1b68a869d2578d/src/hotspot/share/opto/callnode.cpp#L1088-L1091
>> eventually triggering `assert(!cg->method()->is_method_handle_intrinsic(), "required");`
>> 
>> The fix involves creating a `LateInlineMHCallGenerator` instead. Here is what changed from the backed out PR:
>> https://github.com/openjdk/jdk/blob/c282fb9add32f1fac8174ca84b1b68a869d2578d/src/hotspot/share/opto/callGenerator.cpp#L991-L995
>> 
>> ### Testing
>> 
>> Tier 1-4 (windows-x64, linux-x64/aarch64, and macosx-x64/aarch64; release and debug mode)
>
> Damon Fenacci has updated the pull request incrementally with one additional commit since the last revision:
> 
>   JDK-8652963: review fix

Looks good to me!

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

Marked as reviewed by thartmann (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/24402#pullrequestreview-2748875101


More information about the hotspot-compiler-dev mailing list