Skip to content

Commit ff50f8f

Browse files
committed
Fill in two missing functions for Embedded Swift
`swift_coroFrameAlloc` is needed by `_read`/`_modify` accessors `swift_deallocUninitializedObject` which I believe is needed for failable class initializers Resolves rdar://157028375 Resolves rdar://157276375
1 parent 9fe4383 commit ff50f8f

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

stdlib/public/core/EmbeddedRuntime.swift

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,13 @@ func alignedAlloc(size: Int, alignment: Int) -> UnsafeMutableRawPointer? {
149149
return unsafe r
150150
}
151151

152+
@_cdecl("swift_coroFrameAlloc")
153+
public func swift_coroFrameAlloc(_ size: Int, _ type: UInt) -> UnsafeMutableRawPointer? {
154+
return unsafe alignedAlloc(
155+
size: size,
156+
alignment: _swift_MinAllocationAlignment)
157+
}
158+
152159
@_cdecl("swift_slowAlloc")
153160
public func swift_slowAlloc(_ size: Int, _ alignMask: Int) -> UnsafeMutableRawPointer? {
154161
let alignment: Int
@@ -178,6 +185,14 @@ func swift_allocObject(metadata: UnsafeMutablePointer<ClassMetadata>, requiredSi
178185
return unsafe object
179186
}
180187

188+
@_cdecl("swift_deallocUninitializedObject")
189+
public func swift_deallocUninitializedObject(object: Builtin.RawPointer, allocatedSize: Int, allocatedAlignMask: Int) {
190+
unsafe swift_deallocObject(
191+
object: UnsafeMutablePointer<HeapObject>(object),
192+
allocatedSize: allocatedSize,
193+
allocatedAlignMask: allocatedAlignMask)
194+
}
195+
181196
@_cdecl("swift_deallocObject")
182197
public func swift_deallocObject(object: Builtin.RawPointer, allocatedSize: Int, allocatedAlignMask: Int) {
183198
unsafe swift_deallocObject(object: UnsafeMutablePointer<HeapObject>(object), allocatedSize: allocatedSize, allocatedAlignMask: allocatedAlignMask)

0 commit comments

Comments
 (0)