[jdk18] RFR: 8275830: C2: Receiver downcast is missing when inlining through method handle linkers [v2]

Vladimir Ivanov vlivanov at openjdk.java.net
Mon Jan 3 20:12:49 UTC 2022


> JDK-8268405 introduced receiver downcasts when inlining through virtual calls
> when CHA reveals a unique target method under an abstract or default method.
> But it handled only cases when invocation is performed using
> `invokevirtual`/`invokeinterface` bytecodes and completely omitted `invokedynamic` and
> `MethodHandles` cases. 
> 
> The fix covers missing cases by checking whether invocation happens through 
> corresponding method handle linkers (`MethodHandle.linkToVirtual`/`MethodHandle.linkToInterface`).
> 
> Testing: hs-tier1 - hs-tier4

Vladimir Ivanov has updated the pull request incrementally with one additional commit since the last revision:

  Fix copyright year

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

Changes:
  - all: https://git.openjdk.java.net/jdk18/pull/77/files
  - new: https://git.openjdk.java.net/jdk18/pull/77/files/a10a1201..957abf52

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk18&pr=77&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk18&pr=77&range=00-01

  Stats: 4 lines in 4 files changed: 0 ins; 0 del; 4 mod
  Patch: https://git.openjdk.java.net/jdk18/pull/77.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk18 pull/77/head:pull/77

PR: https://git.openjdk.java.net/jdk18/pull/77


More information about the hotspot-compiler-dev mailing list