On Nov 27, 2012, at 3:02 PM, Fariborz Jahanian wrote:

> Author: fjahanian
> Date: Tue Nov 27 17:02:53 2012
> New Revision: 168740
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=168740&view=rev
> Log:
> objective-C arc: load of a __weak object happens via call to
> objc_loadWeak. This retains and autorelease the weakly-refereced
> object. This hidden autorelease sometimes makes __weak variable alive even
> after the weak reference is erased, because the object is still referenced
> by an autorelease pool. This patch overcomes this behavior by loading a 
> weak object via call to objc_loadWeakRetained(), followng it by objc_release
> at appropriate place, thereby removing the hidden autorelease. // 
> rdar://10849570
> 

Failed to mention that patch was reviewed offline by John McCall.
- Fariborz


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to