Trace-based Register Allocation in a JIT Compiler

@inproceedings{Eisl2016TracebasedRA,
  title={Trace-based Register Allocation in a JIT Compiler},
  author={J. Eisl and Matthias Grimmer and Doug Simon and Thomas W{\"u}rthinger and H. M{\"o}ssenb{\"o}ck},
  booktitle={PPPJ '16},
  year={2016}
}
State-of-the-art dynamic compilers often use global approaches, like Linear Scan or Graph Coloring, for register allocation. [...] Key Method Traces reduce the problem size to a single linear code segment, which simplifies the problem a register allocator needs to solve. Additionally, we can apply different register allocation algorithms to each trace. We show that this non-global approach can achieve results competitive to global register allocation. We present an implementation of Trace Register Allocation…Expand
12 Citations
Parallel trace register allocation
  • PDF
Irregular Register Allocation for Translation of Test-pattern Programs
QuickCheck: using speculation to reduce the overhead of checks in NVM frameworks
  • 3
Renaissance: benchmarking suite for parallel applications on the JVM
  • 19
  • PDF
On Evaluating the Renaissance Benchmarking Suite: Variety, Performance, and Complexity
  • PDF
...
1
2
...

References

SHOWING 1-7 OF 7 REFERENCES
Quality and speed in linear-scan register allocation
  • 120
  • Highly Influential
  • PDF
Linear scan register allocation on SSA form
  • 50
  • Highly Influential
  • PDF
Linear scan register allocation
  • 354
  • Highly Influential
  • PDF
Register Allocation Via Coloring
  • 572
  • Highly Influential
  • PDF
Bulldog: A Compiler for VLIW Architectures
  • 615
  • Highly Influential
Efficiently computing static single assignment form and the control dependence graph
  • 2,302
  • Highly Influential
  • PDF
Da capo con scala
  • 8
  • Highly Influential