X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fincludes%2FGhcConstants.lh;h=e3dae80bc4e7a27e34bcce5b2a521f90f81257f9;hb=e37f536c02953c87fa7ea8bc5066982dbe4ec04f;hp=9971f85fabbed4ea9e3bd6613b60cf40093f02c4;hpb=e7d21ee4f8ac907665a7e170c71d59e13a01da09;p=ghc-hetmet.git diff --git a/ghc/includes/GhcConstants.lh b/ghc/includes/GhcConstants.lh index 9971f85..e3dae80 100644 --- a/ghc/includes/GhcConstants.lh +++ b/ghc/includes/GhcConstants.lh @@ -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,35 +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 TICKY_FILENAME_FMT "%0.121s.ticky" -#define STAT_FILENAME_FMT "%0.122s.stat" -#define PROF_FILENAME_FMT "%0.122s.prof" -#define PROF_FILENAME_FMT_GUM "%0.118s.%03d.prof" -#define TIME_FILENAME_FMT "%0.122s.time" -#define TIME_FILENAME_FMT_GUM "%0.118s.%03d.time" -#define HP_FILENAME_FMT "%0.124s.hp" -\end{code} - -%************************************************************************ -%* * \subsection[update-frame-size]{Update frame size} %* * %************************************************************************ @@ -183,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 @@ -217,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}