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… CONTINUE READING
    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
    • 7
    • Highly Influential
    On the Complexity of Register
    • 2007
    Dynamo: A Transpar
    • 2000