15 Commits (2d976b61e2bd491cfc8c506b96589f56e7e4188a)

Author SHA1 Message Date
David Chisnall d015f0160c Rename PUBLIC to OBJC_PUBLIC to avoid some namespace pollution. 7 years ago
David Chisnall 934cd13a7a Initial pass at Windows support.
All tests now pass with the new ABI on x86-64, with the new ABI.  Some
of the code is ugly and other platforms are probably broken.
8 years ago
Dustin Howett 82d4d3fbfd merge dtables inplace, don't hold rt lock while initializing 8 years ago
David Chisnall d44bf5655b Ensure that objects that support ARC will use ARC, even if they are
created without sending a message to the class.

Also ensure that protocols are always valid objects so that ARC doesn't
become confused.
10 years ago
theraven 7b49755964 Dtable cleanup cleanups. 15 years ago
theraven bad36445e3 Improve efficiency of dtable updates from categories.
Make +initialize sending exception safe.
15 years ago
theraven af85d8496d Actually wait for +initialize to finish before allowing any thread to send a message to a class (I broke this when I rewrote the dtable code to use a per-class lock - the lookup forgot to acquire the correct mutex.) 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 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 e76143d006 And, for symmetry, remove an UNLOCK() that wasn't needed... 15 years ago
theraven 7be9f34619 Fixed @synchronize() with a class that has had an instance used for @synchronize(). 15 years ago
theraven e9b129d878 Added low memory profile to libobjc2. This uses a more NeXT-style dtable design, which gives better memory usage at the cost of (significantly) worse worst-case performance. The memory savings seem to be only about 10% in the apps I've tested (Gorm, edlc), so it's probably not worthwhile, but it might be useful for someone finding stuff is just starting to swap... 16 years ago
theraven 943ed5e714 Some source tidies. 16 years ago
theraven 779b28abeb Lots of tidying, removing legacy stuff. 16 years ago
theraven b1b9baf382 Finished rewrite of message sending. Deleted lots of legacy stuff. 16 years ago