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