RFR: 8339241: Optimize LambdaForm#basicType(Class) [v2]

Shaojin Wen swen at openjdk.org
Fri Aug 30 01:17:37 UTC 2024


> A small optimization to simplify the implementation logic of LambdaForm$BasicType#basicType method can reduce the call stack and reduce the overall bytecode size.
> 
> Below is the compiler log
> 
> * baseline
> 
>  @ 1   java.lang.invoke.LambdaForm$BasicType::basicType (8 bytes)   inline
>    @ 1   sun.invoke.util.Wrapper::basicTypeChar (18 bytes)   inline
>      @ 1   java.lang.Class::isPrimitive (0 bytes)   intrinsic
>      @ 11   sun.invoke.util.Wrapper::forPrimitiveType (122 bytes)   failed to inline: callee is too large
>      @ 14   sun.invoke.util.Wrapper::basicTypeChar (5 bytes)   inline
> 
> 
> * current
> 
> java.lang.invoke.LambdaForm$BasicType::basicType (87 bytes)   failed to inline: callee is too large

Shaojin Wen has updated the pull request incrementally with one additional commit since the last revision:

  Suggestions from @cl4es

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/20759/files
  - new: https://git.openjdk.org/jdk/pull/20759/files/5ac70bda..bd109c3f

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=20759&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=20759&range=00-01

  Stats: 10 lines in 1 file changed: 4 ins; 0 del; 6 mod
  Patch: https://git.openjdk.org/jdk/pull/20759.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/20759/head:pull/20759

PR: https://git.openjdk.org/jdk/pull/20759


More information about the core-libs-dev mailing list