Lecture 17: Mapping Program State to Memory, Including Register Allocation

Register Machines and Basic Mapping

Register Allocation

Optional Additional Information

Heap: Explicit Dynamic Memory Management

How to implement heap where data lives longer than procedures in which it is created?

Malloc and Free

Scala code:

Free Lists by Size


  • Donald Knuth. Fundamental Algorithms, Third Edition. Addison-Wesley, 1997. ISBN 0-201-89683-4. Section 2.5: Dynamic Storage Allocation, pp.435–456.
  • Tiger book, Chapter 13

Compiling Advanced forms of Procedures