-
Notifications
You must be signed in to change notification settings - Fork 515
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
Set DynamicCodeSupport=false
to enable trimming in full AOT mode
#18555
Set DynamicCodeSupport=false
to enable trimming in full AOT mode
#18555
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
The failures seem to be related. |
#88723) - Ship a single assembly for all platforms, and have better compatibility between our AOT engines - Size of the shipped assembly for iOS-like platforms is increased by ~113Kb - The fullAOT + UseInterpreter=true configurations with Mono are now interpreting Ref.Emit generated code instead of using Reflection - To prevent size regressions with Mono xamarin/xamarin-macios#18555 needs to be merged
After an offline discussion with @mandel-macaque it seems this is related to building universal apps. During the build, the app bundles created for
runtimeconfig.bin as they are different (I am posting the difference between runtimeconfig.jsons which is essentially the same thing):
QuestionHow much are we sensitive to maccatalyst app size? ProposalAs this is purely a size-saving (trimming) optimization, a potential fix to this problem is to exclude |
Your proposed solution seems fine to me. |
Thanks, I will try to get some app size numbers for the proposed solution regarding |
I have excluded |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
The failed tests seem unrelated as they are timing out. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
… watchOS as it is not supported on dotnet Co-authored-by: Rolf Bjarne Kvinge <[email protected]>
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
…sable-dynamic-code
💻 [CI Build] Windows Integration Tests passed 💻✅ All Windows Integration Tests passed. Pipeline on Agent |
📚 [PR Build] Artifacts 📚Packages generatedView packagesPipeline on Agent |
💻 [PR Build] Tests on macOS M1 - Mac Big Sur (11.5) passed 💻✅ All tests on macOS M1 - Mac Big Sur (11.5) passed. Pipeline on Agent |
💻 [PR Build] Tests on macOS M1 - Mac Ventura (13.0) passed 💻✅ All tests on macOS M1 - Mac Ventura (13.0) passed. Pipeline on Agent |
✅ API diff for current PR / commitNET (empty diffs)
❗ API diff vs stable (Breaking changes).NET (:heavy_exclamation_mark: Breaking changes :heavy_exclamation_mark:)
ℹ️ Generator diffGenerator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes) Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
The previous build failures are now gone, but the tests are still failing on CI.
@rolfbjarne should we just try to rerun them? |
Yup, done |
🚀 [CI Build] Test results 🚀Test results✅ All tests passed on VSTS: simulator tests. 🎉 All 92 tests passed 🎉 Tests counts
Pipeline on Agent |
This PR sets the feature switch
DynamicCodeSupport
tofalse
for platforms:This enables ILLink to remove code paths depending on
RuntimeFeature.IsDynamicCodeSupported
for example:https://github.com/dotnet/runtime/blob/dedaf46154a8938848fc9a7e0bd6e5ccebe7809c/src/libraries/System.Linq.Expressions/src/System/Linq/Expressions/Interpreter/CallInstruction.cs#L19
To further clarify which platforms are included for this size optimizations according to comment:
Estimated size savings are shown bellow:
Fixes #18340