Nat! bio photo


Senior Mull

Twitter Github Twitch

The glorious mulle-objc 0.8 release

Today I am releasing mulle-objc 0.8. With this release the mulle-objc runtime is not just a competitive runtime, it is the all around best Objective-C runtime out there.

To try mulle-objc 0.8 out, head on over to the mulle-objc community and install mulle-objc-developer.


Let me go over some of the highlights:

It’s now extremely easy to get a mulle-objc project going

With mulle-objc-init you can setup a complete mulle-objc project within seconds. And this project will build on all participating platforms! (See: mulle-objc-list)

A new dependency system for classes and categories

You can now specify exactly in which order classes and categories are added to the class system. That takes all the guesswork out of what might be possible to call during +load. Also categories can be stacked on top of each other in a deterministic manner. Effectively this opens up a world of possibilities for class compositions at runtime.

mulle-lldb: a mulle-objc aware debugger

I modified lldb to work with the mulle-objc runtime. You can step in and out of Objective-C methods and set breakpoints. Due to the MetaABI you need to examine parameters indirectly via _param. But it is good enough for getting things done. There aren’t any prebuilt packages of mulle-lldb yet, so you have to build it yourself. (See: mulle-lldb)

Better install for Ubuntu Linuxes

In the future it will be enough to say apt-get install mulle-objc-developer, but for now there is a convenient install script :)

Tracing and Dumping

The graphviz output now contains hyperlinks. This makes graphviz dumps more manageable. You can now traverse through even fairly complex class hierarchies. The HTML output has been refined to be more readable.

The trace support of the runtime during loading has been greatly enhanced.

More stable compiler and improved speed

Bugs have been removed and the compiler output has been improved over some iterations of the runtime. The speed of super calls has also been improved.

Support for code coverage

You can create coverage files from your program to figure out, which methods are used and which are not. A new tool mulle-objc-list helps you with this. (See: mulle-objc-list)

More exciting mulle-objc news coming up soon…

Post a comment

All comments are held for moderation; basic HTML formatting accepted.

E-mail: (not published)