/* ----------------------------------------------------------------------------
- * $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
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() */
/*