Virtual Machine Learning: Thinking like a Computer Architect
Abstract
Summary form only given. Modern commercial software is written in languages that execute on a virtual machine. Such languages often have dynamic features that require rich runtime support and preclude traditional static optimization. Implementations of these languages have employed dynamic optimization strategies to achieve significant performance improvements. In this paper the author describes some of these strategies and demonstrates their effectiveness. The author then argues that further advances in this field are being hindered by our bias toward adapting traditional static optimization techniques. Instead, we need to think more like a computer architect to create new approaches to optimization in virtual machines.