Trace Register Allocation Policies: Compile-time vs. Performance Trade-offs

@article{Eisl2017TraceRA,
  title={Trace Register Allocation Policies: Compile-time vs. Performance Trade-offs},
  author={J. Eisl and S. Marr and Thomas W{\"u}rthinger and H. M{\"o}ssenb{\"o}ck},
  journal={Proceedings of the 14th International Conference on Managed Languages and Runtimes},
  year={2017}
}
  • J. Eisl, S. Marr, +1 author H. Mössenböck
  • Published 2017
  • Computer Science
  • Proceedings of the 14th International Conference on Managed Languages and Runtimes
Register allocation is an integral part of compilation, regardless of whether a compiler aims for fast compilation or optimal code quality. State-of-the-art dynamic compilers often use global register allocation approaches such as linear scan. Recent results suggest that non-global trace-based register allocation approaches can compete with global approaches in terms of allocation quality. Instead of processing the whole compilation unit (i.e., method) at once, a trace-based register allocator… Expand
3 Citations
Parallel trace register allocation
  • PDF
Efficient global register allocation
  • PDF
An Optimization-Driven Incremental Inline Substitution Algorithm for Just-in-Time Compilers
  • 6
  • PDF

References

SHOWING 1-4 OF 4 REFERENCES
Da capo con scala: design and analysis of a scala benchmark suite for the java virtual machine
  • 85
  • Highly Influential
Da capo con scala
  • 8
  • Highly Influential
On the Complexity of Register
  • 2007
Dynamo: A Transpar
  • 2000