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

Reply via email to