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
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
Anyway, it was a great time and I don't want to miss it!
Thank you guys!
If you want to get a piece of that time, try to get a copy
of our latest CD
or download the songs from various
Also last autumn I quit my job at Theobroma
Systems where I worked full-time on CACAO. Again, there were
different reasons for my retirement.
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
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
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...