small updates
[ghc-hetmet.git] / ghc / includes / Constants.h
index 579705e..4f3c35b 100644 (file)
@@ -1,5 +1,4 @@
 /* ----------------------------------------------------------------------------
- * $Id: Constants.h,v 1.27 2004/11/18 09:56:19 tharris 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
-   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
-
-   o MIN_UPD_SIZE doesn't apply to stack closures, static closures
-     or non-updateable objects like PAPs or CONSTRs
-   o MIN_UPD_SIZE is big enough to contain any of the following:
-     o EVACUATED
-     o BLACKHOLE
-     o BLOCKING QUEUE
-     o IND, IND_PERM, IND_OLDGEN and IND_OLDGEN_PERM
-       (it need not be big enough for IND_STATIC - but it is)
-   o MIN_NONUPD_SIZE doesn't apply to stack closures, static closures
-     or updateable objects like APs, THUNKS or THUNK_SELECTORs
-   o MIN_NONUPD_SIZE is big enough to contain any of the following:
-     o EVACUATED
+   This is the minimum number of words in the payload of a
+   heap-allocated closure, so that the closure has enough room to be
+   overwritten with a forwarding pointer during garbage collection.
    -------------------------------------------------------------------------- */
 
-#define MIN_UPD_SIZE   2
-#define MIN_NONUPD_SIZE 1
+#define MIN_PAYLOAD_SIZE 1
 
 /* -----------------------------------------------------------------------------
    Constants to do with specialised closure types.
 #define LDV_LAST_MASK           0x00007FFF
 #define LDV_STATE_CREATE        0x00000000
 #define LDV_STATE_USE           0x40000000
-#endif  // SIZEOF_VOID_P
+#endif /* SIZEOF_VOID_P */
 
 /* -----------------------------------------------------------------------------
    TSO related constants
 #define BlockedOnGA         9
   /* same as above but without sending a Fetch message */
 #define BlockedOnGA_NoSend  10
-/* Only relevant for RTS_SUPPORTS_THREADS: */
+/* Only relevant for THREADED_RTS: */
 #define BlockedOnCCall      11
 #define BlockedOnCCall_NoUnblockExc 12
    /* same as above but don't unblock async exceptions in resumeThread() */
 #error RESERVED_STACK_WORDS may be wrong!
 #endif
 
+/* -----------------------------------------------------------------------------
+   How often our context-switch timer ticks
+   -------------------------------------------------------------------------- */
+
+#define TICK_FREQUENCY   50                      /* ticks per second */
+
 #endif /* CONSTANTS_H */