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