X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2Frts%2FConstants.h;h=a4114ab999a0175beb16927ce97d717768f0e37e;hb=f07b01e57f4c08a68e22eb81f25c865d1d7c15c3;hp=54a1ca71ca3c6c8fd7b79b968871e67bce5a7d98;hpb=65ac2f4cefcea7ca78a65ca22889b51b5a27d1f0;p=ghc-hetmet.git diff --git a/includes/rts/Constants.h b/includes/rts/Constants.h index 54a1ca7..a4114ab 100644 --- a/includes/rts/Constants.h +++ b/includes/rts/Constants.h @@ -198,8 +198,7 @@ #define ThreadRunGHC 1 /* return to address on top of stack */ #define ThreadInterpret 2 /* interpret this thread */ #define ThreadKilled 3 /* thread has died, don't run it */ -#define ThreadRelocated 4 /* thread has moved, link points to new locn */ -#define ThreadComplete 5 /* thread has finished */ +#define ThreadComplete 4 /* thread has finished */ /* * Constants for the why_blocked field of a TSO @@ -208,24 +207,30 @@ #define NotBlocked 0 #define BlockedOnMVar 1 #define BlockedOnBlackHole 2 -#define BlockedOnException 3 -#define BlockedOnRead 4 -#define BlockedOnWrite 5 -#define BlockedOnDelay 6 -#define BlockedOnSTM 7 +#define BlockedOnRead 3 +#define BlockedOnWrite 4 +#define BlockedOnDelay 5 +#define BlockedOnSTM 6 /* Win32 only: */ -#define BlockedOnDoProc 8 +#define BlockedOnDoProc 7 /* Only relevant for PAR: */ /* blocked on a remote closure represented by a Global Address: */ -#define BlockedOnGA 9 +#define BlockedOnGA 8 /* same as above but without sending a Fetch message */ -#define BlockedOnGA_NoSend 10 +#define BlockedOnGA_NoSend 9 /* Only relevant for THREADED_RTS: */ -#define BlockedOnCCall 11 -#define BlockedOnCCall_NoUnblockExc 12 - /* same as above but don't unblock async exceptions in resumeThread() */ +#define BlockedOnCCall 10 +#define BlockedOnCCall_Interruptible 11 + /* same as above but permit killing the worker thread */ + +/* Involved in a message sent to tso->msg_cap */ +#define BlockedOnMsgThrowTo 12 + +/* The thread is not on any run queues, but can be woken up + by tryWakeupThread() */ +#define ThreadMigrating 13 /* * These constants are returned to the scheduler by a thread that has @@ -260,11 +265,6 @@ #define TSO_STOPPED_ON_BREAKPOINT 16 /* - * TSO_LINK_DIRTY is set when a TSO's link field is modified - */ -#define TSO_LINK_DIRTY 32 - -/* * Used by the sanity checker to check whether TSOs are on the correct * mutable list. */ @@ -305,4 +305,13 @@ */ #define SPIN_COUNT 1000 +/* ----------------------------------------------------------------------------- + Spare workers per Capability in the threaded RTS + + No more than MAX_SPARE_WORKERS will be kept in the thread pool + associated with each Capability. + -------------------------------------------------------------------------- */ + +#define MAX_SPARE_WORKERS 6 + #endif /* RTS_CONSTANTS_H */