L2 compiler

Status:

Currently, the L2 compiler resides within three packages:

org.jnode.vm.compiler.ir
- Intermediate representation
- IRGenerator creates a BootableArrayList of "quads" for each bytecode operation
- Includes LinearScanAllocator which is machine independent, this has been tested and appears to work well

org.jnode.vm.compiler.ir.quad
- Classes representing different types of operations
- Most of the basic operations and flow control is complete
- Method calls, field and method refs, try/catch/throw not yet implemented
- Each quad implements doPass2() method, which performs many types of optimizations

org.jnode.vm.x86.compiler.l2
- x86 machine specific classes
- X86CodeGenerator visits quad list and generates native code
- X86RegisterPool defines x86 regs used by LinearScanAllocator

TO DO:

1. Implement methods in X86CodeGenerator
2. Process remaining bytecodes (IRGenerator), define more quads as needed
3. Hook in L2 compiler with native compiler framework

reference material?

hi, is there any refernce material available, or is this compiler a complete new development attempt?
What are the remaining bytecodes?

Andreas