Hi Everyone,
I've just branched the 1.0 release of libobjc2. A great many thanks to
everyone who tested this, who sent me bug reports and test cases, and most
especially to the people who fixed bugs for me.
This runtime supports both the legacy GCC-compatible ABI and a new ABI that is
fully supported by clang 2.8 and hopefully, thanks to Nicola's work, in future
versions of GCC.
It also supports a few features not found anywhere else, such as type-dependent
dispatch, which means that programs that will corrupt the stack with other
runtimes can be handled safely. The slot mechanism allows Self-style inline
caching, eliminating the cost of message lookup in common cases and allowing
speculative inlining to be performed safely. In the opts/ directory, there are
several LLVM optimisation passes that make use of this.
Thanks again to everyone who helped make this release possible, with testing,
suggestions, and advice,