Proceedings of the ACM SIGPLAN 1998 Conference on Programming Language Design and Implementation 1998
DOI: 10.1145/277650.277743
|View full text |Cite
|
Sign up to set email alerts
|

Optimizing direct threaded code by selective inlining

Abstract: Achieving good performance in bytecoded language interpreters is difficult without sacrificing both simplicity and portability.This is due to the complexity of dynamic translation ("just-in-time compilation") of bytecodes into native code, which is the mechanism employed universally by highperformance interpreters.We demonstrate that a few simple techniques make it possible to create highly-portable dynamic translators that can attain as much as 70% the performance of optimized C for certain numerical computat… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
23
0

Year Published

2000
2000
2019
2019

Publication Types

Select...
5
4
1

Relationship

0
10

Authors

Journals

citations
Cited by 61 publications
(23 citation statements)
references
References 5 publications
0
23
0
Order By: Relevance
“…For VMs running on desktop computers, multiple instructions are often combined dynamically. Piumarta et al [9] combined instructions dynamically and improved the performance of an interpreter with a RISC-style instruction set. In approaches such as JIT compilation, a VM has a machine code optimization mechanism because combining VM instructions creates extra room for optimization of the machine code implementing the combined instruction.…”
Section: Related Workmentioning
confidence: 99%
“…For VMs running on desktop computers, multiple instructions are often combined dynamically. Piumarta et al [9] combined instructions dynamically and improved the performance of an interpreter with a RISC-style instruction set. In approaches such as JIT compilation, a VM has a machine code optimization mechanism because combining VM instructions creates extra room for optimization of the machine code implementing the combined instruction.…”
Section: Related Workmentioning
confidence: 99%
“…Each micro-op is independently translated to a sequence of target binary code by the second translation phase. This second translation is performed by an automatically generated codegenerator, following a scheme similar to [24]. To enable the generation of this code-generator, each micro-op has a corresponding implementation written in a high-level programming language (C in this case).…”
Section: Dbt Targeting Ia With Qemumentioning
confidence: 99%
“…Piumarta and Riccardi describe selective inlining [20] in which virtual instructions from the same basic block can be combined into a superinstruction at load time. The result is reduced dispatch overhead at run time in exchange for slightly higher load time overhead.…”
Section: Selective Inliningmentioning
confidence: 99%