For the last two and a half years I played in a punkrock band called Random and in autumn last year we decided to quit (farewell letter is in german, sorry).
There were different reasons for this decision, but mostly personal ones. Our singer opened his own restaurant in my hometown Linz (give him a visit when you are there, it's a great place) and I got sick about traveling every weekend from Vienna to Linz for rehearsal.
Anyway, it was a great time and I don't want to miss it! Thank you guys!
I started my work on CACAO during my computer science studies at the Vienna University of Technology with a practical course about an i386 backend for the JIT compiler. My diploma thesis ("Optimizing and Porting the CACAO JVM") was about a x86_64 backend and some class loader optimizations, like eager class loading.
After my thesis I started my Ph.D. in the Christian Doppler Laboratory: Compilation Techniques for Embedded Processors, where I worked on a port of CACAO to a DSP architecture. Unfortunately funding was discontinued and I had to cancel my Ph.D.
Since 2004 I was kind of the "official" maintainer of the CACAO project and since then CACAO matured from a "fast JIT compiler for Java bytecode" to something you can really call a Java Virtual Machine. One big advantage of CACAO is the number of architectures its JIT compiler supports (about 11).
In May 2007 Sun released OpenJDK and I started to implement the HotSpot VM interface in CACAO. I think CACAO was the first non-HotSpot JVM that supported the OpenJDK core library (please correct me if I'm wrong).
Then RedHat launched the IcedTea project and HotSpot got a generic port of the HotSpot C++ interpreter called Zero. The development of Zero pushed me for the first time to think about the future of CACAO and myself. When the official and JCK-tested JVM can run on literally all architectures out there, who will still use CACAO?
Well, the answer is probably: those who want performance.
But RedHat (actually Gary Benson) came up with another very cool thing called Shark. Shark is the answer to the performance problem of Zero: it uses LLVM to do the JIT compilation in a mixed mode. Although it's not finished yet, it will be the main competitor for CACAO when it comes to decide which JVM you should use on your non-HotSpot architecture. Shark pushed me for the second time to think about the future of CACAO and myself...
Mostly for these reasons and since I always wanted to integrate an optimizing compiler in CACAO and implement mature optimizations in this compiler, but it seemed there is not enough time for a single person to do that, I decided to quit at Theobroma Systems and to quit my work on and maintainership of CACAO.
In the meantime Michael Starzinger will take the maintainership of CACAO. He's a long-time contributor and he knows a lot of the CACAO system. He's the right person for this job.
For me, hopefully a new and challenging opportunity will open up where I can work on the things I always liked to in the past few years. I will let you know...