Mulle-objc: a New Objective-C Compiler and Runtime
mulle-objc is a new way to run Objective-C code on various platforms, based on a new compiler and a new runtime.
mulle-objc goals
- Run everywhere C runs
- Everything faster than everyone else
- No assembler code necessary
- The runtime should be completely unloadable
- Separate runtimes should be able to coexist (instances should not cross)
- Should work in real time applications
- No magic
- No locking
- Keep the Spirit of C
Nat! (tweet) has a series of blog posts describing the implementation and some interesting choices and optimizations. For example, there’s a unified struct-based calling convention, less reliance on the linker, optimized message sending in loops, “Always Autoreleased Mode,” and deliberately no support for dot syntax, blocks, or non-fragile ivars.