Abstract | ||
---|---|---|
Virtual Machine authors face a difficult choice between low performance, cheap interpreters, or specialized and costly compilers. A method able to bridge this wide gap is the existing code-copying technique that reuses chunks of the VM's binary code to create a simple JIT. This technique is not reliable without a compiler guaranteeing that copied chunks are still functionally equivalent despite aggressive optimizations. We present a proof-of-concept, minimal-impact modification of a highly optimizing compiler, GCC. A VM programmer marks chunks of VM source code as copyable. The chunks of native code resulting from compilation of the marked source become addressable and self-contained. Chunks can be safely copied at VM runtime, concatenated and executed together. This allows code-copying VMs to safely achieve speedup up to 3 times, 1.67 on average, over the direct interpretation. This maintainable enhancement makes the code-copying technique reliable and thus practically usable. |
Year | DOI | Venue |
---|---|---|
2008 | 10.1007/978-3-540-78791-4_11 | CC |
Keywords | Field | DocType |
vm source code,existing code-copying technique,code-copying technique,binary code,compiler-guaranteed safety,vm runtime,marked source,costly compiler,virtual machine,compiler guaranteeing,native code,vm programmer marks chunk,optimizing compiler,source code,proof of concept | Virtual machine,Programmer,Programming language,Source code,Computer science,Compiler,Basic block,Optimizing compiler,Machine code,Speedup | Conference |
Volume | ISSN | ISBN |
4959 | 0302-9743 | 3-540-78790-9 |
Citations | PageRank | References |
0 | 0.34 | 7 |
Authors | ||
2 |
Name | Order | Citations | PageRank |
---|---|---|---|
Gregory B. Prokopski | 1 | 0 | 0.34 |
Clark Verbrugge | 2 | 411 | 39.15 |