Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications 2012
DOI: 10.1145/2384616.2384630
|View full text |Cite
|
Sign up to set email alerts
|

Adaptive multi-level compilation in a trace-based Java JIT compiler

Abstract: This paper describes our multi-level compilation techniques implemented in a trace-based Java JIT compiler (trace-JIT). Like existing multi-level compilation for method-based compilers, we start JIT compilation with a small compilation scope and a low optimization level so the program can start running quickly. Then we identify hot paths with a timer-based sampling profiler, generate long traces that capture the hot paths, and recompile them with a high optimization level to improve the peak performance. A key… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

0
5
0

Year Published

2013
2013
2020
2020

Publication Types

Select...
4
3

Relationship

0
7

Authors

Journals

citations
Cited by 10 publications
(5 citation statements)
references
References 17 publications
0
5
0
Order By: Relevance
“…Recently, trace-based compilation has gained popularity in dynamic scripting languages [5,10] and high level language virtual machines [11,16,17,26]. Wu et al [26] and Inoue et al [16,17] investigate the performance of several variations of NET on tracebased Java virtual machines.…”
Section: Trace-based Language Virtual Machinesmentioning
confidence: 99%
See 1 more Smart Citation
“…Recently, trace-based compilation has gained popularity in dynamic scripting languages [5,10] and high level language virtual machines [11,16,17,26]. Wu et al [26] and Inoue et al [16,17] investigate the performance of several variations of NET on tracebased Java virtual machines.…”
Section: Trace-based Language Virtual Machinesmentioning
confidence: 99%
“…Wu et al [26] and Inoue et al [16,17] investigate the performance of several variations of NET on tracebased Java virtual machines.…”
Section: Trace-based Language Virtual Machinesmentioning
confidence: 99%
“…Traditional program representations, such as control flow graphs, cannot handle the effects of runtime changes to the code, which require accommodating the possibility of some memory locations having different instructions at different times during execution. JIT compilers [16,22] and dynamic binary translators [31] maintain representations of the code being dynamically modified, but not together with that of the code that performs code modification. Whole-system analyses [11,14,21,45,46] perform dynamic taint propagation, taking into account explicit information flows via data dependencies but not implicit flows via control dependencies.…”
Section: Introductionmentioning
confidence: 99%
“…This paper adopts hot-trace compilation technology to compile and optimize it. The so-called hot trace compilation [5] translates frequently executed program fragments (instruction sequences) into target code (Java bytecode) to compile and execute instead of interpretive execution in order to improve the execution efficiency of frequently executed program fragments and avoid the overhead of compiling without frequent program execution.…”
Section: Introductionmentioning
confidence: 99%