Status
Current Release
The latest release is version 0.1.1. As of this release, everything
should work as advertised on the supported platforms. Please post
to the discussion
group if you have any problems.
Download Avian 0.1.1
Recent changes:
- Rewrote the JIT compiler to use machine registers more
efficiently. The new compiler generates code which is:
- 50-100% faster for CPU-intensive tasks such as decoding
images
- 25-30% smaller on average
Most importantly, the new design is much less
architecture-specific than the old one, making it easier to
support ISAs besides x86 efficiently.
- Implemented Thread.getStackTrace. This method is especially
useful for sample-based performance profiling.
- Added support for building Avian as a shared library on all
platforms
- Various bugfixes and code cleanups
Next Release
The next major release will be 1.0. These are the remaining
criteria for that release:
- Support Mac OS X on PowerPC (in progress - see powerpc branch in
repository)
- Rework memory allocation in garbage collector to improve
performance in low memory situations
(see here
for details)
Post-1.0 Ideas
- Experiment with optimizations and extensions to better support
languages other than Java
- Support additional architectures such as ARM, Sparc, and MIPS
Non-goals
Avian is not a complete Java implementation, nor is it intended to
be. Thus, less-used Java features will only be added if they are
easily maintainable and do not add significant overhead to
applications which don't use them.
In particular, Avian does no bytecode verification in the VM and no
security checks in the class library. Applications which run
untrusted bytecode must therefore do their own verification and
sanitation.