2010
DOI: 10.1007/978-3-642-11515-8_7
View full text |Buy / Rent full text
|
Sign up to set email alerts
|

Abstract: Abstract. Just-in-time compilers are becoming ubiquitous, spurring the design of more efficient algorithms and more elaborate intermediate representations. They rely on continuous, feedback-directed (re-)compilation frameworks to adaptively select a limited set of hot functions for aggressive optimization. To date, (quasi-)linear complexity has remained a driving force in the design of just-in-time optimizers. This paper describes a split register allocator showing that linear complexity does not imply reduced… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
5
0

Year Published

2010
2010
2013
2013

Publication Types

Select...
2

Relationship

1
1

Authors

Journals

citations
Cited by 3 publications
(5 citation statements)
references
References 21 publications
(26 reference statements)
0
5
0
Order By: Relevance
“…In a recent paper, Diouf et al [13] studied the question of the spill sets inclusion, which is the question to know whether or not the variables spilled on an optimal allocation with R registers (R > 0) is included in the set of variables spilled on an optimal allocation with R − 1 registers. Diouf et al…”
Section: Stepwise Allocation Is Close To Optimalmentioning
confidence: 99%
See 1 more Smart Citation
“…In a recent paper, Diouf et al [13] studied the question of the spill sets inclusion, which is the question to know whether or not the variables spilled on an optimal allocation with R registers (R > 0) is included in the set of variables spilled on an optimal allocation with R − 1 registers. Diouf et al…”
Section: Stepwise Allocation Is Close To Optimalmentioning
confidence: 99%
“…Stepwise optimality does not guarantee an overall optimal allocation, but we will show that it comes very close to optimal, even with step = 1. Intuition for this comes from recent work by Diouf et al [13], observing that allocation decisions tend to be a monotonic function of the number of registers.…”
Section: Introductionmentioning
confidence: 99%
“…On the other hand, LLVM [31] is a widely used framework which demonstrated that lifelong program analysis and transformation can be made available to arbitrary software, and in a manner that is transparent to programmers. For deferred compilation to be effective, high-level information must be propagated while lowering the program representation: it can take the form of annotations in Java class file for register allocation [2,18,27], array bound checks removal [38] or side effect analysis [29,32]. Split compilation generalizes these approaches: it uses annotations and coding conventions in the intermediate language to coordinate the optimization process over the entire lifetime of the program.…”
Section: Split Compilationmentioning
confidence: 99%
“…Split compilation can also enhance classical optimizations, to speed them up [29] or improve their effectiveness [18]. Diouf et al [18] revisit register allocation, splitting the optimization into coordinated allocation and assignment heuristics.…”
Section: Examples and Directionsmentioning
confidence: 99%
See 1 more Smart Citation