dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.95k stars 4.65k forks source link

Enable AltJit usage with disassembly-checked tests #106093

Open amanasifkhalid opened 1 month ago

amanasifkhalid commented 1 month ago

105541 adds tests that would benefit from having disasm checks to verify coverage of various SVE instruction patterns. However, these tests will be skipped on non-SVE CI machines, meaning no disasm files will be generated, and the disasm check will fail.

There is currently no way to conditionalize the disasm check's execution based on ISA availability, and skipping test execution completely (i.e. in the .csproj file with something like <CLRTestTargetUnsupported>) based on ISA availability seems nontrivial. It is likely easier to enable AltJit usage with disasm-checked tests. This would enable disasm verification to run correctly regardless of the underlying hardware's ISA support. Currently, this is blocked by the disasm check infrastructure using dotnet CLI under-the-hood, as it will pick up the DOTNET_AltJit environment variable, and fail to find the AltJit in the current directory; modifying the disasm check script to copy the altjit to the current directory beforehand should fix this, though there may be other blockers after.

dotnet-policy-service[bot] commented 1 month ago

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch See info in area-owners.md if you want to be subscribed.