swift_retainCount in CoreFoundation


(Joe Groff) #1

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?

-Joe


(Joe Groff) #2

The only use of CFGetRetainCount in the corelibs that I see appears to be in CFMachPort.c, to drop CFMachPorts that are uniquely referenced from the run loop. Is that file relevant to Linux Foundation? Is this check necessary?

-Joe

···

On Dec 22, 2015, at 1:08 PM, Joe Groff via swift-dev <swift-dev@swift.org> 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?


(Tony Parker) #3

Hi Joe,

I think we can probably elide CFGetRetainCount from the corelibs-foundation. It’s almost always an anti-pattern to check a retain count anyway (as I’m sure you’re aware since you’re trying to kill the swift version of it).

File a bug for us and we’ll get on it.

Thanks,
- Tony

···

On Dec 22, 2015, at 3:09 PM, Joe Groff via swift-dev <swift-dev@swift.org> wrote:

On Dec 22, 2015, at 1:08 PM, Joe Groff via swift-dev <swift-dev@swift.org> 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?

The only use of CFGetRetainCount in the corelibs that I see appears to be in CFMachPort.c, to drop CFMachPorts that are uniquely referenced from the run loop. Is that file relevant to Linux Foundation? Is this check necessary?

-Joe
_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev


(Luke Howard) #4

Looks like it was killed in d430c06f.

···

On 5 Jan 2016, at 7:10 AM, Tony Parker via swift-dev <swift-dev@swift.org> wrote:

Hi Joe,

I think we can probably elide CFGetRetainCount from the corelibs-foundation. It’s almost always an anti-pattern to check a retain count anyway (as I’m sure you’re aware since you’re trying to kill the swift version of it).

File a bug for us and we’ll get on it.

Thanks,
- Tony

On Dec 22, 2015, at 3:09 PM, Joe Groff via swift-dev <swift-dev@swift.org> wrote:

On Dec 22, 2015, at 1:08 PM, Joe Groff via swift-dev <swift-dev@swift.org> 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?

The only use of CFGetRetainCount in the corelibs that I see appears to be in CFMachPort.c, to drop CFMachPorts that are uniquely referenced from the run loop. Is that file relevant to Linux Foundation? Is this check necessary?

-Joe
_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev

_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev

--
www.lukehoward.com
soundcloud.com/lukehoward


(Joe Groff) #5

I think Philippe already took care of this. Thanks for following up, though, Tony!

-Joe

···

On Jan 4, 2016, at 12:10 PM, Tony Parker <anthony.parker@apple.com> wrote:

Hi Joe,

I think we can probably elide CFGetRetainCount from the corelibs-foundation. It’s almost always an anti-pattern to check a retain count anyway (as I’m sure you’re aware since you’re trying to kill the swift version of it).

File a bug for us and we’ll get on it.