13 Commits (377a81d23778400b5306ee490451ed68b6e8db81)

Author SHA1 Message Date
David Chisnall 369c84db35 Fix compiler warnings. 7 years ago
David Chisnall 4891eb9d5f Document a bit more of class structure and of type encodings. 8 years ago
David Chisnall c4ff744620 Audit the runtime for direct access to variable-sized arrays.
Several of the structures now end with an array of structures that may
have other fields added to them that the runtime doesn't know about yet
by a compiler.  Rather than indexing into them directly, we must call an
accessor to find the correct address.

A few of the places where accesses were replaced were in functions where
it is safe because they only deal with versions of the structures that
are dynamically allocated (and will therefore have the correct size).
This was done to simplify future auditing: these fields should be
accessed directly only from the accessor functions in the header and
from the upgraders (currently in legacy.c).

Also fix a few bugs where the sizes weren't being filled in.
8 years ago
David Chisnall 65b34a196f Add support for improved property structure.
As a side effect, we need to upgrade properties in class and protocols
(but not categories because we didn't have class properties in earlier
ABIs).
8 years ago
David Chisnall 44a85a401a Add size to the property list.
It should now be possible to support newer ABIs.
8 years ago
David Chisnall 959fabbfec Fix typo. 8 years ago
theraven 3a0ecad453 Add header changes too... 13 years ago
theraven abc1d44c9c Fix handling of properties that refer to an instance variable other than the
default.
13 years ago
theraven 4796a41e4e Finished implementing the new runtime APIs. 14 years ago
theraven 4e7b476aa6 Change [1] to [] for variable length structure elements (C99 - silences array out of bounds errors).
Added fields to the end of the class structure for strong / weak ivar bitmaps (not yet generated by any compiler).

Fixed definition of __sync_swap() so that it works on GCC again.
15 years ago
theraven 8ee4d9c38a Added implementation of property_getAttributes(). This is a horrible interface, both to implement and to use. We should add some better interfaces. 15 years ago
theraven bde6bf0e14 Fix truncated comment in header and 'worse than useless' macro.
Both issues pointed out by Jens Ayton.
15 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