Skip to content

Commit 4fd5c93

Browse files
committed
[IRGen] Defined TI for TaskContinuationFunction.
1 parent a085fdb commit 4fd5c93

File tree

3 files changed

+17
-0
lines changed

3 files changed

+17
-0
lines changed

lib/IRGen/GenType.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1467,6 +1467,20 @@ const TypeInfo &TypeConverter::getSwiftContextPtrTypeInfo() {
14671467
return *SwiftContextPtrTI;
14681468
}
14691469

1470+
const TypeInfo &IRGenModule::getTaskContinuationFunctionPtrTypeInfo() {
1471+
return Types.getTaskContinuationFunctionPtrTypeInfo();
1472+
}
1473+
1474+
const TypeInfo &TypeConverter::getTaskContinuationFunctionPtrTypeInfo() {
1475+
if (TaskContinuationFunctionPtrTI) return *TaskContinuationFunctionPtrTI;
1476+
TaskContinuationFunctionPtrTI = createUnmanagedStorageType(
1477+
IGM.TaskContinuationFunctionPtrTy, ReferenceCounting::Unknown,
1478+
/*isOptional*/ false);
1479+
TaskContinuationFunctionPtrTI->NextConverted = FirstType;
1480+
FirstType = TaskContinuationFunctionPtrTI;
1481+
return *TaskContinuationFunctionPtrTI;
1482+
}
1483+
14701484
const LoadableTypeInfo &
14711485
IRGenModule::getReferenceObjectTypeInfo(ReferenceCounting refcounting) {
14721486
switch (refcounting) {

lib/IRGen/GenType.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ class TypeConverter {
106106
const LoadableTypeInfo *WitnessTablePtrTI = nullptr;
107107
const TypeInfo *TypeMetadataPtrTI = nullptr;
108108
const TypeInfo *SwiftContextPtrTI = nullptr;
109+
const TypeInfo *TaskContinuationFunctionPtrTI = nullptr;
109110
const TypeInfo *ObjCClassPtrTI = nullptr;
110111
const LoadableTypeInfo *EmptyTI = nullptr;
111112
const LoadableTypeInfo *IntegerLiteralTI = nullptr;
@@ -183,6 +184,7 @@ class TypeConverter {
183184
const LoadableTypeInfo &getRawPointerTypeInfo();
184185
const TypeInfo &getTypeMetadataPtrTypeInfo();
185186
const TypeInfo &getSwiftContextPtrTypeInfo();
187+
const TypeInfo &getTaskContinuationFunctionPtrTypeInfo();
186188
const TypeInfo &getObjCClassPtrTypeInfo();
187189
const LoadableTypeInfo &getWitnessTablePtrTypeInfo();
188190
const LoadableTypeInfo &getEmptyTypeInfo();

lib/IRGen/IRGenModule.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -894,6 +894,7 @@ class IRGenModule {
894894
const TypeInfo &getWitnessTablePtrTypeInfo();
895895
const TypeInfo &getTypeMetadataPtrTypeInfo();
896896
const TypeInfo &getSwiftContextPtrTypeInfo();
897+
const TypeInfo &getTaskContinuationFunctionPtrTypeInfo();
897898
const TypeInfo &getObjCClassPtrTypeInfo();
898899
const LoadableTypeInfo &getOpaqueStorageTypeInfo(Size size, Alignment align);
899900
const LoadableTypeInfo &

0 commit comments

Comments
 (0)