Wed Oct 31 07:36:34 PDT 2007  Simon Marlow <[EMAIL PROTECTED]>
  * GC refactoring: make evacuate() take an StgClosure**
  
  Change the type of evacuate() from 
    StgClosure *evacuate(StgClosure *);
  to
    void evacuate(StgClosure **);
  
  So evacuate() itself writes the source pointer, rather than the
  caller.  This is slightly cleaner, and avoids a few memory writes:
  sometimes evacuate() doesn't move the object, and in these cases the
  source pointer doesn't need to be written.  It doesn't have a
  measurable impact on performance, though.

    M ./rts/sm/Evac.c -91 +128
    M ./rts/sm/Evac.h -1 +1
    M ./rts/sm/GC.c -2 +7
    M ./rts/sm/MarkWeak.c -7 +10
    M ./rts/sm/Scav.c -133 +130

View patch online:
http://darcs.haskell.org/ghc/_darcs/patches/20071031143634-760e2-a0e4ad30d0d64c0c98d914aee380a22bdaffe122.gz

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to