darcs patch: Implement #2191 (traceCcs# -- prints CCS of a value wh...

Simon Marlow marlowsd at gmail.com
Mon Apr 7 17:29:10 EDT 2008


Samuel Bronson wrote:
> Sun Apr  6 09:47:55 EDT 2008  Samuel Bronson <naesten at gmail.com>
>   * Implement #2191 (traceCcs# -- prints CCS of a value when available)
>   Apparantly, tagged objects are passed, contrary to the comments for
>   UNTAG and GETTAG in Cmm.h. So I untag them. *sigh*.

Sorry about that comment, I think it was just out of date (actually I 
don't remember writing it, so maybe it wasn't me).  FWIW, the following 
wiki page is a correct description of how pointer tagging works, I believe:

http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/HaskellExecution/PointerTagging

Regarding your patch, it looks like the primitive should be entering R2, 
rather than returning it, since it might not be evaluated.

Cheers,
	Simon



More information about the Cvs-ghc mailing list