Review request: JDK-8157246 MHs.arrayLength, arrayElementGetter/Setter, arrayConstructor need to specify invocation-time behavior

Paul Sandoz paul.sandoz at
Wed Nov 8 16:49:41 UTC 2017

> On 7 Nov 2017, at 12:06, mandy chung <mandy.chung at> wrote:
> This fixes the spec of MethodHandles::arrayLength, arrayConstructor, arrayElementGetter/Setter to specify the behavior if the returned method handle is invoked with null array or invalid index; same runtime exception thrown by the bytecode behavior.  MethodHandle::asSpreader spec is also clarified to throw NPE and IAE except when it spreads with no argument and the returned method handle accepts a zero-length array or null array.

Looks good, minor comment.


 889      * When the adapter is called, the length of the supplied {@code array}
 890      * argument is queried as if by {@code array.length} or {@code arrayLength}


See also MethodHandles.


More information about the core-libs-dev mailing list