-
Notifications
You must be signed in to change notification settings - Fork 545
AndroidUseInterpreter should work in net6 #5633
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Comments
This would be adding some new logic to: Basically emit some extra An additional work item would be to standardize on an MSBuild property for both iOS/Android, as |
I tried I'm working on a PR to update to use Edit The relevant runtime changes were to fix mono/mono#18893 - which was done in mono/mono#20159 - that PR went into dotnet/runtime |
This comment has been minimized.
This comment has been minimized.
This depends on a fix to mono/mono#18893 (make interp only mode distinct from MONO_AOT_MODE_LAST) which was done in mono/mono#20159 but only for .NET 6, not previous Mono releases. Fixes dotnet#5633
This depends on a fix to mono/mono#18893 (make interp only mode distinct from MONO_AOT_MODE_LAST) which was done in mono/mono#20159 but only for .NET 6, not previous Mono releases. Fixes dotnet#5633
This depends on a fix to mono/mono#18893 (make interp only mode distinct from MONO_AOT_MODE_LAST) which was done in mono/mono#20159 but only for .NET 6, not previous Mono releases. Fixes dotnet#5633
This depends on a fix to mono/mono#18893 (make interp only mode distinct from MONO_AOT_MODE_LAST) which was done in mono/mono#20159 but only for .NET 6, not previous Mono releases. Fixes dotnet#5633
This depends on a fix to mono/mono#18893 (make interp only mode distinct from MONO_AOT_MODE_LAST) which was done in mono/mono#20159 but only for .NET 6, not previous Mono releases. Fixes dotnet#5633
Fixes: #5633 Context: mono/mono#18893 Context: mono/mono#20159 The `$(AndroidUseInterpreter)` property (f5a9494), née the `$(_AndroidUseInterpreter)` property (42822e0), only worked with the Legacy runtime (mono/mono), not the .NET 6 MonoVM runtime. Update `src/monodroid` so that `$(AndroidUseInterpreter)` is now meaningful when running on the .NET 6 MonoVM runtime. When `$(AndroidUseInterpreter)`=True, set the AOT mode to `MonoAotMode::MONO_AOT_MODE_INTERP_ONLY`. This causes MonoVM to use it's builtin interpreter instead of the normal JIT behavior.
@lambdageek do we still need to do something on the MSBuild side when Do we need |
Can we make AndroidUseInterpreter opt out (meaning, default to true when debugging)? What do you think? That will enable these new functionalities by default, and allow users to turn it off if it's causing problems. |
There's two orthogonal issues:
(On the runtime side I will be implementing support for the new DOTNET_MODIFIABLE_ASSEMBLIES environment variable setting dotnet/runtime#47274 which will obviate the need to explicitly turn off inlining with environment variables. But obviously the new env var will need to be set) |
In .net4 AndroidUseInterpreter used to switch the runtime directory with one that includes an "-interpreter" suffix. That would automatically make the runtime use the interpreter. For net6, the runtime includes both versions in the package,
and the way to switch interpreter on is to add this environment variable:debug.mono.runtime_args=--interp=-inline
The parameter is at the moment unchanged for net6, meaning that it adds a prefix that doesn't work anymore, and it doesn't do the environment, which is needed. The ask is to switch to that and then make sure interpreter works (that may require some help from mono runtime).
Thanks!
J
The text was updated successfully, but these errors were encountered: