[9] RFR (M): 8037209: Improvements and cleanups to bytecode assembly for lambda forms

Paul Sandoz paul.sandoz at oracle.com
Fri Mar 14 12:38:36 UTC 2014


On Mar 14, 2014, at 1:19 PM, Vladimir Ivanov <vladimir.x.ivanov at oracle.com> wrote:

> FYI, this change isn't limited to only bytecode assembly improvements, but also contains caching of lambda forms for setters/getter of typed arrays.
> 

Do you mean for MethodHandles.arrayElementGetter/Setter? If so i don't see relevant changes in:

http://cr.openjdk.java.net/~vlivanov/8037210/webrev.00/src/share/classes/java/lang/invoke/MethodHandleImpl.java.sdiff.html

to say MethodHandleImpl.ArrayAccessor:

    static final class ArrayAccessor {
        /// Support for array element access
        static final HashMap<Class<?>, MethodHandle> GETTER_CACHE = new HashMap<>();  // TODO use it
        static final HashMap<Class<?>, MethodHandle> SETTER_CACHE = new HashMap<>();  // TODO use it

Paul.

> If there are any objections, I can back the caching logic out and include it into one of upcoming changes.
> 
> Best regards,
> Vladimir Ivanov
> 
> On 3/14/14 3:45 PM, Vladimir Ivanov wrote:
>> http://cr.openjdk.java.net/~vlivanov/8037209/webrev.00/
>> https://bugs.openjdk.java.net/browse/JDK-8037209
>> 440 lines changed: 313 ins; 67 del; 60 mod
>> 
>> This is a cleanup of JSR292 code to improve bytecode assembly code for
>> lambda forms.
>> 
>> Contributed-by: john.r.rose at oracle.com
>> 
>> Testing: jdk/java/{lang/invoke,util}, vm.mlvm.testlist, nashorn, jruby
>> 
>> Configs: -ea -esa -Xverify:all -D...COMPILE_THRESHOLD={0,30}
>> -D...PROFILE_LEVEL={0,1}
>> 
>> Best regards,
>> Vladimir Ivanov
>> _______________________________________________
>> mlvm-dev mailing list
>> mlvm-dev at openjdk.java.net
>> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev




More information about the core-libs-dev mailing list