18 Commits (4891eb9d5f1201ed833ec4d3dbf7fcac0f6e3cc6)

Author SHA1 Message Date
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