16 Commits (f442f17034cb3839d944967ecb459f05918a811b)

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