On Tue, 4 Mar 2025 13:42:16 GMT, Jorn Vernee <jver...@openjdk.org> wrote:

>> Remove the intrinsicData field. We can obtain this from the customized MH 
>> when we spin ultra-customized lambda forms. In the long run, we aim to 
>> remove this intrinsic if there is no regression for call site sharing.
>> 
>> The existing tableSwitch combinator's LF is unnecessarily complex. This 
>> patch also simplifies the tableSwitch combinator.
>> 
>> Note that I was forced to add `@ForceInline` on immutable lists due to 
>> regressions in `MethodHandlesTableSwitchRandom` with `sorted == true`, which 
>> eliminates the regression. Otherwise, all benchmark results are the same. 
>> Tested java/lang/invoke.
>
> src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java 
> line 628:
> 
>> 626:                                         continue;
>> 627:                                     }
>> 628:                                     break; // Only inline target MHs if 
>> this is customized
> 
> I think this could be problematic, as we typically only customize the root 
> method handle in a chain. So, if a table switch handle is used with another 
> combinator, we will never benefit from the intrinsic.

In that case, won't the root form be customized and the table switch names be 
inlined into the root form?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/23763#discussion_r1979571760

Reply via email to