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

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Fri Mar 14 13:17:56 UTC 2014


Paul,

You are looking at the other fix (8037210).
The correct link is [1].

Best regards,
Vladimir Ivanov

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

On 3/14/14 4:38 PM, Paul Sandoz wrote:
>
> On Mar 14, 2014, at 1:19 PM, Vladimir Ivanov
> <vladimir.x.ivanov at oracle.com <mailto: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
>
>
>
> _______________________________________________
> 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