> This PR exploits the observation that in many of the cases where we call 
> `methodType.invokerType()` we immediately translate it into a `Name[]` where 
> the only effect is to create an array with an additional leading 
> `BasicType.L_TYPE` argument. Only in a subset of cases will a corresponding 
> `invokerType()` be created later to bind the MH to an invoker.
> 
> Providing methods to bypass the creationg of such transient, intermediary 
> `MethodType` creation avoids excessive allocations and adding types to the MT 
> interning table that quickly become stale.
> 
> Number of executed bytecode on a trivial HelloLambda application drops 
> locally from ~517k to ~505k.

Claes Redestad has updated the pull request incrementally with one additional 
commit since the last revision:

  Remove argumentsWithTrailingObjectArguments (only one use), handle the logic 
at callsite

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/21035/files
  - new: https://git.openjdk.org/jdk/pull/21035/files/657f490e..3231f967

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

  Stats: 26 lines in 3 files changed: 7 ins; 10 del; 9 mod
  Patch: https://git.openjdk.org/jdk/pull/21035.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/21035/head:pull/21035

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

Reply via email to