File tree Expand file tree Collapse file tree 1 file changed +10
-2
lines changed Expand file tree Collapse file tree 1 file changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -59,13 +59,21 @@ internal class _NSCFString : NSMutableString {
59
59
60
60
internal final class _NSCFConstantString : _NSCFString {
61
61
internal var _ptr : UnsafePointer < UInt8 > {
62
- let offset = MemoryLayout < OpaquePointer > . size + MemoryLayout < Int32 > . size + MemoryLayout < Int32 > . size + MemoryLayout < _CFInfo > . size
62
+ // FIXME: Split expression as a work-around for slow type
63
+ // checking (tracked by SR-5322).
64
+ let offTemp1 = MemoryLayout < OpaquePointer > . size + MemoryLayout < Int32 > . size
65
+ let offTemp2 = MemoryLayout < Int32 > . size + MemoryLayout < _CFInfo > . size
66
+ let offset = offTemp1 + offTemp2
63
67
let ptr = Unmanaged . passUnretained ( self ) . toOpaque ( )
64
68
return ptr. load ( fromByteOffset: offset, as: UnsafePointer< UInt8> . self )
65
69
}
66
70
67
71
private var _lenOffset : Int {
68
- return MemoryLayout < OpaquePointer > . size + MemoryLayout < Int32 > . size + MemoryLayout < Int32 > . size + MemoryLayout < _CFInfo > . size + MemoryLayout < UnsafePointer < UInt8 > > . size
72
+ // FIXME: Split expression as a work-around for slow type
73
+ // checking (tracked by SR-5322).
74
+ let offTemp1 = MemoryLayout < OpaquePointer > . size + MemoryLayout < Int32 > . size
75
+ let offTemp2 = MemoryLayout < Int32 > . size + MemoryLayout < _CFInfo > . size
76
+ return offTemp1 + offTemp2 + MemoryLayout< UnsafePointer< UInt8>>. size
69
77
}
70
78
71
79
private var _lenPtr : UnsafeMutableRawPointer {
You can’t perform that action at this time.
0 commit comments