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
Figures, Tables, and Topics from this paper
12 Citations
Trace Register Allocation Policies: Compile-time vs. Performance Trade-offs
- Computer Science
- ManLang
- 2017
- 3
- PDF
Irregular Register Allocation for Translation of Test-pattern Programs
- Computer Science
- ACM Trans. Archit. Code Optim.
- 2021
A cost model for a graph-based intermediate-representation in a dynamic compiler
- Computer Science
- VMIL@SPLASH
- 2018
- 3
- PDF
QuickCheck: using speculation to reduce the overhead of checks in NVM frameworks
- Computer Science
- VEE
- 2019
- 3
On Evaluating the Renaissance Benchmarking Suite: Variety, Performance, and Complexity
- Computer Science
- ArXiv
- 2019
- PDF
References
SHOWING 1-7 OF 7 REFERENCES
Quality and speed in linear-scan register allocation
- Computer Science
- PLDI
- 1998
- 120
- Highly Influential
- PDF
Efficiently computing static single assignment form and the control dependence graph
- Computer Science
- TOPL
- 1991
- 2,302
- Highly Influential
- PDF