js added a comment.

In D55869#1337711 <https://reviews.llvm.org/D55869#1337711>, @dexonsmith wrote:

> In D55869#1337706 <https://reviews.llvm.org/D55869#1337706>, @js wrote:
>
> > The ObjFW runtime itself does not contain anything about release, retain or 
> > autorelease - these are all part of ObjFW (as in the framework). As ObjFW 
> > also supports the Apple runtime, as well as mixing with Foundation code, it 
> > so far only provides objc_retain and objc_release when they are missing, to 
> > make ARC work. They just call into the corresponding methods on the object 
> > and do nothing else.
> >
> > How will this change work from the Apple runtime? Will 
> > objc_retain/objc_release call the retain/release on the object if it 
> > implements its own? Should I drop my own retain/release implementation from 
> > my root object if I am compiling against the Apple runtime?
>
>
> Yes, the idea is that the specialized runtime functions are fast paths for 
> the common case, but they still fall back if the object has overridden them.


I am guessing not just overridden, but also a root class providing one? IOW, 
the fast path is used when the class does not have the retain or release method 
at all? In that case, LGTM as is.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D55869/new/

https://reviews.llvm.org/D55869



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to