inside the GHC code generator

Simon Peyton-Jones simonpj at microsoft.com
Fri Feb 24 07:22:58 EST 2006


| The closest thing I've seen to a solution is the technique used in
Urban
| Boquist's thesis, which is to put a static table in the executable
with
| information about register and stack usage indexed by procedure return
| point, and use that to unwind the stack and find roots. 

Every accurate garbage collector (including GHC's) uses a technique like
this, but the solution is invariably tightly-coupled to the garbage
collector, compiler and run-time system.  

A major feature of C-- is that it squarely addresses this problem in a
*reusable* way.

Simon



More information about the Glasgow-haskell-users mailing list