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}
}
  • J. Eisl, Matthias Grimmer, +2 authors H. Mössenböck
  • Published in PPPJ '16 2016
  • Computer Science
  • 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 Abstract
    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
    • 18
    • PDF
    On Evaluating the Renaissance Benchmarking Suite: Variety, Performance, and Complexity
    • PDF

    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
    • 353
    • Highly Influential
    • PDF
    Register Allocation Via Coloring
    • 571
    • Highly Influential
    • PDF
    Bulldog: A Compiler for VLIW Architectures
    • 615
    • Highly Influential
    Efficiently computing static single assignment form and the control dependence graph
    • 2,292
    • Highly Influential
    • PDF
    Da capo con scala
    • 7
    • Highly Influential