Uh oh!
There was an error while loading. Please reload this page.
[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 into
Conversation
filipnavara
commented
Jun 5, 2025
@huoyaoyuan Any thoughts on how to benchmark this? Asking you since you worked on enabling the other |
filipnavara
commented
Jun 5, 2025
@EgorBot -windows_intel -use32bit usingBenchmarkDotNet.Attributes;usingBenchmarkDotNet.Running;publicclassSimpleBench{[Benchmark]publicvoidInvokeGenericDelegate()=>(newAction<Object>(ActionFunction)).Invoke(1);voidActionFunction<T>(Tobj){}} |
huoyaoyuan
commented
Jun 5, 2025
First I just viewed the generated assembly with |
filipnavara
commented
Jun 5, 2025
Thanks, that helped. Seems like I will need to investigate if we can make the tailcalls work (ie. no |
99c7d50 to
8cad20fCompare8cad20f to
baa4619CompareCo-authored-by: Jakob Botsch Nielsen <Jakob.botsch.nielsen@gmail.com>
baa4619 to
5deed43CompareClosing 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.