Skip to content

[tools] Enable the 'InlineIsDirectBinding' optimization by default for all platforms. - #26496

Merged
rolfbjarne merged 6 commits into
mainfrom
dev/rolf/inline-isdirectbinding-by-default
Sep 7, 2026
Merged

rolfbjarne merged 6 commits into
mainfrom
dev/rolf/inline-isdirectbinding-by-default

Conversation

@rolfbjarne

@rolfbjarne rolfbjarne commented Aug 28, 2026

Copy link
Copy Markdown
Member

It's not possible to load external (unknown at build time) assemblies in .NET, so this shouldn't be a problem.

Also I can't see why using the interpreter would cause any problems, so remove that condition too.

Fixes #6046.

…r all platforms.

It's not possible to load external (unknown at build time) assemblies in .NET, so this shouldn't be a problem.

Also I can't see why using the interpreter would cause any problems, so remove that condition too.
Copilot AI lite review requested due to automatic review settings August 28, 2026 15:45
@rolfbjarne
rolfbjarne requested a review from dalexsoto as a code owner August 28, 2026 15:45

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR changes the default optimization settings in the bundler toolchain so that inline-isdirectbinding is enabled by default across all Apple platforms, removing the previous platform- and interpreter-based gating.

Changes:

  • Make InlineIsDirectBinding default to true unconditionally.
  • Remove the previous conditional logic that disabled the optimization on macOS and when the interpreter is enabled.

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

Comment thread tools/common/Optimizations.cs
@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

⚠️ AppSizeTest expected files changed ⚠️

The AppSizeTest detected changes in the expected app size files.

To update the expected files, add a comment with the following command:

/apply-gist https://gist.github.com/vs-mobiletools-engineering-service2/a951a2aac5efb34d613478a588c6659a
Updated files
  • iOS-MonoVM-interpreter-preservedapis.txt
  • MacCatalyst-MonoVM-interpreter-preservedapis.txt
  • MacOSX-NativeAOT-TrimmableStatic-size.txt
  • TVOS-MonoVM-interpreter-preservedapis.txt

Pipeline on Agent
Hash: c1c9442b314751b83e45b94be30bff7d94e45920 [PR build]

@rolfbjarne

Copy link
Copy Markdown
Member Author

/apply-gist https://gist.github.com/vs-mobiletools-engineering-service2/a951a2aac5efb34d613478a588c6659a

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

✅ Applied expected app size files from gist.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

✅ API diff for current PR / commit

NET (empty diffs)

✅ API diff vs stable

NET (empty diffs)

ℹ️ Generator diff

Generator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes)

Pipeline on Agent
Hash: b7ef4507a2198a254b2e3f49d42dfa7e4e04a07b [PR build]

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

🚀 [CI Build #b7ef450] Test results 🚀

Test results

✅ All tests passed on VSTS: test results.

🎉 All 264 tests passed 🎉

Tests counts

✅ assembly-processing: All 1 tests passed. Html Report (VSDrops) Download
✅ cecil: All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (iOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (MacCatalyst): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (macOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (Multiple platforms): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (tvOS): All 1 tests passed. Html Report (VSDrops) Download
✅ framework: All 2 tests passed. Html Report (VSDrops) Download
✅ fsharp: All 4 tests passed. Html Report (VSDrops) Download
✅ generator: All 5 tests passed. Html Report (VSDrops) Download
✅ interdependent-binding-projects: All 4 tests passed. Html Report (VSDrops) Download
✅ introspection: All 7 tests passed. Html Report (VSDrops) Download
✅ linker (iOS): All 31 tests passed. Html Report (VSDrops) Download
✅ linker (MacCatalyst): All 31 tests passed. Html Report (VSDrops) Download
✅ linker (macOS): All 21 tests passed. Html Report (VSDrops) Download
✅ linker (tvOS): All 31 tests passed. Html Report (VSDrops) Download
✅ monotouch (iOS): All 25 tests passed. Html Report (VSDrops) Download
✅ monotouch (MacCatalyst): All 25 tests passed. Html Report (VSDrops) Download
✅ monotouch (macOS): All 20 tests passed. Html Report (VSDrops) Download
✅ monotouch (tvOS): All 25 tests passed. Html Report (VSDrops) Download
✅ msbuild: All 2 tests passed. Html Report (VSDrops) Download
✅ sharpie: All 1 tests passed. Html Report (VSDrops) Download
✅ windows: All 3 tests passed. Html Report (VSDrops) Download
✅ xcframework: All 4 tests passed. Html Report (VSDrops) Download
✅ xtro: All 1 tests passed. Html Report (VSDrops) Download

macOS tests

✅ Tests on macOS Sonoma (14): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Sequoia (15): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Tahoe (26): All 5 tests passed. Html Report (VSDrops) Download

Linux Build Verification

Linux build succeeded

Pipeline on Agent
Hash: b7ef4507a2198a254b2e3f49d42dfa7e4e04a07b [PR build]

@rolfbjarne rolfbjarne added the ready-to-review This PR is ready to review/merge. label Sep 7, 2026
@rolfbjarne
rolfbjarne enabled auto-merge (squash) September 7, 2026 15:21
@rolfbjarne
rolfbjarne merged commit cf9b1bc into main Sep 7, 2026
54 checks passed
@rolfbjarne
rolfbjarne deleted the dev/rolf/inline-isdirectbinding-by-default branch September 7, 2026 15:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

copilot ready-to-review This PR is ready to review/merge.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[RFC] Possibly port IsDirectBinding optimization to Mac

4 participants