Why is LambdaMetafactory 10% slower than a static MethodHandle but 80% faster than a non-static MethodHandle?

Jochen Theodorou blackdrag at gmx.org
Mon Feb 19 23:38:41 UTC 2018


On 20.02.2018 00:14, Vladimir Ivanov wrote:
> 
>> Sorry if it's a dumb question, but why nonStaticMethodHandle cannot 
>> get inlined here? -- In the benchmark it's always the same line with 
>> the same final MethodHandle variable, can JIT based on some profiling 
>> info to inline it (similar to the function object generated by 
>> LambdaMetafactory). -- Or it cannot sine InvokeExact's 
>> PolymorphicSignature makes it quite special?
> 
> Yes, method handle invokers are special and ordinary type profiling 
> (class-based) doesn't work for them.

I am absolutely not uptodate here, but there was talk about trace based 
type profiling. Did that become reality?

bye Jochen


More information about the mlvm-dev mailing list