David Chisnall
d0a290cc1b
If we try to do ivar assignment on something that is not an object, just do straight object-sized assignment.
10 years ago
David Chisnall
c58ba23470
Improve some null handling in ivar resolution code.
10 years ago
David Chisnall
f9421d02a8
Add a size field to the ivar list struct, for forward compatibility.
10 years ago
David Chisnall
3dc096eb17
Add new ABI ivar metadata structures.
...
The new structure has extra fields for alignment and flags (e.g.
ownership).
Old structures are auto-upgraded at load time, so the rest of the code
can assume the presence of the new structure type.
10 years ago
David Chisnall
2777fea77a
Enable correct behaviour with respect to ARC for objc_{g,s}etIvar().
10 years ago
David Chisnall
bfe5de572e
Fix the ivar access functions for objects that are not pointer sized.
10 years ago
theraven
da6d7f6060
Remove ivar offset fudging code, as it appears to break a lot of things.
13 years ago
theraven
16bfdc8ee6
Align ivars to 16 byte boundaries when they are larger than a pointer. This is
...
currently overly defensive.
Add a test case for this realignment.
13 years ago
theraven
f6697e5f86
Remove spurious &s.
15 years ago
theraven
79b67ad044
Added missing ivar access functions.
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
569a48650d
Various tidies.
16 years ago
theraven
8158ff0a7a
Tweak fragile ABI test to account for alignment padding.
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
theraven
bfbc15e4f7
Fix 64-bit warning.
16 years ago
theraven
7b8b3839df
More refactoring.
16 years ago