[project @ 2001-07-31 13:44:37 by simonmar]
[ghc-hetmet.git] / ghc / includes / Constants.h
index 3983196..636897f 100644 (file)
@@ -1,5 +1,5 @@
 /* ----------------------------------------------------------------------------
- * $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
  *
@@ -27,7 +27,8 @@
 #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