Abstract
Managed Runtime Environments (MREs), such as the JVM and
the CLI, form an attractive environment for program execution, by
providing portability and safety, via the use of a bytecode language
and automatic memory management, as well as good performance,
via just-in-time (JIT) compilation. Nevertheless, developing a fully
featured MRE, including e.g. a garbage collector and JIT compiler,
is a herculean task. As a result, new languages cannot easily take
advantage of the benefits of MREs, and it is difficult to experiment
with extensions of existing MRE based languages.
This paper describes and evaluates VMKit, a first attempt to
build a common substrate that eases the development of high-level
MREs. We have successfully used VMKit to build two MREs: a
Java Virtual Machine and a Common Language Runtime. We provide
an extensive study of the lessons learned in developing this
infrastructure, and assess the ease of implementing new MREs or
MRE extensions and the resulting performance. In particular, it
took one of the authors only one month to develop a Common
Language Runtime using VMKit. VMKit furthermore has performance
comparable to the well established open source MREs Cacao,
Apache Harmony and Mono, and is 1.2 to 3 times slower than
JikesRVM on most of the DaCapo benchmarks.
the CLI, form an attractive environment for program execution, by
providing portability and safety, via the use of a bytecode language
and automatic memory management, as well as good performance,
via just-in-time (JIT) compilation. Nevertheless, developing a fully
featured MRE, including e.g. a garbage collector and JIT compiler,
is a herculean task. As a result, new languages cannot easily take
advantage of the benefits of MREs, and it is difficult to experiment
with extensions of existing MRE based languages.
This paper describes and evaluates VMKit, a first attempt to
build a common substrate that eases the development of high-level
MREs. We have successfully used VMKit to build two MREs: a
Java Virtual Machine and a Common Language Runtime. We provide
an extensive study of the lessons learned in developing this
infrastructure, and assess the ease of implementing new MREs or
MRE extensions and the resulting performance. In particular, it
took one of the authors only one month to develop a Common
Language Runtime using VMKit. VMKit furthermore has performance
comparable to the well established open source MREs Cacao,
Apache Harmony and Mono, and is 1.2 to 3 times slower than
JikesRVM on most of the DaCapo benchmarks.
Originalsprog | Engelsk |
---|---|
Titel | Proceedings of the 6th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments |
Antal sider | 11 |
Forlag | Association for Computing Machinery |
Publikationsdato | 2010 |
Sider | 51-61 |
ISBN (Elektronisk) | 978-1-60558-910-7 |
DOI | |
Status | Udgivet - 2010 |
Begivenhed | 6th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments - Pittsburgh, USA Varighed: 17 mar. 2010 → 19 mar. 2010 Konferencens nummer: 6 |
Konference
Konference | 6th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments |
---|---|
Nummer | 6 |
Land/Område | USA |
By | Pittsburgh |
Periode | 17/03/2010 → 19/03/2010 |