Changes between Version 7 and Version 8 of Commentary/Compiler/StgSynType


Ignore:
Timestamp:
Apr 26, 2012 1:18:46 PM (3 years ago)
Author:
guest
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/StgSynType

    v7 v8  
    2121  * Every lambda-form (`StgRhsClosure`) lists its free variables.  These are the variables that are in the thunk of function closure that is allocated by the let.
    2222
    23   * Every lambda-form gives its [wiki:Commentary/Rts/CAFs '''Static Reference Table'''] or '''SRT'''.  You shold think of the SRT as the ''top-level'' free variables of the body.  They do not need to be dynamically allocated in the heap object, but they do need to be accessible from the object's info-table, so that the garbage collector can find the CAFs kept alive by the object.
     23  * Every lambda-form gives its [wiki:Commentary/Rts/CAFs '''Static Reference Table'''] or '''SRT'''.  You should think of the SRT as the ''top-level'' free variables of the body.  They do not need to be dynamically allocated in the heap object, but they do need to be accessible from the object's info-table, so that the garbage collector can find the CAFs kept alive by the object.
    2424
    2525  * A {{{StgCase}}} expression is decorated with its '''live variables'''; that is, variables reachable from the continuation of the case.  More precisely, two sets of live variables, plus the SRT for the continuation.  Todo: say more.