2011
DOI: 10.1145/1961296.1950412
|View full text |Cite
|
Sign up to set email alerts
|

Improving the performance of trace-based systems by false loop filtering

Abstract: Trace-based compilation is a promising technique for language compilers and binary translators. It offers the potential to expand the compilation scopes that have traditionally been limited by method boundaries. Detecting repeating cyclic execution paths and capturing the detected repetitions into traces is a key requirement for trace selection algorithms to achieve good optimization and performance with small amounts of code. One important class of repetition detection is cyclic-path-based repetitio… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
10
0

Year Published

2011
2011
2015
2015

Publication Types

Select...
3
2

Relationship

1
4

Authors

Journals

citations
Cited by 5 publications
(10 citation statements)
references
References 15 publications
0
10
0
Order By: Relevance
“…Bala et al [5,6] propose the targets of backward branches as anchors for trace compilation for their dynamic binary optimization system Dynamo, because they mark the entry point of a loop very likely. While this is a commonly accepted strategy, Hayashizaki et al [9] argue that it also encounters false loops, which could degrade the performance of a virtual machine. False loops do actually not represent program loops but could instead occur when multiple callers invoke the same method.…”
Section: Related Workmentioning
confidence: 99%
“…Bala et al [5,6] propose the targets of backward branches as anchors for trace compilation for their dynamic binary optimization system Dynamo, because they mark the entry point of a loop very likely. While this is a commonly accepted strategy, Hayashizaki et al [9] argue that it also encounters false loops, which could degrade the performance of a virtual machine. False loops do actually not represent program loops but could instead occur when multiple callers invoke the same method.…”
Section: Related Workmentioning
confidence: 99%
“…As a first step, recent work in [13,16] has significantly bridged the performance gap between trace compilation and the state-of-the-art method compilation for Java, where a trace JIT is able to reach 96% of the steady-state performance of a mature product JIT on a suite of large-scale applications. This is achieved primarily by aggressively designing the trace selection algorithm to create larger traces.…”
Section: Trace Compilation For Large Applicationsmentioning
confidence: 99%
“…One-pass trace selection algorithms are the most common type of selection algorithms, which include NET [1], LEI [14], YETI [21], PyPy [5], and LuaJIT [17]. It has been demonstrated that one-pass trace selection can scale to large applications and achieve the kind of coverage and performance comparable to those of a mature method JIT [13,16]. A typical one-pass trace selection algorithm consists of two steps.…”
Section: The Baseline Trace Selection Algorithmmentioning
confidence: 99%
See 2 more Smart Citations