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