@@ -197,10 +197,15 @@ public extension DispatchQueue {
197197 flags: DispatchWorkItemFlags = [ ] ,
198198 execute work: @escaping @convention ( block) ( ) -> Void )
199199 {
200- if group == nil && qos == . unspecified && flags . isEmpty {
200+ if group == nil && qos == . unspecified {
201201 // Fast-path route for the most common API usage
202- __dispatch_async ( self , work)
203- return
202+ if flags. isEmpty {
203+ _swift_dispatch_async ( self , work)
204+ return
205+ } else if flags == . barrier {
206+ _swift_dispatch_barrier_async ( self , work)
207+ return
208+ }
204209 }
205210
206211 var block : @convention ( block) ( ) -> Void = work
@@ -210,9 +215,9 @@ public extension DispatchQueue {
210215 }
211216
212217 if let g = group {
213- __dispatch_group_async ( g, self , block)
218+ _swift_dispatch_group_async ( g, self , block)
214219 } else {
215- __dispatch_async ( self , block)
220+ _swift_dispatch_async ( self , block)
216221 }
217222 }
218223
@@ -287,9 +292,9 @@ public extension DispatchQueue {
287292 {
288293 if #available( OSX 10 . 10 , iOS 8 . 0 , * ) , qos != . unspecified || !flags. isEmpty {
289294 let item = DispatchWorkItem ( qos: qos, flags: flags, block: work)
290- __dispatch_after ( deadline. rawValue, self , item. _block)
295+ _swift_dispatch_after ( deadline. rawValue, self , item. _block)
291296 } else {
292- __dispatch_after ( deadline. rawValue, self , work)
297+ _swift_dispatch_after ( deadline. rawValue, self , work)
293298 }
294299 }
295300
@@ -301,20 +306,20 @@ public extension DispatchQueue {
301306 {
302307 if #available( OSX 10 . 10 , iOS 8 . 0 , * ) , qos != . unspecified || !flags. isEmpty {
303308 let item = DispatchWorkItem ( qos: qos, flags: flags, block: work)
304- __dispatch_after ( wallDeadline. rawValue, self , item. _block)
309+ _swift_dispatch_after ( wallDeadline. rawValue, self , item. _block)
305310 } else {
306- __dispatch_after ( wallDeadline. rawValue, self , work)
311+ _swift_dispatch_after ( wallDeadline. rawValue, self , work)
307312 }
308313 }
309314
310315 @available ( OSX 10 . 10 , iOS 8 . 0 , * )
311316 public func asyncAfter( deadline: DispatchTime , execute: DispatchWorkItem ) {
312- __dispatch_after ( deadline. rawValue, self , execute. _block)
317+ _swift_dispatch_after ( deadline. rawValue, self , execute. _block)
313318 }
314319
315320 @available ( OSX 10 . 10 , iOS 8 . 0 , * )
316321 public func asyncAfter( wallDeadline: DispatchWallTime , execute: DispatchWorkItem ) {
317- __dispatch_after ( wallDeadline. rawValue, self , execute. _block)
322+ _swift_dispatch_after ( wallDeadline. rawValue, self , execute. _block)
318323 }
319324
320325 @available ( OSX 10 . 10 , iOS 8 . 0 , * )
0 commit comments