RFR: 8280377: MethodHandleProxies does not correctly invoke default methods with varags [v2]

Mandy Chung mchung at openjdk.java.net
Mon Jan 24 23:03:49 UTC 2022


> The MethodHandle of a default method should be made as a fixed arity method handle because it is invoked via Proxy's invocation handle with a non-vararg array of arguments.  On the other hand, the `InvocationHandle::invokeDefault` method  was added in Java 16 to invoke a default method of a proxy instance.  This patch simply converts the implementation to call `InvocationHandle::invokeDefault` instead.

Mandy Chung has updated the pull request incrementally with three additional commits since the last revision:

 - revert MethodHandlesProxiesTest change
 - Add new regression test
 - Should not perform access check on the interface as specified

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/7185/files
  - new: https://git.openjdk.java.net/jdk/pull/7185/files/56542fc2..5d1f3477

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

  Stats: 572 lines in 13 files changed: 412 ins; 158 del; 2 mod
  Patch: https://git.openjdk.java.net/jdk/pull/7185.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/7185/head:pull/7185

PR: https://git.openjdk.java.net/jdk/pull/7185


More information about the core-libs-dev mailing list