Changes between Version 74 and Version 75 of Commentary/Compiler/StackAreas


Ignore:
Timestamp:
Sep 19, 2013 2:43:20 PM (7 months ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/StackAreas

    v74 v75  
    6969 * Hence, to address a 4-byte object at the old end of `Area` a, we use the offset +4, thus `(CmmStackSlot a 4)`. 
    7070 
    71 The `Old` call area is the initial state of the stack on entry to the function (the overflow parameters and the return address) as well as any arguments that will be passed to a tail call. Note that `RegSlot` areas are very small (since they only need to store a single register), while `CallArea` are contiguous chunks of arguments. 
     71The `Old` call area is the initial state of the stack on entry to the function (the overflow parameters and the return address) as well as any arguments that will be passed to a tail call.  (SLPJ believes that:) On entry to the function, register `Sp` contains the address of the youngest (lowest-address, highest offset) byte in the `Old` area.  
     72 
     73Note that `RegSlot` areas are very small (since they only need to store a single register), while `CallArea` are contiguous chunks of arguments. 
    7274 
    7375To name a specific location on the stack, we represent its address with a new kind of `CmmExpr`: the `CmmStackSlot`.