> On 11 Nov 2015, at 15:32, Claes Redestad <claes.redes...@oracle.com> wrote:
> 
> Paul,
> 
> On 2015-11-10 11:55, Paul Sandoz wrote:
>> DirectMethodHandle
>> —
>>  682     private static @Stable NamedFunction[] FUNCTIONS = new 
>> NamedFunction[NF_LIMIT];
>> 
>> Invokers
>> —
>>  442     private static @Stable NamedFunction[] FUNCTIONS = new 
>> NamedFunction[NF_LIMIT];
>> 
>> MethodHandleImpl
>> —
>> 1627     private static @Stable NamedFunction[] FUNCTIONS = new 
>> NamedFunction[NF_LIMIT];
>> 
>> 
>> To be complete you could add “final”, thus it makes it clear that @Stable 
>> refers specifically to the array element.
>> 
>> Paul.
> 
> Thanks for having a look and catching this:
> 
> http://cr.openjdk.java.net/~redestad/8142334/webrev.03
> 
> - added final keyword to FUNCTIONS and HANDLES
> - added @Stable to ARRAYS, FILL_ARRAYS, and FILL_ARRAY_TO_RIGHT
> 

MethodHandleImpl.java
—

1413     private static final @Stable MethodHandle[] FILL_ARRAYS = new 
MethodHandle[FILL_ARRAYS_COUNT + 1];
1414
1415     private static MethodHandle getFillArray(int count) {
1416         assert (count > 0 && count <= FILL_ARRAYS_COUNT);

Why FILL_ARRAYS_COUNT + 1 rather than FILL_ARRAYS_COUNT?

Based on the previous code I would have expected the bounds to be:

  0 < count < FILL_ARRAYS_COUNT

Paul.

Reply via email to