Files
swift-mirror/include/swift/Basic/RelativePointer.h
Slava Pestov fd6bfcab3f Runtime: New RelativeIndirectPointer template
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.
2018-03-27 16:24:18 -07:00

21 KiB