patch applied (ghc): seq the unfolding in setUnfoldingInfo

Simon Peyton-Jones simonpj at microsoft.com
Wed Oct 20 04:01:11 EDT 2010


Good catch Ian.  I've added a comment
  = seqUnfolding uf `seq`	-- This seq makes a BIG difference to Trac #4367
so that if someone is tempted to take it out (which the earlier comment
suggests they might) they have a test case to try it against.

Can you do the same for your other patch?  This one:

simonpj at cam-04-unx:~/darcs/HEAD$ darcs cha -p 'Evaluate the results in coreToStgApp' -v
Tue Oct 19 18:05:32 BST 2010  Ian Lynagh <igloo at earth.li>
  * Evaluate the results in coreToStgApp
    {
    hunk ./compiler/stgSyn/CoreToStg.lhs 547
    -
    -    return (
    -        app,
    -        fun_fvs  `unionFVInfo` args_fvs,
    -        fun_escs `unionVarSet` (getFVSet args_fvs)
    +        fvs = fun_fvs  `unionFVInfo` args_fvs
    +        vars = fun_escs `unionVarSet` (getFVSet args_fvs)
    hunk ./compiler/stgSyn/CoreToStg.lhs 551
    +
    +    app `seq` fvs `seq` seqVarSet vars `seq` return (
    +        app,
    +        fvs,
    +        vars
    }


THanks

Simon
| -----Original Message-----
| From: cvs-ghc-bounces at haskell.org [mailto:cvs-ghc-bounces at haskell.org] On Behalf Of
| Ian Lynagh
| Sent: 19 October 2010 17:59
| To: cvs-ghc at haskell.org
| Subject: patch applied (ghc): seq the unfolding in setUnfoldingInfo
| 
| Tue Oct 19 08:45:52 PDT 2010  Ian Lynagh <igloo at earth.li>
|   * seq the unfolding in setUnfoldingInfo
|   Contrary to the comment, for the module in #4367 at least, it is a big
|   improvement. Without it we get a huge spike of drag.
| 
|     M ./compiler/basicTypes/IdInfo.lhs -4 +3
| 
| View patch online:
| http://darcs.haskell.org/cgi-
| bin/darcsweb.cgi?r=ghc;a=darcs_commitdiff;h=20101019154552-3fd76-
| e62d22c0b9017b1401339e352ad5a3d64b2829e0.gz
| 
| _______________________________________________
| Cvs-ghc mailing list
| Cvs-ghc at haskell.org
| http://www.haskell.org/mailman/listinfo/cvs-ghc



More information about the Cvs-ghc mailing list