review request (L): JDK changes for 7023639: JSR 292 method handle invocation needs a fast path for compiled code
Vladimir Kozlov
vladimir.kozlov at oracle.com
Fri Jul 13 11:36:23 PDT 2012
BoundMethodHandle.java:
I am concern that BMH subclass names are looks like constants names: BMH_LLI.
In several places you have BMH constants and variables:
+ final Class<BoundMethodHandle> BMH = BoundMethodHandle.class;
+ static final String BMH = "java/lang/invoke/BoundMethodHandle";
ThrowExceptionsTest.java: empty diffs
ValueConversionsTest.java:
remove commented print statement if it is not needed:
- System.out.println(arrayType.getSimpleName());
+ //System.out.println(arrayType.getSimpleName());
Vladimir
John Rose wrote:
> On Jul 11, 2012, at 5:53 PM, John Rose wrote:
>
>> As some of you have noticed, Chris Thalinger, Michael Haupt, and I have been working on the mlvm patches [1] for JEP-160 [2] for several months. These changes make method handles more optimizable. They refactor lots of "magic" out of the JVM and into more manageable Java code.
>> …
>> An associated webrev for hotspot-comp/jdk/ will be posted soon; it is already present on mlvm-dev for the curious to examine. (This change set also deletes a lot of old code.)
>
> Here is that webrev:
> http://cr.openjdk.java.net/~jrose/7023639/webrev.jdk.00/
>
> These are the changes to JDK code that accompany the JVM changes already under review.
>
> There are 2900 LOC deleted, and 7000 LOC added. Key changes:
> - method handle behavior is fully represented by LambdaForm objects
> - chained method handles (including "adapter method handles") are gone
> - an ASM-based bytecode spinner compiles LambdaForms when they warm up
> - bound method handles are compactly represented without boxing
> - the private symbol-resolution interface to the JVM (MemberName) is improved
> - unit tests have more systematic coverage
> - a number of minor bugs are fixed
>
> This is implementation work. No public Java APIs are changed, although the javadoc is slightly edited for clarity.
>
> Please have a look.
>
> — John
More information about the mlvm-dev
mailing list