17 Commits (4fd27a066fea9e10aabde4c91786805a133f454d)

Author SHA1 Message Date
David Chisnall 4fd27a066f When moving ivars to increase their alignment, make sure later ivars are
also moved.

Fixes #27
9 years ago
David Chisnall 695282e5d7 Don't conditionally run some cheap code that becomes a no-ops in the
case when we weren't running it.
9 years ago
David Chisnall 5725aa74ec Fix the computation of the size when realigning ivars.
Fixes #25, #26
9 years ago
David Chisnall 6df23377a0 Forcibly realign instance variables to take into account the padding
from the reference count.
9 years ago
Niels Grewe f264fd159d Fix a segfault on (s|g)etting ivars.
When we were trying to get or set an ivar on a class that had
no ivars defined, we'd dereference a NULL ivar list while
determining the ownership qualifier.
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