[swift-dev] swift_retainCount in CoreFoundation

Joe Groff jgroff at apple.com
Sat Dec 26 14:31:02 CST 2015


> On Dec 25, 2015, at 9:02 PM, Philippe Hausler <phausler at apple.com> wrote:
> 
> > On Dec 22, 2015, at 1:08 PM, Joe Groff via swift-dev <swift-dev at swift.org <https://lists.swift.org/mailman/listinfo/swift-dev>> wrote:
> > 
> > It looks like the corelibs implementation of CoreFoundation references swift_retainCount in order to implement CFGetRetainCount. Is getting the retain count necessary to CF functionality, or can these functions be removed?
> 
> For some reason I was not on this list;
> So in response to your query about CF’s usage of CFGetRetainCount - I think we can safely forbid that function in the swift version since there is no safe way to use it (even CFMachPort is a bit dodgy for it’s usage).
> 
> It might take some surgery but I can probably excise that fairly simply.

That'd be awesome. Thanks Philippe! For CFMachPort's usage, since it's checking for a retainCount of 1, maybe we could use swift_isUniquelyReferenced* instead, which we do need to reliably support for COW.

-Joe
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-dev/attachments/20151226/8e06d1b5/attachment.html>


More information about the swift-dev mailing list