Changes between Version 18 and Version 19 of Commentary/Compiler/StackAreas


Ignore:
Timestamp:
Jun 6, 2008 3:26:45 PM (6 years ago)
Author:
dias
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/StackAreas

    v18 v19  
    7676}}} 
    7777 
     78An '''Area''' represents space on the stack; it may contain either a single stack slot for a register or a number of parameters passed to/from a function call/return. The '''BlockId''' is the label of the function call's continuation, and the two integers are the sizes of the outgoing and incoming parameter-passing areas. 
     79 
     80To name a specific location on the stack, we represent its address with a new kind of '''CmmExpr''': the '''CmmStackSlot'''. A '''CmmStackSlot''' is just an integer offset into an '''Area'''. 
     81 
     82Note: We don't have a virtual frame pointer in this story, but do we really need it? Here's a minor argument against: it requires special treatment by some analyses in Quick C--, although it might just fold away into the large set of global registers in GHC. 
     83 
    7884 
    7985