RFR' [performance] Avoid of usage ASM.Type from InnerClassLambdaMetafactory
Sergey Kuksenko
sergey.kuksenko at oracle.com
Thu Sep 12 05:13:47 PDT 2013
ok
On 09/12/2013 04:06 PM, Aleksey Shipilev wrote:
> On 09/12/2013 03:38 PM, Sergey Kuksenko wrote:
>> On 09/11/2013 09:33 PM, Aleksey Shipilev wrote:
>>> - the named locals in the current code are very telling; can you keep
>>> from inlining them where possible? Does it hurt interpreter performance
>>> to keep locals like in the current code?
>>
>> Could you show exact variables which you are missing. I think guessing
>> from my side would be not effective.
>
> Example:
>
> 434 Type argType = samArgumentTypes[i];
> 435 Type targetType = implMethodArgumentTypes[argOffset + i];
> 436 Type instantiatedArgType = instantiatedArgumentTypes[i];
> 437
> 438 visitVarInsn(argType.getOpcode(ILOAD), lvIndex + 1);
> 439 lvIndex += argType.getSize();
> 440 convertType(argType, targetType, instantiatedArgType);
>
> vs.
>
> 432 Class<?> argType = samType.parameterType(i);
> 433 visitVarInsn(getLoadOpcode(argType), lvIndex + 1);
> 434 lvIndex += getParameterSize(argType);
> 435 convertType(argType, implMethodType.parameterType(argOffset + i),
> instantiatedMethodType.parameterType(i));
>
> ...also the body of "if (samIncludesReceiver)".
>
> -Aleksey.
>
>
--
Best regards,
Sergey Kuksenko
More information about the lambda-dev
mailing list