kirancodes.me
To Proof Maintenance & Beyond!

Optimization of dynamic languages using hierarchical layering of virtual machines

Alexander Yermolovich, Christian Wimmer, Michael Franz

Abstract

Creating an interpreter is a simple and fast way to implement a dynamic programming language. With this ease also come major drawbacks. Interpreters are significantly slower than compiled machine code because they have a high dispatch overhead and cannot perform optimizations. To overcome these limitations, interpreters are commonly combined with just-in-time compilers to improve the overall performance. However, this means that a just-in-time compiler has to be implemented for each language.

Related papers