[project @ 1998-11-26 09:17:22 by sof]
[ghc-hetmet.git] / ghc / includes / GhcConstants.lh
index 08e6ea6..e3dae80 100644 (file)
@@ -10,7 +10,7 @@ Multi-slurp protection (start):
 #define GHCCONSTANTS_H
 
 #ifndef PLATFORM_H
-#include "platform.h"
+/* OLD: #include "platform.h" */
 #endif
 \end{code}
 
@@ -56,6 +56,18 @@ The size of an StgDouble, in StgWords.
 #endif
 \end{code}
 
+The size of an Stg{Int,Word}64, in StgWords.
+
+\begin{code}
+#if alpha_TARGET_ARCH
+#define WORD64_SIZE    1
+#define INT64_SIZE     1
+#else
+#define WORD64_SIZE    2
+#define INT64_SIZE     2
+#endif
+\end{code}
+
 Sizes of gmp objects, in StgWords
 
 \begin{code}
@@ -94,6 +106,7 @@ do the selection at GC time):
 #define MAX_VANILLA_REG 8
 #define MAX_FLOAT_REG 4
 #define MAX_DOUBLE_REG 2
+#define MAX_LONG_REG 2
 \end{code}
 
 %************************************************************************
@@ -123,39 +136,6 @@ Range of built-in table of static small int-like closures.
 
 %************************************************************************
 %*                                                                     *
-\subsection[string-size]{Maximum size of cost centre and description strings}
-%*                                                                     *
-%************************************************************************
-
-This is the maximum identifier length that can be used for a cost
-centre or description string. It includes the terminating null
-character.
-
-WDP 95/07: I think this STRING_SIZE thing is completely redundant.
-
-The printf formats are here, so we are less likely to make overly-long
-filenames (with disastrous results).  No more than 128 chars, please!
-
-\begin{code}
-#define STRING_SIZE 128
-
-#define STATS_FILENAME_MAXLEN  128
-
-#define GR_FILENAME_FMT                "%0.124s.gr"
-#define GR_FILENAME_FMT_GUM    "%0.120s.%03d.gr"
-#define HP_FILENAME_FMT                "%0.124s.hp"
-#define LIFE_FILENAME_FMT      "%0.122s.life"
-#define PROF_FILENAME_FMT      "%0.122s.prof"
-#define PROF_FILENAME_FMT_GUM  "%0.118s.%03d.prof"
-#define QP_FILENAME_FMT                "%0.124s.qp"
-#define STAT_FILENAME_FMT      "%0.122s.stat"
-#define TICKY_FILENAME_FMT     "%0.121s.ticky"
-#define TIME_FILENAME_FMT      "%0.122s.time"
-#define TIME_FILENAME_FMT_GUM  "%0.118s.%03d.time"
-\end{code}
-
-%************************************************************************
-%*                                                                     *
 \subsection[update-frame-size]{Update frame size}
 %*                                                                     *
 %************************************************************************
@@ -187,7 +167,7 @@ If cost-centres are being used we have to add to the above sizes:
 If we are compiling C code the use of cost centres is determined at
 compile time so we use conditional macro definitions.
 \begin{code}
-#if defined(USE_COST_CENTRES)
+#if defined(PROFILING)
 #define STD_UF_SIZE    SCC_STD_UF_SIZE
 #define CON_UF_SIZE    SCC_CON_UF_SIZE
 #else
@@ -221,9 +201,12 @@ what.
 Tags for indirection nodes and ``other'' (probably unevaluated) nodes;
 normal-form values of algebraic data types will have tags 0, 1, ...
 
+@INFO_IND_TAG@ is different from @INFO_OTHER_TAG@ just so we can count
+how often we bang into indirection nodes; that's all.  (WDP 95/11)
+
 \begin{code}
 #define INFO_OTHER_TAG         (-1)
-#define INFO_IND_TAG           (-1)
+#define INFO_IND_TAG           (-2)
 #define INFO_FIRST_TAG         0
 \end{code}