Intel X86 compilers

JNode has now two different native code compilers for the Intel X86 platform and 1 stub compiler.

STUB is a stub compiler that generates a stub for each method that invokes the L1 compiler for a method and then invokes the generated code itself. This compiler ensures that method are compiled before being executed, but avoids compilation time when the method is not invoked at all.

L1A is a basic compiler that translated java bytecode directly to decent X86 instructions. This compiler uses register allocation and a virtual stack to eliminate much of the stack operations. The focus of this compiler is on fast compilation and reasonably fast generated code.

L2 is an optimizing compiler that focuses on generating very fast code, not on compilation speed. This compiler is currently under construction.

All X86 compilers can be found below the org.jnode.vm.x86.compiler package.