19 Commits (5b2c24bed381aa6eb7a8bfe3d9bcae9c51b7f132)

Author SHA1 Message Date
theraven 5b2c24bed3 If LIBOBJC_DUMP_GC_STATUS_ON_SIGNAL is set, dump the GC state in response to kill -$(LIBOBJC_DUMP_GC_STATUS_ON_SIGNAL) {pid}. 15 years ago
theraven cd9ac97fb8 Refine typed allocations slightly. 15 years ago
theraven 0cb2ea01bc Simplify the finalization code slightly. 15 years ago
theraven 5e60899d8e Allow tweaking GC info dump on exit from an environment variable. 15 years ago
theraven 306e10edde Tidy up some of the left-over debugging code for GC mode. 15 years ago
theraven e05c9c2ff5 More GC fixes 15 years ago
theraven 33b7ecb2f8 Don't call -finalize if it doesn't exist. 15 years ago
theraven fcc47bc7ce Fix building without GC support. Still need to make sure that some of the GC functions always work, since they are expected to be no-ops in non-GC mode. 15 years ago
theraven ae4eea1597 Some bug fixes for GC mode. 15 years ago
theraven 898707bf94 Added function for getting reference count. 15 years ago
theraven 368bf3bd1d Add reallocate function. 15 years ago
theraven 88c075893f Call ObjC++ destructors when finalising an object.
Add public APIs required to implement [NSGarbageCollector -enable] and [NSGarbageCollector -disable].
15 years ago
theraven 3385e7a724 Remove dead code. 15 years ago
theraven 9015795dde Use explicitly typed memory for instances. 15 years ago
theraven 9dcc66f7f6 Make sure that associated objects and blocks use GC-scanned memory in GC mode.
Blocks do not yet support __weak bound variables.  This needs fixing before the release.
15 years ago
theraven 2329b7a1ec Change spelling to be consistent with Apple. 15 years ago
theraven 929f8f95b4 Improved a few GC functions.
Added objc-auto.h header, providing (documented) public interfaces to this
functionality.
15 years ago
theraven ef03a4bdb0 Add objc_gc_allocate_collectible() function, which can be used to implement NSAllocateCollectible(). 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