Skip to content

Conversation

@TNorthover
Copy link

Should fix the AArch64 convention and add support for ARM.

1. We were allocating arg stack space twice for tail calls, once manually and
once in the CallSeq instructions.

2. We sometimes moved sp right to its entry point and then subtracted it again
to "reallocate" argument stack space. During that interval arguments are
vulnerable to clobbering by a  kernel interruption.

3. We weren't reserving space at incoming SP for the largest potential tail
call this function makes, so we clobbered callee-saved registers (and anything
else in the way) with arguments.
@TNorthover
Copy link
Author

@swift-ci please test

@TNorthover TNorthover merged commit 1c33894 into swiftlang:apple/stable/20210107 Feb 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant