@@ -106,69 +106,132 @@ protocol NativelySlowServing {
106106extension SlowServer : NativelySlowServing { }
107107
108108class 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'
112123 override func doSomethingSlowNullably( _: String ) async -> Int {
113124 return 0
114125 }
115126
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'
119140 override func findAnswerNullably( _ x: String ) async -> String {
120141 return x
121142 }
122143
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'
126158 override func doSomethingDangerousNullably( _ x: String ) async throws -> String {
127159 return x
128160 }
129161
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'
133175 override func doSomethingUnspecifiedNullably( ) async throws -> String {
134176 fatalError ( )
135177 }
136178
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'
146195 override func doSomethingFlaggy( ) async throws -> String {
147196 return " "
148197 }
149198
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
159215 override func doSomethingZeroFlaggy( ) async throws -> String {
160216 return " "
161217 }
162218
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'
172235 override func doSomethingMultiResultFlaggy( ) async throws -> ( String , String ) {
173236 return ( " " , " " )
174237 }
0 commit comments