Commit Graph

12 Commits

Author SHA1 Message Date
theraven
bc87ed22e1 Implemented support for __weak with ARC.
ARC functions are all now exposed in a header, but not yet documented.  See the ARC ABI spec for now:

http://clang.llvm.org/docs/AutomaticReferenceCounting.html#runtime
2011-06-29 13:12:02 +00:00
theraven
4a78269815 Removed debugging line accidentally committed. 2011-05-29 14:36:05 +00:00
theraven
4ffb19230f Make sure that the statics used to store internal tables are marked as roots. 2011-05-29 14:27:41 +00:00
theraven
fe5d1b892a Tweak GC check, make sure GC_init() is called even when ObjC code isn't using GC (stuff internal to the runtime may be) 2011-05-28 14:38:02 +00:00
theraven
ad16172625 First pass at implementing Apple-compatible GC using Boehm. Still needs some tidying, but the following work:
- __strong pointers, preventing objects from being freed

_ __weak pointers are automatically freed when the last remaining __strong pointer goes away

- objc_gc_{retain,release}_np() functions, which can be used to implement CFRetain() and CFRelease() (adds an reference count - the object will not be collected until after its last retain is gone.
2011-05-22 23:02:04 +00:00
theraven
e198597bd3 Added support for associative references. Modified sync code to use this. 2011-04-15 11:20:37 +00:00
theraven
d51500184c More cleanups. Stop using __ identifiers for internal stuff now that it's properly marked private and we don't have to worry about conflicts. 2011-04-14 16:44:34 +00:00
theraven
1ecd07d637 Don't use __attribute__((constructor)) for creating things that are called by
other constructors.
2011-03-29 10:01:34 +00:00
theraven
ca2c7d1d9d Stop treating NSObject as magic and do what OS X does with regard to root objects and metaclasses. 2011-02-23 12:00:11 +00:00
qmathe
10cb4f9b5c Corrected doc in few places to refer to @synchronized() and not @synchronize() 2010-10-04 19:01:16 +00:00
theraven
a75064866a More tweaks to +load. Now defers +load a little bit more. 2010-07-20 10:53:53 +00:00
theraven
bb8cafaa15 Finished rewriting the loader. It's now cleanly separated into logically-separate components, so there's a chance it might actually be maintainable... 2010-06-02 22:25:12 +00:00