Proceedings of the 9th International Conference on Principles and Practice of Programming in Java 2011
DOI: 10.1145/2093157.2093183
|View full text |Cite
|
Sign up to set email alerts
|

Optimizing interpreters by tuning opcode orderings on virtual machines for modern architectures

Abstract: Virtual machines (VMs) are commonly used to implement programming languages such as Java, Python and Lua. VMs are typically implemented using an interpreter, a JIT compiler, or some combination of the two. A long-standing question in the design of VM interpreters is whether it is worthwhile to reorder the cases in the main interpreter loop to improve code locality. We investigate this phenomenon using an iterative, feedback-directed approach. We show that the ordering of the cases in the interpreter loop has a… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
0

Year Published

2012
2012
2015
2015

Publication Types

Select...
3
1
1

Relationship

0
5

Authors

Journals

citations
Cited by 5 publications
(2 citation statements)
references
References 20 publications
0
2
0
Order By: Relevance
“…A lot of techniques, like feedback-guided technique [22], profile-guided technique [23], etc, are conducted to achieve better orderings, improving code locality and reducing cache misses. Jason McCandless and his co-worker [24] implement a metaheuristic (Monte Carlo) to generate better orderings, achieving considerable performance improvement. As shown in section 5, cache misses can also be reduced by our new mechanism, making the new interpreter perform better.…”
Section: Related Workmentioning
confidence: 99%
“…A lot of techniques, like feedback-guided technique [22], profile-guided technique [23], etc, are conducted to achieve better orderings, improving code locality and reducing cache misses. Jason McCandless and his co-worker [24] implement a metaheuristic (Monte Carlo) to generate better orderings, achieving considerable performance improvement. As shown in section 5, cache misses can also be reduced by our new mechanism, making the new interpreter perform better.…”
Section: Related Workmentioning
confidence: 99%
“…Finally, modifying the interpreter directly to turn features on and off would be both difficult and possibly plagued by second-order effects due to orthogonal issues such as the ordering of bytecode implementations in the interpreter [MG11].…”
Section: Compiling Python Functions With Pylibjitmentioning
confidence: 99%