[5.0] Future-proof the ARM64 ABI by not reserving the entire top byte #21474
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Targets that want to use armv8.5a memory tagging will need this. Hopefully nobody comes up with a brilliant reason they need to use anything else.
I considered whether to push this to other 64-bit targets and decided that it was pretty architecture-specific. If somehow x86-64 adds a similar feature, there's no reason to think it'll look exactly the same down to the range of bits it claims. (Intel is probably also less likely to be willing to sacrifice address space, whereas ARM already made that decision due to TBI.)
This is the 5.0 version of #21453, which means it is a re-submission of #21015, the 5.0 version of #21000. It is contingent on a fix to
String
to no longer assume that that it can use the entire top 8 bits (master #21310, 5.0 #21392) and a corresponding fix to LLDB (master apple/swift-lldb#1168, 5.0 apple/swift-lldb#1169).This is ABI-affecting.