X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fincludes%2FConstants.h;h=4f3c35b7448fe814facc595cc6bc31f47ec45212;hb=86f2671b37507012692a53c2fe45357b0988cb40;hp=b4d66cbaf3c0399ce96fecc4b045ea120b188769;hpb=e7c3f957fd36fd9f6369183b7a31e2a4a4c21b43;p=ghc-hetmet.git diff --git a/ghc/includes/Constants.h b/ghc/includes/Constants.h index b4d66cb..4f3c35b 100644 --- a/ghc/includes/Constants.h +++ b/ghc/includes/Constants.h @@ -1,5 +1,4 @@ /* ---------------------------------------------------------------------------- - * $Id: Constants.h,v 1.28 2005/02/10 13:02:03 simonmar Exp $ * * (c) The GHC Team, 1998-2002 * @@ -21,29 +20,12 @@ /* ----------------------------------------------------------------------------- Minimum closure sizes - 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. - - 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 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 1 -#define MIN_NONUPD_SIZE 1 +#define MIN_PAYLOAD_SIZE 1 /* ----------------------------------------------------------------------------- Constants to do with specialised closure types. @@ -196,7 +178,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 @@ -232,7 +214,7 @@ #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() */ @@ -267,4 +249,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 */