Intermediate Language Design of High-level Language Virtual Machines: Towards Comprehensive Concurrency Support
S. Marr, M. Haupt, and T. D'Hondt. Proceedings of the 3rd Workshop on Virtual Machines and Intermediate Languages, page 3:1--3:2. New York, NY, USA, ACM, (October 2009)(extended abstract).
Today's major high-level language virtual machines (VMs) are becoming successful in being multi-language execution platforms, hosting a wide range of languages. With the transition from few-core to many-core processors, we argue that VMs will also have to abstract from concrete concurrency models at the hardware level, to be able to support a wide range of abstract concurrency models on a language
level. To overcome the lack of sufficient abstractions for concurrency concepts in VMs, we proposed earlier to extend VM intermediate languages by special concurrency constructs.
As a first step towards this goal, we try to fill a gap in the current literature and survey the intermediate language design of VMs. Our goal is to identify currently used techniques and principles as well as to gain an overview over the available concurrency related features in intermediate languages.
Another aspect of interest is the influence of the particular target language, for which the VM is originally intended, on the intermediate language.