#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
#define BlockedOnGA_NoSend 9
/* Only relevant for THREADED_RTS: */
#define BlockedOnCCall 10
-#define BlockedOnCCall_NoUnblockExc 11
- /* same as above but don't unblock async exceptions in resumeThread() */
+#define BlockedOnCCall_Interruptible 11
+ /* same as above but permit killing the worker thread */
/* Involved in a message sent to tso->msg_cap */
-#define BlockedOnMsgWakeup 12
-#define BlockedOnMsgThrowTo 13
+#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
* stopped for one reason or another. See typedef StgThreadReturnCode
#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.
*/
*/
#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 */