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

Vladimir Ivanov vlivanov at openjdk.java.net
Tue Jan 4 12:38:19 UTC 2022


On Mon, 3 Jan 2022 18:45:25 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

> 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

This pull request has now been integrated.

Changeset: 95a3010a
Author:    Vladimir Ivanov <vlivanov at openjdk.org>
URL:       https://git.openjdk.java.net/jdk18/commit/95a3010acf822a76bf0e1ebffdddce5d38b75e7b
Stats:     120 lines in 4 files changed: 92 ins; 11 del; 17 mod

8275830: C2: Receiver downcast is missing when inlining through method handle linkers

Reviewed-by: kvn, dlong

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

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


More information about the hotspot-compiler-dev mailing list