David Chisnall
4036a88936
Remove separate flags for class and metaclass.
...
Every class is either a class or a metaclass, it doesn't make sense to
use two flags to store one bit of data.
Also remove the newabi flag from classes in the v2 ABI, where it's
redundant.
8 years ago
David Chisnall
a2a80ac5dc
Remove debugging printf.
8 years ago
David Chisnall
d6ca506d6a
Make sure that we remove hidden classes from the subclass list, as well as adding them. Also make sure that subclass list manipulation is protected by the runtime lock.
11 years ago
theraven
d838f7ad28
Don't crash when trying to synchronize on nil (but don't do anything sensible either).
13 years ago
theraven
38568fca57
Remove some dead code. Fix a bug when cloning objects with no associated references.
15 years ago
theraven
5d3c047fa2
Finished implementing JavaScript-style prototypes.
15 years ago
theraven
b54719abf1
Basic support for prototype-style object orientation (you can now add methods to an individual object).
15 years ago
theraven
8af52846b7
Small object (hidden in a pointer) support.
15 years ago
theraven
663995f08c
Small cleanup. Use the ARC functions for retain / release / autorelease messages everywhere. This will make properties faster if we're using an ARC-compatible NSObject.
15 years ago
theraven
e05c9c2ff5
More GC fixes
15 years ago
theraven
a4decfa4e3
Add hidden class -dealloc method as -finalize as well.
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
52381f163b
Make sure locks are initialised before using them and destroyed afterwards.
15 years ago
theraven
7b49755964
Dtable cleanup cleanups.
15 years ago
theraven
d7056f6de2
Simplify @synchronize() and improve efficiency (space and time).
15 years ago
theraven
987ab88a94
Don't do hidden-class transforms for classes, just dangle the look-aside data off the class structure.
...
Individually lock classes so that +initialize can be sent concurrently to two different classes in two different threads.
15 years ago
theraven
e198597bd3
Added support for associative references. Modified sync code to use this.
15 years ago