method handle cracking API
John Rose
john.r.rose at oracle.com
Thu May 2 19:32:21 PDT 2013
On Apr 24, 2013, at 12:02 AM, John Rose <john.r.rose at oracle.com> wrote:
> Those of you who have been following 292 details may have noticed the type java.lang.invoke.MethodHandleInfo show up in support of Project Lambda.
>
> The 292 EG has been thinking about the problem of method handle reflection, since JDK 7, in background mode. We are sure we want something that can "crack" direct method handles, and not ready to venture anything more elaborate.
I have updated the work in progress here:
http://hg.openjdk.java.net/mlvm/mlvm/jdk/file/tip/meth-info-8008688.patch
Here are the spec diffs:
http://cr.openjdk.java.net/~jrose/8008688/specdiff.01.pdf
Updates:
- added getModifiers and isVarArgs (hard to get otherwise and relevant to method handles)
- added getMember (bridge to Core Reflection; result is setAccessible(false))
- defined security and access checking
- added an optional argument "bypassAccessibilityChecks"
I'm not comfortable with the design of "bypassAccessibilityChecks" yet. I think I prefer Unsafe.setAccessible(Lookup) as a known-dangerous loophole. No good answers here yet.
— John
More information about the mlvm-dev
mailing list