[CI run only] Enable FEATURE_INSTANTIATINGSTUB_AS_IL on win-x86#116331
[CI run only] Enable FEATURE_INSTANTIATINGSTUB_AS_IL on win-x86#116331filipnavara wants to merge 2 commits intodotnet:mainfrom
Conversation
|
@huoyaoyuan Any thoughts on how to benchmark this? Asking you since you worked on enabling the other |
|
@EgorBot -windows_intel -use32bit using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Running;
public class SimpleBench
{
[Benchmark]
public void InvokeGenericDelegate() => (new Action<Object>(ActionFunction)).Invoke(1);
void ActionFunction<T>(T obj) { }
} |
First I just viewed the generated assembly with |
|
Thanks, that helped. Seems like I will need to investigate if we can make the tailcalls work (ie. no |
99c7d50 to
8cad20f
Compare
8cad20f to
baa4619
Compare
Co-authored-by: Jakob Botsch Nielsen <[email protected]>
baa4619 to
5deed43
Compare
|
Closing this for now, there's too many paper cuts. I'll save the good bits of x86 fast tailcall in a branch for some other time. It's not too far off from working but even if it did work there are code quality issues that need to be resolved first. Analyzing the JIT output revealed three separate problems:
|
Seems like it works and passes tests, let's verify that. Needs some benchmarking.