-
Notifications
You must be signed in to change notification settings - Fork 528
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
All assemblies per rid #8187
Closed
Closed
All assemblies per rid #8187
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Migrate to opaque pointers (LLVM 15+) which will be the only ones supported from LLVM 16 onwards * Change code generation model. Now the "client" classes don't need to concern themselves with **how** the LLVM IR code looks and how it is formatted. Instead, they build a model of the code they want to output and let the generator do the rest. * Handle many more tasks automatically: * LLVM IR string management and registration * Buffer management for structures which have pointers to buffers * References to local variables and strings * Local temporary counting (unnamed labels and function parameters)
* main: [tests] Remove `XASdkDeployTests` (dotnet#8139)
LLVM IR we use now generates slightly different native assembler code
* main: Bump to google/bundletool@f17ce94a (dotnet#8135) [Xamarin.Android.Build.Tasks] Handle IOException in Aapt2Daemon (dotnet#8130) [tests] don't set `/uses-sdk@android:targetSdkVersion=34` by default (dotnet#8138)
* main: $(AndroidPackVersionSuffix)=preview.7; net8 is 34.0.0-preview.7 (dotnet#8149) [Mono.Android] Bind and enumify API-34 (dotnet#8116)
Apps segfault at startup when AOT is enabled, and yet typemaps appear to be indentical... Investigation TBC tomorrow
* main: [xaprepare] update Debian dependencies for current unstable (trixie) (dotnet#8169)
* main: Bump to dotnet/installer@28d4a6b4be 8.0.100-preview.7.23330.16 (dotnet#8162) [Xamarin.Android.Build.Tasks] Move MonoAndroidAssetsDirIntermediate (dotnet#8166) [xaprepare] update Debian dependencies for current unstable (trixie) (dotnet#8169) [CI] Use dotnet test slicer in nightly tests (dotnet#8154) [Xamarin.Android.Build.Tasks] MarshalMethodsAssemblyRewriter+new file (dotnet#8151) Bump to dotnet/installer@d2a244f560 8.0.100-preview.7.23325.5 (dotnet#8142)
* typemap-per-rid-support: More test fixes Fix test failures New typemap scanner, disable marshal methods by default Something isn't right... Typemaps generated properly, testing and marshal methods tomorrow Beginning to fix typemaps for per-abi assemblies
* main: Bump to dotnet/installer@28d4a6b4be 8.0.100-preview.7.23330.16 (dotnet#8162) [Xamarin.Android.Build.Tasks] Move MonoAndroidAssetsDirIntermediate (dotnet#8166)
* main: Bump external/Java.Interop from `738de61` to `e1121ea` (dotnet#8132)
* typemap-per-rid-support: Remove debug stuff Let's see if using the resolver directly helps More printfs Add some timing debug prints Bump external/Java.Interop from `738de61` to `e1121ea` (dotnet#8132)
* typemap-per-rid-support: Use a custom assembly resolver
A small wart remains, named in the TODO comment
* main: Bump to xamarin/Java.Interop/main@d7f41c4 (dotnet#8386)
Next: packaging and native side
* main: Bump external/Java.Interop from `d7f41c4` to `8e63cc8` (dotnet#8388)
Removed all the sources related to the previous assembly compression implementation
* main: [Mono.Android] Generate API docs for android-34 (dotnet#8383) [ci] Skip Linux apt upgrade step (dotnet#8396)
Still pondering how to make shared libraries with embedded assemblies perform well.
* main: [Xamarin.Android.Build.Tasks] Add support for $(AndroidEnableObsoleteOverrideInheritance). (dotnet#8393) [Xamarin.Android.Build.Tasks] Make manifestmerger.jar the default. (dotnet#8392)
* main: [Xamarin.Android.Build.Tasks] case-insensitive Legacy Designer fixup (dotnet#8376) [build] Update docs and remove `xabuild` mentions (dotnet#8406) Bump to xamarin/java.interop/main@ed63d890 (dotnet#8407)
* main: [Xamarin.Android.Build.Tasks] Fix up ForegroundService.ToString() (dotnet#8412) [monodroid] Hush some messages logged by default on startup (dotnet#8414)
Will most likely end up using function pointers instead of virtual dispatch. A bit more cumbersome but more efficient. The goal is to get rid of `if` statements which check, for each assembly load request, whether we should load from the APK or from the filesystem - this is simply wasted time, since we know at the start which one of those choices is correct and that it doesn't change until the app is reinstalled.
* main: [Xamarin.Android.Build.Tasks] Include Bindings Design Time builds (dotnet#8357)
Some other experiments turned out not to fit the bill, good old pointers win hands down. Tiny performance improvements and code rearranging
Experimented with various ideas to improve performance, none of which really panned out as the results were very unstable.
* main: [Mono.Android] Generate API docs with "full" verbosity (dotnet#8435) [profiled-aot] update profile for .NET 8 GA (dotnet#8428) Bump to xamarin/Java.Interop/main@3c83179 (dotnet#8429) [Xamarin.Android.Build.Tasks] Small refactoring to `AddKeepAlives` method (dotnet#8423) [Xamarin.Android.Build.Tasks] Fixup indirect resource references (dotnet#8416)
Ditched mutex, switched to simple spinlocks and atomic reads instead. Generates much better code on ARM64 (and that's our main target atm)
* main: Bump to xamarin/monodroid@47bdaaa9 (dotnet#8433) [docs] .NET 8 simplified `dotnet-trace` instructions (dotnet#8436)
31% performance loss atm :(
This was referenced Oct 23, 2023
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.