@@ -106,69 +106,132 @@ protocol NativelySlowServing {
106
106
extension SlowServer : NativelySlowServing { }
107
107
108
108
class SlowServerlet : SlowServer {
109
- // CHECK-LABEL: sil{{.*}}13SlowServerlet{{.*}}011doSomethingE8Nullably{{.*}}
110
- // CHECK: [[GENERIC_EXECUTOR:%.*]] = enum $Optional<Builtin.Executor>, #Optional.none
111
- // CHECK: hop_to_executor [[GENERIC_EXECUTOR]] :
109
+ // Native Function
110
+ //
111
+ // CHECK-LABEL: sil hidden [ossa] @$s21objc_async_from_swift13SlowServerletC011doSomethingE8NullablyySiSSYaF : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, @guaranteed String, @guaranteed SlowServerlet) -> Int {
112
+ // CHECK: bb0([[ACTOR:%.*]] : @guaranteed $Optional<any Actor>
113
+ // CHECK: hop_to_executor [[ACTOR]]
114
+ // CHECK: // end sil function '$s21objc_async_from_swift13SlowServerletC011doSomethingE8NullablyySiSSYaF'
115
+
116
+ // @objc thunk closure
117
+ //
118
+ // CHECK-LABEL: sil shared [thunk] [ossa] @$s21objc_async_from_swift13SlowServerletC011doSomethingE8NullablyySiSSYaFyyYacfU_To : $@convention(thin) @Sendable @async (NSString, Optional<@convention(block) @Sendable (Int) -> ()>, SlowServerlet) -> () {
119
+ // CHECK: [[ACTOR:%.*]] = enum $Optional<any Actor>, #Optional.none!enumelt
120
+ // CHECK: [[FUNC:%.*]] = function_ref @$s21objc_async_from_swift13SlowServerletC011doSomethingE8NullablyySiSSYaF : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, @guaranteed String, @guaranteed SlowServerlet) -> Int
121
+ // CHECK: apply [[FUNC]]([[ACTOR]],
122
+ // CHECK: } // end sil function '$s21objc_async_from_swift13SlowServerletC011doSomethingE8NullablyySiSSYaFyyYacfU_To'
112
123
override func doSomethingSlowNullably( _: String ) async -> Int {
113
124
return 0
114
125
}
115
126
116
- // CHECK-LABEL: sil{{.*}}13SlowServerlet{{.*}}18findAnswerNullably{{.*}}
117
- // CHECK: [[GENERIC_EXECUTOR:%.*]] = enum $Optional<Builtin.Executor>, #Optional.none
118
- // CHECK: hop_to_executor [[GENERIC_EXECUTOR]] :
127
+ // Native function.
128
+ //
129
+ // CHECK-LABEL: sil hidden [ossa] @$s21objc_async_from_swift13SlowServerletC18findAnswerNullablyyS2SYaF : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, @guaranteed String, @guaranteed SlowServerlet) -> @owned String {
130
+ // CHECK: bb0([[ACTOR:%.*]] : @guaranteed $Optional<any Actor>,
131
+ // CHECK: hop_to_executor [[ACTOR]]
132
+ // CHECK: } // end sil function '$s21objc_async_from_swift13SlowServerletC18findAnswerNullablyyS2SYaF'
133
+
134
+ // @objc closure thunk
135
+ // CHECK-LABEL: sil shared [thunk] [ossa] @$s21objc_async_from_swift13SlowServerletC18findAnswerNullablyyS2SYaFyyYacfU_To : $@convention(thin) @Sendable @async (NSString, Optional<@convention(block) @Sendable (NSString) -> ()>, SlowServerlet) -> () {
136
+ // CHECK: [[ACTOR:%.*]] = enum $Optional<any Actor>, #Optional.none!enumelt
137
+ // CHECK: [[FUNC:%.*]] = function_ref @$s21objc_async_from_swift13SlowServerletC18findAnswerNullablyyS2SYaF : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, @guaranteed String, @guaranteed SlowServerlet) -> @owned String
138
+ // CHECK: apply [[FUNC]]([[ACTOR]],
139
+ // CHECK: } // end sil function '$s21objc_async_from_swift13SlowServerletC18findAnswerNullablyyS2SYaFyyYacfU_To'
119
140
override func findAnswerNullably( _ x: String ) async -> String {
120
141
return x
121
142
}
122
143
123
- // CHECK-LABEL: sil{{.*}}13SlowServerlet{{.*}}28doSomethingDangerousNullably{{.*}} :
124
- // CHECK: [[GENERIC_EXECUTOR:%.*]] = enum $Optional<Builtin.Executor>, #Optional.none
125
- // CHECK: hop_to_executor [[GENERIC_EXECUTOR]] :
144
+ // Native
145
+ //
146
+ // CHECK-LABEL: sil hidden [ossa] @$s21objc_async_from_swift13SlowServerletC28doSomethingDangerousNullablyyS2SYaKF : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, @guaranteed String, @guaranteed SlowServerlet) -> (@owned String, @error any Error) {
147
+ // CHECK: bb0([[ACTOR:%.*]] : @guaranteed $Optional<any Actor>,
148
+ // CHECK: hop_to_executor [[ACTOR]]
149
+ // CHECK: } // end sil function '$s21objc_async_from_swift13SlowServerletC28doSomethingDangerousNullablyyS2SYaKF'
150
+
151
+ // @objc thunk closure
152
+ //
153
+ // CHECK-LABEL: sil shared [thunk] [ossa] @$s21objc_async_from_swift13SlowServerletC28doSomethingDangerousNullablyyS2SYaKFyyYacfU_To : $@convention(thin) @Sendable @async (NSString, Optional<@convention(block) @Sendable (Optional<NSString>, Optional<NSError>) -> ()>, SlowServerlet) -> () {
154
+ // CHECK: [[ACTOR:%.*]] = enum $Optional<any Actor>, #Optional.none!enumelt
155
+ // CHECK: [[NATIVE:%.*]] = function_ref @$s21objc_async_from_swift13SlowServerletC28doSomethingDangerousNullablyyS2SYaKF : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, @guaranteed String, @guaranteed SlowServerlet) -> (@owned String, @error any Error)
156
+ // CHECK: apply [[NATIVE]]([[ACTOR]],
157
+ // CHECK: } // end sil function '$s21objc_async_from_swift13SlowServerletC28doSomethingDangerousNullablyyS2SYaKFyyYacfU_To'
126
158
override func doSomethingDangerousNullably( _ x: String ) async throws -> String {
127
159
return x
128
160
}
129
161
130
- // CHECK-LABEL: sil{{.*}}13SlowServerlet{{.*}}30doSomethingUnspecifiedNullably{{.*}} :
131
- // CHECK: [[GENERIC_EXECUTOR:%.*]] = enum $Optional<Builtin.Executor>, #Optional.none
132
- // CHECK: hop_to_executor [[GENERIC_EXECUTOR]] :
162
+ // Native
163
+ //
164
+ // CHECK-LABEL: sil hidden [ossa] @$s21objc_async_from_swift13SlowServerletC30doSomethingUnspecifiedNullablySSyYaKF : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, @guaranteed SlowServerlet) -> (@owned String, @error any Error) {
165
+ // CHECK: bb0([[ACTOR:%.*]] : @guaranteed $Optional<any Actor>,
166
+ // CHECK: hop_to_executor [[ACTOR]]
167
+ // CHECK: } // end sil function '$s21objc_async_from_swift13SlowServerletC30doSomethingUnspecifiedNullablySSyYaKF'
168
+
169
+ // @objc closure thunk
170
+ // CHECK-LABEL: sil shared [thunk] [ossa] @$s21objc_async_from_swift13SlowServerletC30doSomethingUnspecifiedNullablySSyYaKFyyYacfU_To : $@convention(thin) @Sendable @async (Optional<@convention(block) @Sendable (Optional<NSString>, Optional<NSError>) -> ()>, SlowServerlet) -> () {
171
+ // CHECK: [[ACTOR:%.*]] = enum $Optional<any Actor>, #Optional.none!enumelt
172
+ // CHECK: [[NATIVE:%.*]] = function_ref @$s21objc_async_from_swift13SlowServerletC30doSomethingUnspecifiedNullablySSyYaKF : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, @guaranteed SlowServerlet) -> (@owned String, @error any Error)
173
+ // CHECK: apply [[NATIVE]]([[ACTOR]],
174
+ // CHECK: } // end sil function '$s21objc_async_from_swift13SlowServerletC30doSomethingUnspecifiedNullablySSyYaKFyyYacfU_To'
133
175
override func doSomethingUnspecifiedNullably( ) async throws -> String {
134
176
fatalError ( )
135
177
}
136
178
137
- // CHECK-LABEL: sil{{.*}}13SlowServerlet{{.*}}17doSomethingFlaggy{{.*}} :
138
- // CHECK: [[GENERIC_EXECUTOR:%.*]] = enum $Optional<Builtin.Executor>, #Optional.none
139
- // CHECK: hop_to_executor [[GENERIC_EXECUTOR]] :
140
- // CHECK-LABEL: sil private{{.*}}13SlowServerlet{{.*}}17doSomethingFlaggy{{.*}}To :
141
- // CHECK: try_apply{{.*}}, normal [[NORMAL_BB:bb[0-9]+]], error [[ERROR_BB:bb[0-9]+]]
142
- // CHECK: [[NORMAL_BB]]({{.*}}):
143
- // CHECK: integer_literal {{.*}}0
144
- // CHECK: [[ERROR_BB]]({{.*}}):
145
- // CHECK: integer_literal {{.*}}1
179
+ // Native
180
+ //
181
+ // CHECK-LABEL: sil hidden [ossa] @$s21objc_async_from_swift13SlowServerletC17doSomethingFlaggySSyYaKF : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, @guaranteed SlowServerlet) -> (@owned String, @error any Error) {
182
+ // CHECK: bb0([[ACTOR:%.*]] : @guaranteed $Optional<any Actor>,
183
+ // CHECK: hop_to_executor [[ACTOR]]
184
+ //
185
+ // @objc thunk closure
186
+ // CHECK-LABEL: sil shared [thunk] [ossa] @$s21objc_async_from_swift13SlowServerletC17doSomethingFlaggySSyYaKFyyYacfU_To : $@convention(thin) @Sendable @async (@convention(block) @Sendable (Bool, Optional<NSString>, Optional<NSError>) -> (), SlowServerlet) -> () {
187
+ // CHECK: [[ACTOR:%.*]] = enum $Optional<any Actor>, #Optional.none!enumelt
188
+ // CHECK: [[NATIVE:%.*]] = function_ref @$s21objc_async_from_swift13SlowServerletC17doSomethingFlaggySSyYaKF : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, @guaranteed SlowServerlet) -> (@owned String, @error any Error)
189
+ // CHECK: try_apply [[NATIVE]]([[ACTOR]], {{.*}}, normal [[NORMAL_BB:bb[0-9]+]], error [[ERROR_BB:bb[0-9]+]]
190
+ // CHECK: [[NORMAL_BB]]({{.*}}):
191
+ // CHECK: integer_literal {{.*}}0
192
+ // CHECK: [[ERROR_BB]]({{.*}}):
193
+ // CHECK: integer_literal {{.*}}1
194
+ // CHECK: } // end sil function '$s21objc_async_from_swift13SlowServerletC17doSomethingFlaggySSyYaKFyyYacfU_To'
146
195
override func doSomethingFlaggy( ) async throws -> String {
147
196
return " "
148
197
}
149
198
150
- // CHECK-LABEL: sil{{.*}}13SlowServerlet{{.*}}21doSomethingZeroFlaggy{{.*}} :
151
- // CHECK: [[GENERIC_EXECUTOR:%.*]] = enum $Optional<Builtin.Executor>, #Optional.none
152
- // CHECK: hop_to_executor [[GENERIC_EXECUTOR]] :
153
- // CHECK-LABEL: sil private{{.*}}13SlowServerlet{{.*}}21doSomethingZeroFlaggy{{.*}}To :
154
- // CHECK: try_apply{{.*}}, normal [[NORMAL_BB:bb[0-9]+]], error [[ERROR_BB:bb[0-9]+]]
155
- // CHECK: [[NORMAL_BB]]({{.*}}):
156
- // CHECK: integer_literal {{.*}}1
157
- // CHECK: [[ERROR_BB]]({{.*}}):
158
- // CHECK: integer_literal {{.*}}0
199
+ // Native
200
+ //
201
+ // CHECK-LABEL: sil hidden [ossa] @$s21objc_async_from_swift13SlowServerletC21doSomethingZeroFlaggySSyYaKF : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, @guaranteed SlowServerlet) -> (@owned String, @error any Error) {
202
+ // CHECK: bb0([[ACTOR:%.*]] : @guaranteed $Optional<any Actor>,
203
+ // CHECK: hop_to_executor [[ACTOR]]
204
+ // CHECK: } // end sil function '$s21objc_async_from_swift13SlowServerletC21doSomethingZeroFlaggySSyYaKF'
205
+ //
206
+ // @objc thunk closure
207
+ // CHECK-LABEL: sil shared [thunk] [ossa] @$s21objc_async_from_swift13SlowServerletC21doSomethingZeroFlaggySSyYaKFyyYacfU_To : $@convention(thin) @Sendable @async (@convention(block) @Sendable (Optional<NSString>, Bool, Optional<NSError>) -> (), SlowServerlet) -> () {
208
+ // CHECK: [[ACTOR:%.*]] = enum $Optional<any Actor>, #Optional.none!enumelt
209
+ // CHECK: [[NATIVE:%.*]] = function_ref @$s21objc_async_from_swift13SlowServerletC21doSomethingZeroFlaggySSyYaKF : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, @guaranteed SlowServerlet) -> (@owned String, @error any Error)
210
+ // CHECK: try_apply [[NATIVE]]([[ACTOR]], {{.*}}, normal [[NORMAL_BB:bb[0-9]+]], error [[ERROR_BB:bb[0-9]+]]
211
+ // CHECK: [[NORMAL_BB]]({{.*}}):
212
+ // CHECK: integer_literal {{.*}}1
213
+ // CHECK: [[ERROR_BB]]({{.*}}):
214
+ // CHECK: integer_literal {{.*}}0
159
215
override func doSomethingZeroFlaggy( ) async throws -> String {
160
216
return " "
161
217
}
162
218
163
- // CHECK-LABEL: sil{{.*}}13SlowServerlet{{.*}}28doSomethingMultiResultFlaggy{{.*}} :
164
- // CHECK: [[GENERIC_EXECUTOR:%.*]] = enum $Optional<Builtin.Executor>, #Optional.none
165
- // CHECK: hop_to_executor [[GENERIC_EXECUTOR]] :
166
- // CHECK-LABEL: sil private{{.*}}13SlowServerlet{{.*}}28doSomethingMultiResultFlaggy{{.*}}To :
167
- // CHECK: try_apply{{.*}}, normal [[NORMAL_BB:bb[0-9]+]], error [[ERROR_BB:bb[0-9]+]]
168
- // CHECK: [[NORMAL_BB]]({{.*}}):
169
- // CHECK: integer_literal {{.*}}1
170
- // CHECK: [[ERROR_BB]]({{.*}}):
171
- // CHECK: integer_literal {{.*}}0
219
+ // Native
220
+ //
221
+ // CHECK-LABEL: sil hidden [ossa] @$s21objc_async_from_swift13SlowServerletC28doSomethingMultiResultFlaggySS_SStyYaKF : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, @guaranteed SlowServerlet) -> (@owned String, @owned String, @error any Error) {
222
+ // CHECK: bb0([[ACTOR:%.*]] : @guaranteed $Optional<any Actor>,
223
+ // CHECK: hop_to_executor [[ACTOR]]
224
+ // CHECK: } // end sil function '$s21objc_async_from_swift13SlowServerletC28doSomethingMultiResultFlaggySS_SStyYaKF'
225
+ //
226
+ // CHECK-LABEL: sil shared [thunk] [ossa] @$s21objc_async_from_swift13SlowServerletC28doSomethingMultiResultFlaggySS_SStyYaKFyyYacfU_To : $@convention(thin) @Sendable @async (@convention(block) @Sendable (Bool, Optional<NSString>, Optional<NSError>, Optional<NSString>) -> (), SlowServerlet) -> () {
227
+ // CHECK: [[ACTOR:%.*]] = enum $Optional<any Actor>, #Optional.none!enumelt
228
+ // CHECK: [[NATIVE:%.*]] = function_ref @$s21objc_async_from_swift13SlowServerletC28doSomethingMultiResultFlaggySS_SStyYaKF : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, @guaranteed SlowServerlet) -> (@owned String, @owned String, @error any Error)
229
+ // CHECK: try_apply [[NATIVE]]([[ACTOR]], {{.*}}, normal [[NORMAL_BB:bb[0-9]+]], error [[ERROR_BB:bb[0-9]+]]
230
+ // CHECK: [[NORMAL_BB]]({{.*}}):
231
+ // CHECK: integer_literal {{.*}}1
232
+ // CHECK: [[ERROR_BB]]({{.*}}):
233
+ // CHECK: integer_literal {{.*}}0
234
+ // CHECK: } // end sil function '$s21objc_async_from_swift13SlowServerletC28doSomethingMultiResultFlaggySS_SStyYaKFyyYacfU_To'
172
235
override func doSomethingMultiResultFlaggy( ) async throws -> ( String , String ) {
173
236
return ( " " , " " )
174
237
}
0 commit comments