
0.0.4 (8 August 2004)

	* Pluggable object models.
	* Problems with "gen-apply" on Win32 systems.
	* Optimize "if true goto" into "goto".
	* Peephole optimization on branches.
	* Adjust ARM codegen macros to support branch elimination instructions.
	* Redesign exception handling to use "setjmp" everywhere.
	* Remove C++ code from "libjit.so" so that it is a pure C library.
	* Use computed goto's in the interpreter if the compiler supports them.
	* Don't allow conditional branches to jump out of exception contexts.
	* Block movement to allow initialization code to be moved to the start
	  of a function, or loop condition code to be moved to the end.
	* Rewrite the exception region routines to make them easier to use.
	* Add the "gen-sel" program, for creating instruction selectors.
	* Write instruction selectors for x86 and ARM (only x86 is enabled).
	* Portability fixes for ARM, PPC, Alpha, IA64, and amd64.
	* Clarify the description of LLVM, at the request of LLVM's author.
	* Deferred argument popping after function calls.
	* Add "--enable-interpreter" to force the interpreter to be used.
	* Implement a simple global register allocator based on usage counts.
	* Recognise increment and decrement idioms.
	* Align cache flushes properly (Miroslaw Dobrzanski-Neumann).
	* Querying of x86 cpuid where necessary.
	* Add a constant pool for ARM, to make constant loads more efficient.
	* Handle register pairs for 64-bit values properly.
	* Support for parameter areas on the stack, to reduce push/pop overhead.
	* Avoid unnecessary register spills if a value won't be used again.
	* Implement tail calls from a function to itself.
	* Optimize x86 prologs and epilogs to avoid doing unnecessry work.
	* Centralise the code that handles parameter passing.
	* Support for parallel builds.

0.0.2 (13 May 2004)

	* Function and instruction building API basics in place, in C and C++.
	* Operations include arithmetic, overflow checking, conversion,
	  mathematical (sin, sqrt, etc), branching, exception handling,
	  function calls, structure types, and arrays.
	* Up-front or on-demand compilation and re-compilation.
	* Interpreter at par with instruction building requirements.
	* x86 and ARM in early stages (not enabled yet).
	* Register allocation for register-based and stack-based architectures.
	* Nested functions.
	* Dynamic Pascal language is usable, suitable for writing test cases.
	* Beginnings of ELF support for eventual ahead-of-time compilation.
