X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fincludes%2FConstants.h;h=d02ae4d699dbf404e522451830bf9975cf0061dc;hb=81aad35c3b00f76748ba46e6b94686058f5cca7b;hp=2d99ae9b6a40cca2afa438cac297cfd3aa309b9e;hpb=423d477bfecd490de1449c59325c8776f91d7aac;p=ghc-hetmet.git diff --git a/ghc/includes/Constants.h b/ghc/includes/Constants.h index 2d99ae9..d02ae4d 100644 --- a/ghc/includes/Constants.h +++ b/ghc/includes/Constants.h @@ -1,5 +1,4 @@ /* ---------------------------------------------------------------------------- - * $Id: Constants.h,v 1.26 2004/08/13 13:09:13 simonmar Exp $ * * (c) The GHC Team, 1998-2002 * @@ -21,12 +20,12 @@ /* ----------------------------------------------------------------------------- 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 +41,7 @@ o EVACUATED -------------------------------------------------------------------------- */ -#define MIN_UPD_SIZE 2 +#define MIN_UPD_SIZE 1 #define MIN_NONUPD_SIZE 1 /* ----------------------------------------------------------------------------- @@ -196,7 +195,7 @@ #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 @@ -222,18 +221,19 @@ #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 -/* Only relevant for RTS_SUPPORTS_THREADS: */ -#define BlockedOnCCall 10 -#define BlockedOnCCall_NoUnblockExc 11 +#define BlockedOnGA_NoSend 10 +/* Only relevant for THREADED_RTS: */ +#define BlockedOnCCall 11 +#define BlockedOnCCall_NoUnblockExc 12 /* same as above but don't unblock async exceptions in resumeThread() */ /* @@ -266,4 +266,10 @@ #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 */