Linear Scan Register Allocation in a High-Performance Erlang Compiler

  • Authors:
  • Erik Johansson;Konstantinos F. Sagonas

  • Affiliations:
  • -;-

  • Venue:
  • PADL '02 Proceedings of the 4th International Symposium on Practical Aspects of Declarative Languages
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

In the context of an optimizing native code compiler for the concurrent functional programming language Erlang, we experiment with various register allocation schemes focusing on the recently proposed linear scan register allocator. We describe its implementation and extensively report on its behaviour both on register-rich and on register-poor architectures. We also investigate how different options to the basic algorithm and to the compilation process as a whole affect compilation time and quality of the produced code. Overall, the linear scan register allocator is a good choice on register-rich architectures; when compilation time is a concern, it can also be a viable option on register-poor architectures.