From: Ian Lynagh Date: Tue, 19 Oct 2010 15:45:52 +0000 (+0000) Subject: seq the unfolding in setUnfoldingInfo X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=2b64626e8b639030f62b1c1926db30288a5e9f7d;p=ghc-hetmet.git 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. --- diff --git a/compiler/basicTypes/IdInfo.lhs b/compiler/basicTypes/IdInfo.lhs index 0a173d9..c383f89 100644 --- a/compiler/basicTypes/IdInfo.lhs +++ b/compiler/basicTypes/IdInfo.lhs @@ -64,7 +64,7 @@ module IdInfo ( TickBoxOp(..), TickBoxId, ) where -import CoreSyn ( CoreRule, setRuleIdName, seqRules, Unfolding, noUnfolding ) +import CoreSyn import Class import PrimOp @@ -243,9 +243,8 @@ setUnfoldingInfoLazily info uf -- Lazy variant to avoid looking at the setUnfoldingInfo :: IdInfo -> Unfolding -> IdInfo setUnfoldingInfo info uf - -- We do *not* seq on the unfolding info, For some reason, doing so - -- actually increases residency significantly. - = info { unfoldingInfo = uf } + = seqUnfolding uf `seq` + info { unfoldingInfo = uf } setArityInfo :: IdInfo -> ArityInfo -> IdInfo setArityInfo info ar = info { arityInfo = ar }