- look at using clang
- modifying our ops and modify clang to compile our ops to LLVM IR snipits
- then build a translator that reads our bytecode and generates LLVM IR using the LLVM IR op snipits generated in the step above.
- then integrate the generated LLVM IR into a new LLVMJIT runloop
- I would copy the slow run loop and then modify it to use LLVM IR, using the current jit runloop as a reference.
- that is a really rough outline but it gives you the large pieces.
see docs/jit.pod for old jit info
see src/jit/i386/emit.h