Intermediate Language Design of High-Level Language Virtual Machines
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, the authors 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, they proposed earlier to extend VM intermediate languages by special concurrency constructs. As a first step towards this goal, they try to fill a gap in the current literature and survey the intermediate language design of VMs.