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


Ignore:
Timestamp:
Nov 2, 2007 12:15:05 PM (8 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)