[project @ 2005-02-10 13:01:52 by simonmar]
[ghc-hetmet.git] / ghc / includes / Constants.h
index 2d99ae9..b4d66cb 100644 (file)
@@ -1,5 +1,5 @@
 /* ----------------------------------------------------------------------------
- * $Id: Constants.h,v 1.26 2004/08/13 13:09:13 simonmar Exp $
+ * $Id: Constants.h,v 1.28 2005/02/10 13:02:03 simonmar Exp $
  *
  * (c) The GHC Team, 1998-2002
  *
 /* -----------------------------------------------------------------------------
    Minimum closure sizes
 
-   Here we define the minimum size for updatable closures. This must be at
-   least 2, to allow for cons cells and linked indirections. All updates
+   Here we define the minimum size for updatable closures. All updates
    will be performed on closures of this size. For non-updatable closures
    the minimum size is 1 to allow for a forwarding pointer.
 
-   Linked indirections are UPD_OLDGEN things: see Closures.h
+   When we used to keep the mutable list threaded through closures on
+   the heap, MIN_UPD_SIZE used to be 2.  Now it's 1.
 
    o MIN_UPD_SIZE doesn't apply to stack closures, static closures
      or non-updateable objects like PAPs or CONSTRs
@@ -42,7 +42,7 @@
      o EVACUATED
    -------------------------------------------------------------------------- */
 
-#define MIN_UPD_SIZE   2
+#define MIN_UPD_SIZE   1
 #define MIN_NONUPD_SIZE 1
 
 /* -----------------------------------------------------------------------------
 #define BlockedOnRead       4
 #define BlockedOnWrite      5
 #define BlockedOnDelay      6
+#define BlockedOnSTM        7
 
 /* Win32 only: */
-#define BlockedOnDoProc     7
+#define BlockedOnDoProc     8
 
 /* Only relevant for PAR: */
   /* blocked on a remote closure represented by a Global Address: */
-#define BlockedOnGA         8
+#define BlockedOnGA         9
   /* same as above but without sending a Fetch message */
-#define BlockedOnGA_NoSend  9
+#define BlockedOnGA_NoSend  10
 /* Only relevant for RTS_SUPPORTS_THREADS: */
-#define BlockedOnCCall      10
-#define BlockedOnCCall_NoUnblockExc 11
+#define BlockedOnCCall      11
+#define BlockedOnCCall_NoUnblockExc 12
    /* same as above but don't unblock async exceptions in resumeThread() */
 
 /*