Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : supercompiler
http://hackage.haskell.org/trac/ghc/changeset/fee3f60929b1d9eaa042db17890644b4c140b05a >--------------------------------------------------------------- commit fee3f60929b1d9eaa042db17890644b4c140b05a Author: Max Bolingbroke <batterseapo...@hotmail.com> Date: Fri Aug 17 01:29:14 2012 +0100 Comments only >--------------------------------------------------------------- compiler/supercompile/Supercompile/Drive/MSG.hs | 20 ++++++++++++-------- 1 files changed, 12 insertions(+), 8 deletions(-) diff --git a/compiler/supercompile/Supercompile/Drive/MSG.hs b/compiler/supercompile/Supercompile/Drive/MSG.hs index eb851e2..2c91717 100644 --- a/compiler/supercompile/Supercompile/Drive/MSG.hs +++ b/compiler/supercompile/Supercompile/Drive/MSG.hs @@ -163,18 +163,22 @@ data MSGState = MSGState { msgKnownTypes :: TypeMap (TypeMap TyVar), -- a "known" map at all. We don't *want* them in one because we don't mant MSGing to increase work sharing! msgKnownCoercions :: CoercionMap (CoercionMap CoVar), -- INVARIANT: all Vars in the range have extra information that has *already* been MSGed msgLR :: Pair MSGLRState, + -- May only shrink: + msgSuckStack :: IM.IntMap (MSGU ()), + -- May grow and then shrink, a bit chaotically: msgCommonHeap :: PureHeap, - msgCommonStack :: Stack, - msgSuckStack :: IM.IntMap (MSGU ()) + msgCommonStack :: Stack } data MSGLRState = MSGLRState { - msgLRAvailableHeap :: PureHeap, -- Available heap - msgLRAvailableStack :: Stack, -- Available stack - msgLRHeap :: PureHeap, -- Certainly-individual heap - msgLRStack :: Stack, -- Certainly-individual stack - msgLRRenaming :: Renaming, -- Certainly-individual renaming - msgLRSuckVar :: VarEnv (MSGU ()) -- Can be called to ensure that the given var is in the individual state + -- May only shrink: + msgLRSuckVar :: VarEnv (MSGU ()), -- Can be called to ensure that the given var is in the individual state + msgLRAvailableHeap :: PureHeap, -- Available heap + msgLRAvailableStack :: Stack, -- Available stack + -- May only grow: + msgLRHeap :: PureHeap, -- Certainly-individual heap + msgLRStack :: Stack, -- Certainly-individual stack + msgLRRenaming :: Renaming -- Certainly-individual renaming } type StackInitM = State.State (InScopeSet, VarEnv (VarEnv Var)) _______________________________________________ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc