[commit: ghc] supercompiler: Comments only (fee3f60)

Max Bolingbroke <[email protected]>
Newsgroups gmane.comp.lang.haskell.cvs.ghc
Message-ID <[email protected]>
Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : supercompiler

http://hackage.haskell.org/trac/ghc/changeset/fee3f60929b1d9eaa042db17890644b4c140b05a

>---------------------------------------------------------------

commit fee3f60929b1d9eaa042db17890644b4c140b05a
Author: Max Bolingbroke <[email protected]>
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))
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.