[9] RFR (M): 8050057: Improve caching of MethodHandle reinvokers

MacGregor, Duncan (GE Energy Management) duncan.macgregor at ge.com
Tue Jul 15 09:58:23 UTC 2014


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.ivanov at 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.rose at oracle.com
>
>Thanks!
>
>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 mlvm-dev mailing list