On Tue, 4 Mar 2025 14:10:36 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/MethodHandles.java line 7664:
> 
>> 7662:             if (mh.type() != expectedType)
>> 7663:                 throw new IllegalArgumentException(
>> 7664:                     "Some targets do not have the expected type " + 
>> expectedType + ": " + caseActions);
> 
> I think we should avoid changing the exception messages here, since it's 
> observable from the outside.
> 
> FWIW, one of the downsides of only printing out a single method handle, is 
> that a user can't tell which method handle in the list was problematic.

At least, please motivate these changes. Why do you think changing the message 
is needed?

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

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

Reply via email to