The biggest practical benefit is a major bug has been fixed which
makes running with Exupery much more reliable. Crashes are no longer
expected after about an hour or so.
The two major optimisations were adding more addressing modes and
also compiling calls to the interpreters primitives. This means
that code with many calls to primitives can benefit from Exupery's
PICs. Compiling primitives is responsible for the doLoopsBenchmark
showing a benefit again, Exupery used to perform identically to the
interpreter on a Core 2.
While Exupery can improve the macro benchmarks sometimes it will
slow code down a little as well so practical performance gains
with unrestricted compilation are still a release or two away.