Rainbow Interpreter
===================

    - bytecode: linearize hintannotated low-level exceptionstransformed graphs
      into a datastructure containing a bytecode string (the opcodes) and
      constants
 
    - opcodes:

        - all basics operations in red and green variants

        - additional operations for JIT housekeeping like split, merge,
          promote, calls?, return, box_green_var

    - special care needed (later) for implicit promotes (e.g. for exception
      paths and virtualizables)

    - red variables are boxes, already stored on the VirtualFrame
    
    - green variables are GenConsts, should be stored on the VirtualFrame as
      well

    - variables are valid for one block, renaming op (with variable number of
      args)
    
    - interpreter is manually written in a stackless style: jitstates have
      linked lists of frames anyway already

