mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
We have RelativeDirectPointer and RelativeIndirectablePointer. The latter cannot be used with function pointers because it assumes the payload is 2-byte aligned and uses the least significant bit to dynamically distinguish a direct pointer from an indirect pointer. For resilient conformances, we want to use protocol dispatch thunks as keys in the witness table template. They're not 2 byte aligned, and they're always defined in a different image, so we need an unconditional indirect relative pointer template.
21 KiB
21 KiB