X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2Frts%2FConstants.h;h=bfc77fa3616ba082b38e41a5b54a19b94e2ab1a5;hb=2726a2f10256710cc6ed80b1098cb32e121e1be7;hp=82f3bdd74d67b6bf59a2a87fcace53b3e479f986;hpb=69ba3e6bbae81ce02f6ea66d0686667b7dfb7e8f;p=ghc-hetmet.git diff --git a/includes/rts/Constants.h b/includes/rts/Constants.h index 82f3bdd..bfc77fa 100644 --- a/includes/rts/Constants.h +++ b/includes/rts/Constants.h @@ -66,6 +66,13 @@ #define MAX_CHARLIKE 255 #define MIN_CHARLIKE 0 +/* Each byte in the card table for an StgMutaArrPtrs covers + * (1<msg_cap */ +#define BlockedOnMsgWakeup 12 +#define BlockedOnMsgThrowTo 13 /* * These constants are returned to the scheduler by a thread that has * stopped for one reason or another. See typedef StgThreadReturnCode @@ -263,6 +272,13 @@ */ #define TSO_MARKED 64 +/* + * Used to communicate between stackSqueeze() and + * threadStackOverflow() that a thread's stack was squeezed and the + * stack may not need to be expanded. + */ +#define TSO_SQUEEZED 128 + /* ----------------------------------------------------------------------------- RET_DYN stack frames -------------------------------------------------------------------------- */ @@ -282,4 +298,13 @@ #error RESERVED_STACK_WORDS may be wrong! #endif +/* + * The number of times we spin in a spin lock before yielding (see + * #3758). To tune this value, use the benchmark in #3758: run the + * server with -N2 and the client both on a dual-core. Also make sure + * that the chosen value doesn't slow down any of the parallel + * benchmarks in nofib/parallel. + */ +#define SPIN_COUNT 1000 + #endif /* RTS_CONSTANTS_H */