RFR' [performance] Avoid of usage ASM.Type from InnerClassLambdaMetafactory
Aleksey Shipilev
aleksey.shipilev at oracle.com
Thu Sep 12 05:06:41 PDT 2013
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.
More information about the lambda-dev
mailing list