Changes between Version 4 and Version 5 of Commentary/Compiler/NewCodeGen


Ignore:
Timestamp:
Nov 2, 2007 12:15:05 PM (6 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/NewCodeGen

    v4 v5  
    1717 
    1818!ToDo list 
     19 * Shall we rename Branch to !GoTo?! 
     20 * Where is the "push new continuation" middle node?  
     21 * How do we write continuations in the RTS?  E.g. the update-frame continuation?  Michael Adams had a syntax with two sets of parameters, the the ones on the stack and the return values. 
     22 
     23 * Review code gen for calls with lots of args.  In the existing codegen we push magic continuations that say "apply the return value to N more args".  Do we want to do this?  !ToDo: how rare is it to have too many args? 
     24 
     25 * Figure out how PAPs work.  This may interact with the GC check and stack check at the start of a function call. 
     26 
     27 * How do stack overflow checks work?  (They are inserted by the CPS conversion, and must not generate a new info table etc.) 
     28 
    1929 * Get rid of `CmmFormals` on `LastJump` and `LastCall` in `ZipCfgCmm` in favour of `CopyIn` and `CopyOut`. 
    2030 * Change the C-- parser (which parses RTS .cmm files) to directly construct `CmmGraph`.   
    2131 * Was there something about sinking spills and hoisting reloads? 
     32 
     33 * (SLPJ) See let-no-escape todos in `StgCmmExpr`. 
     34 
    2235 
    2336== The new Cmm data type == 
     
    7285 * '''Split into multiple !CmmProcs'''. 
    7386 
     87== Runtime system == 
     88 
     89 * '''Garbage collector entry points''': see `Note [Heap checks]` in `StgCmmHeapery`. 
     90 
     91 * '''PAPs''' 
     92  
     93 * '''Update frames''' and '''exception handling'''.  Also STM frames. 
     94 
     95 * '''Primitives''' can be rewritten: 
     96   * Use parameters 
     97   * In a few cases, use native calls (notably eval)