-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
tailcalls_do / tailcalls_d fail on Windows ARM64 #31729
Comments
@jashook @erozenfeld @jakobbotsch @dotnet/jit-contrib I think these need to be disabled for Windows/arm64. |
The tailcall stress tests do not rely on helper-based tailcalls working. This is probably an actual bug in the implementation of fast tailcalls in Windows arm64 or a bug in the implementation of the ABI on that platform. To get a better test case on windows arm64 I would rerun the test with smaller and smaller |
Let's look at this for .NET 5. |
LowerFastTailCall has code that looks for incoming stack arguments that may be overwritten by outgoing stack arguments and copies them to a temp. The logic was incorrect for Windows Arm64 because it was assuming shadow space, which only exists in Windows x64 abi. Fixes dotnet#31729. Fixes dotnet#36911.
Example repro:
https://dev.azure.com/dnceng/public/_build/results?buildId=494779&view=ms.vss-test-web.build-test-results-tab&runId=15897688&resultId=100793&paneView=debug
Diagnostic info:
The
issues.targets
already disables some JIT tests with the issue set to "Requires helper-based tailcalls"; not sure whether this is related. CC @janvorli who was involved in the tailcall design and parts of its implementation AFAIK.category:correctness
theme:testing
skill-level:expert
cost:small
The text was updated successfully, but these errors were encountered: