simonmar    2002/09/06 02:56:13 PDT

  Modified files:
    ghc/rts              GC.c 
  Log:
  Selector Thunk Fix, take II.
  
  The previous version didn't deal well with selector thunks which point
  to more selector thunks, and on closer inspection the method was
  flawed.  Now I've introduced a function
  
        StgClosure *eval_selector_thunk( int field, StgClosure * )
  
  which evaluates a selector thunk returning its value, in from-space,
  if possible.  It blackholes the thunk during evaluation.  It might
  recursively evaluate more selector thunks, but it does this in a
  bounded way and updates the thunks with indirections (NOT forwarding
  pointers) after evaluation.
  
  This cleans things up somewhat, and I believe it deals properly with
  both types of selector-thunk loops that arise.
  
  MERGE TO STABLE
  
  Revision  Changes    Path
  1.140     +140 -143  fptools/ghc/rts/GC.c
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc


Reply via email to