13 Commits (43ee8b9819211ad6cdc293430004a343254ef1fc)

Author SHA1 Message Date
theraven 43ee8b9819 Add initial support for imp_implementationWithBlock() and friends. Currently
only works on x86 and x86-64 and doesn't work with sret functions.
14 years ago
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
15 years ago
theraven 4a78269815 Removed debugging line accidentally committed. 15 years ago
theraven 4ffb19230f Make sure that the statics used to store internal tables are marked as roots. 15 years ago
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) 15 years ago
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.
15 years ago
theraven e198597bd3 Added support for associative references. Modified sync code to use this. 15 years ago
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. 15 years ago
theraven 1ecd07d637 Don't use __attribute__((constructor)) for creating things that are called by
other constructors.
15 years ago
theraven ca2c7d1d9d Stop treating NSObject as magic and do what OS X does with regard to root objects and metaclasses. 15 years ago
qmathe 10cb4f9b5c Corrected doc in few places to refer to @synchronized() and not @synchronize() 15 years ago
theraven a75064866a More tweaks to +load. Now defers +load a little bit more. 16 years ago
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... 16 years ago