A practical solution for scripting language compilers
LLVM: a compilation framework for lifelong program analysis & transformation