Duncan,
Sorry for the confusion.
The patches apply in the following order:
(1) 8037209: Improvements and cleanups to bytecode assembly for
lambda forms
http://cr.openjdk.java.net/~vlivanov/8037209
(2) 8038261: JSR292: cache and reuse typed array accessors
http://cr.openjdk.java.net/~vlivanov/8038261
(3) 8049555: Move varargsArray from sun.invoke.util package to
java.lang.invoke
http://cr.openjdk.java.net/~vlivanov/8049555
(4) 8050052: Small cleanups in java.lang.invoke code
http://cr.openjdk.java.net/~vlivanov/8050052
(5) 8050053: Improve caching of different invokers
http://cr.openjdk.java.net/~vlivanov/8050053
(6) 8050166: Get rid of some package-private methods on arguments in
j.l.i.MethodHandle
http://cr.openjdk.java.net/~vlivanov/8050166
(7) 8050173: Add j.l.i.MethodHandle.copyWith(MethodType, LambdaForm)
http://cr.openjdk.java.net/~vlivanov/8050173
(8) 8050174: Support overriding of isInvokeSpecial flag in WrappedMember
http://cr.openjdk.java.net/~vlivanov/8050174
(9) 8050057: Improve caching of MethodHandle reinvokers
http://cr.openjdk.java.net/~vlivanov/8050057
(10) 8050200: Make LambdaForm intrinsics detection more robust
http://cr.openjdk.java.net/~vlivanov/8050200
You can find the full mq patch set here:
http://cr.openjdk.java.net/~vlivanov/lfc/patches.latest/
Best regards,
Vladimir Ivanov
On 7/15/14 1:58 PM, MacGregor, Duncan (GE Energy Management) wrote:
I may be slightly confused as to the order in which these patches are
expected to be applied & merged but there seems to be some considerable
interaction.
Which patch set is meant to remove the final attribute from
BoundMethodHandle.internalProperties()? I can¹t find it in any of the ones
you¹ve submitted.
Duncan.
On 14/07/2014 16:17, "Vladimir Ivanov" <vladimir.x.iva...@oracle.com>
wrote:
http://cr.openjdk.java.net/~vlivanov/8050057/webrev.00/
https://bugs.openjdk.java.net/browse/JDK-8050057
Cache MethodHandle reinvokers per basic type.
For BoundMethodHandles, rebinding is no-op unless underlying LF is too
complex (see BMH::tooComplex() for details).
Also, introduced DelegatingMethodHandle whose invocation behavior is
determined by a target MethodHandle. The delegating MH itself can hold
extra "intentions" beyond the simple behavior.
AsVarargsCollector and WrappedMember are made subclasses of
DelegatingMethodHandle. Also, SimpleMethodHandle extends
BoundMethodHandle now.
Rebinding and delegation share same logic and LF shape, but have
different caches (LF_REBIND vs LF_DELEGATE). The only difference is
their name. They could be consolidated in the future.
Testing: jdk/java/lang/invoke, jdk/java/util/streams, nashorn, octane w/
"-ea -esa" and COMPILE_THRESHOLD={0,30}.
Reviewed-by: vlivanov, ?
Contributed-by: john.r.r...@oracle.com
Thanks!
Best regards,
Vladimir Ivanov
_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev