Static Garbage Collection for L3

William Lovas and Neelakantan Krishnaswami


We employ a simple type-based analysis for the L3 language to drive an optimization that automatically converts non-escaping memory allocations to stack allocations. Our optimization improves performance signifantly on some programs that allocate lots of non-escaping intermediate data structures.


These describe our work in more detail. It's amusing to see how our ideas about the project changed between the proposal and the writeup. . .


Somewhat messy -- may not compile on other systems. Requires the Boehm-Demers-Weiser conservative garbage collector for C, as well as O'Caml version 3.08.1 or later. The key changes are in,, and