Andreas Gal, Christian W. Probst, Michael Franz
2006 Proceedings of the 2nd international conference on Virtual execution environments - VEE '06  
We present a just-in-time compiler for a Java VM that is small enough to fit on resource-constrained devices, yet is surprisingly effective. Our system dynamically identifies traces of frequently executed bytecode instructions (which may span several basic blocks across several methods) and compiles them via Static Single Assignment (SSA) construction. Our novel use of SSA form in this context allows to hoist instructions across trace side-exits without necessitating expensive compensation code
more » ... in off-trace paths. The overall memory consumption (code and data) of our system is only 150 kBytes, yet benchmarks show a speedup that in some cases rivals heavy-weight just-in-time compilers.
doi:10.1145/1134760.1134780 dblp:conf/vee/GalPF06 fatcat:re7nnbmeprglxd2ubjnateinne