-
Notifications
You must be signed in to change notification settings - Fork 5.1k
Introduce DOTNET_AltJitOS #64979
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
Introduce DOTNET_AltJitOS #64979
Conversation
Tagging subscribers to this area: @JulieLeeMSFT Issue Details#58279 merged all arm64 jits into a single universal binary. This PR adds back ability to specify target OS for ARM/ARM64, maybe in future we'll merge desktop alt jits too (or all of them).
|
nit: typical convention is to use uppercase for two letters: |
it feels weird, because JIT is also an abbreviation, so it should be either JitOs or JITOS. Anyway, it's case insensitive :) |
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
Yes, for more than two letters, it follows PascalCase (TargetOS, Xml and so on). |
Ok, changed to OS 🙂 |
@dotnet/jit-contrib @jakobbotsch PTAL |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need to add support for something like this in SuperPMI?
Currently, SPMI calls setTargetOS() with the OS that was used in collection. Do we need the ability to override that? E.g., collect on linux-arm64, replay targeting macos-arm64? It might not work anyway, if that causes different JIT/EE interface calls.
@@ -302,6 +302,7 @@ RETAIL_CONFIG_STRING_INFO(EXTERNAL_JitName, W("JitName"), "Primary Jit to use") | |||
#if defined(ALLOW_SXS_JIT) | |||
RETAIL_CONFIG_STRING_INFO(EXTERNAL_AltJitName, W("AltJitName"), "Alternative Jit to use, will fall back to primary jit.") | |||
RETAIL_CONFIG_STRING_INFO(EXTERNAL_AltJit, W("AltJit"), "Enables AltJit and selectively limits it to the specified methods.") | |||
RETAIL_CONFIG_STRING_INFO(EXTERNAL_AltJitOs, W("AltJitOS"), "Sets target OS for AltJit or uses native one by default. Only applicable for ARM/AMR64 at the moment.") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: I would use EXTERNAL_AltJitOS so the name exactly matches (including case) the variable name.
Also: typo: AMR64 => ARM64
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oops, will fix in a follow up!
Regarding SuperPMI - not sure, I just wanted to test ABI differences on ARM64
#58279 merged all arm64 jits into a single universal binary. This PR adds back ability to specify target OS for ARM/ARM64 in order to test ABI specifics, maybe in future we'll merge desktop alt jits too (or all of them).
Example:
to validate ios-arm64 ABI on windows host