RFR: 8350617: Improve MethodHandles.tableSwitch and remove intrinsicData

Chen Liang liach at openjdk.org
Tue Feb 25 22:17:59 UTC 2025


On Tue, 25 Feb 2025 02:45:46 GMT, Chen Liang <liach at 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.

The revision with updated tests to junit passes tier 1-3.

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

PR Comment: https://git.openjdk.org/jdk/pull/23763#issuecomment-2683415871


More information about the core-libs-dev mailing list