12 Commits (3c42c64c14d912d5af31146d6dba435515b1defe)

Author SHA1 Message Date
David Chisnall 0f1385e1b1 Correctly upgrade categories.
This was hidden by a compiler bug where the new version was generated in
the same format as the old, so upgrading in the wrong place worked.
8 years ago
David Chisnall f91fb2e745 Checkpoint more work on new ABI.
We're now using a new class and category structure and auto-upgrading the old ones.  Other changes:

- The Ivar structure now points to the ivar offset variable, so we can more easily find it.
- Categories can now add properties.
8 years ago
David Chisnall 6bf87d9e8a Allow the buffered objects to be something other than a pointer. 10 years ago
theraven c6556fd230 Remove FIXME that was fixed in last commit. 15 years ago
theraven bad36445e3 Improve efficiency of dtable updates from categories.
Make +initialize sending exception safe.
15 years ago
theraven 9fd1d26c00 Removed debugging statement that should not have been added in the first place... 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 6c7cf4a5a6 Add visibility attributes on all internal functions so that we aren't ever exporting them outside of libobjc. 15 years ago
theraven a75064866a More tweaks to +load. Now defers +load a little bit more. 16 years ago
theraven ac6f5835e0 Remember to run +load methods in categories, as well as classes. 16 years ago
theraven 779b28abeb Lots of tidying, removing legacy stuff. 16 years ago
theraven bb8cafaa15 Finished rewriting the loader. It's now cleanly separated into logically-separate components, so there's a chance it might actually be maintainable... 16 years ago