-
Notifications
You must be signed in to change notification settings - Fork 5.1k
[CI run only] Enable FEATURE_INSTANTIATINGSTUB_AS_IL on win-x86 #116331
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CI run only] Enable FEATURE_INSTANTIATINGSTUB_AS_IL on win-x86 #116331
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 <Jakob.botsch.nielsen@gmail.com>
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.