-
Notifications
You must be signed in to change notification settings - Fork 113
Add 'NoInlining' to marshalling stubs #1953
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
base: dev/disable-marshaler-t-aot
Are you sure you want to change the base?
Conversation
333f649
to
92c9e44
Compare
Is it really profitable to mark close to everything with I would expect it to be profitable only for small methods that are called from many places for which you may not be happy about the codesize / perf tradeoff done by the JIT. There should be relatively a few of those.
|
We're not entirely sure yet, I was going to try this out in the Store and check the size diff. @MichalStrehovsky suggested making this change to match what .NET Native is doing. Looking at some diffs in the Store, it seems we're currently inlining a ton of these marshalling stubs, and he estimated we might save ~5MB just with this change. There's more details from Michal earlier on in the email thread about .NET Native vs Native AOT regression tracking that Andy added you the other day, if you're curious 🙂 I'll report back when I get numbers from this change and then we can reevaluate, I assume? |
It would be interesting to find the top 100 |
92c9e44
to
c07f758
Compare
c07f758
to
5d21903
Compare
This PR adds
NoInlining
to all marshalling stubs. This matches .NET Native and should reduce binary size.