/* ----------------------------------------------------------------------------
- * $Id: Constants.h,v 1.8 2000/01/13 14:34:00 hwloidl Exp $
+ * $Id: Constants.h,v 1.15 2001/07/31 13:44:37 simonmar Exp $
*
* (c) The GHC Team, 1998-1999
*
#define PAR_HDR_SIZE 0
#define TICKY_HDR_SIZE 0
-#define ARR_HDR_SIZE 1
+#define ARR_WORDS_HDR_SIZE 1
+#define ARR_PTRS_HDR_SIZE 2
/* -----------------------------------------------------------------------------
Info Table sizes
#define UF_RET 0
#define UF_SU 1
#define UF_UPDATEE 2
-#define UF_CCS 3
/* -----------------------------------------------------------------------------
SEQ frame size
#define INT64_SIZE 2
#endif
+
+/*---- The size of StgWord, in bytes. */
+#define WORD_SIZE SIZEOF_VOID_P
+
/*---- Maximum number of constructors in a data type for direct-returns. */
#define MAX_VECTORED_RTN 8
-/*---- Range of built-in table of static small int-like closures. */
+/*---- Range of built-in table of static small int-like and char-like closures. */
-#define MAX_INTLIKE (16)
+#define MAX_INTLIKE 16
#define MIN_INTLIKE (-16)
+#define MAX_CHARLIKE 255
+#define MIN_CHARLIKE 0
+
+/* You can change these constants (I hope) but be sure to modify
+ rts/StgMiscClosures.hs accordingly. */
+
/*---- Minimum number of words left in heap after GC to carry on */
#define HEAP_HWM_WORDS 1024
#define INFO_FIRST_TAG 0
/* -----------------------------------------------------------------------------
- Context switch timing constants.
- -------------------------------------------------------------------------- */
-
-#define CS_MAX_FREQUENCY 100 /* context switches per second */
-#define CS_MIN_MILLISECS (1000/CS_MAX_FREQUENCY)/* milliseconds per slice */
-
-/* -----------------------------------------------------------------------------
How much C stack to reserve for local temporaries when in the STG
world. Used in StgRun.S and StgCRun.c.
-------------------------------------------------------------------------- */
-#define RESERVED_C_STACK_BYTES (512 * SIZEOF_LONG)
+#define RESERVED_C_STACK_BYTES (2048 * SIZEOF_LONG)
/* -----------------------------------------------------------------------------
How much Haskell stack space to reserve for the saving of registers