[project @ 2003-07-21 15:14:18 by ross]
[ghc-hetmet.git] / ghc / compiler / main / Constants.lhs
index daa1c84..5c35e58 100644 (file)
@@ -20,13 +20,13 @@ module Constants (
        sTD_HDR_SIZE,
        pROF_HDR_SIZE,
        gRAN_HDR_SIZE,
-       tICKY_HDR_SIZE,
        aRR_WORDS_HDR_SIZE,
        aRR_PTRS_HDR_SIZE,
         rESERVED_C_STACK_BYTES,
         rESERVED_STACK_WORDS,
 
        sTD_ITBL_SIZE,
+       rET_ITBL_SIZE,
        pROF_ITBL_SIZE,
        gRAN_ITBL_SIZE,
        tICKY_ITBL_SIZE,
@@ -37,13 +37,8 @@ module Constants (
        pROF_UF_SIZE,
        gRAN_UF_SIZE,  -- HWL
        uF_RET,
-       uF_SU,
        uF_UPDATEE,
 
-       sEQ_FRAME_SIZE,
-       pROF_SEQ_FRAME_SIZE,
-       gRAN_SEQ_FRAME_SIZE, -- HWL
-
        mAX_Vanilla_REG,
        mAX_Float_REG,
        mAX_Double_REG,
@@ -66,10 +61,12 @@ module Constants (
        wORD64_SIZE,
        
        wORD_SIZE,
+       wORD_SIZE_IN_BITS,
 
        bLOCK_SIZE,
-       bLOCK_SIZE_W
+       bLOCK_SIZE_W,
 
+       bITMAP_BITS_SHIFT,
     ) where
 
 -- This magical #include brings in all the everybody-knows-these magic
@@ -90,7 +87,8 @@ module Constants (
 All pretty arbitrary:
 
 \begin{code}
-mAX_TUPLE_SIZE = (37 :: Int)
+mAX_TUPLE_SIZE = (62 :: Int)   -- Should really match the number
+                               -- of decls in Data.Tuple
 mAX_CONTEXT_REDUCTION_DEPTH = (20 :: Int)
 \end{code}
 
@@ -158,18 +156,9 @@ gRAN_UF_SIZE = (GRAN_UF_SIZE::Int)
 
 -- Offsets in an update frame.  They don't change with profiling!
 uF_RET         = (UF_RET::Int)
-uF_SU          = (UF_SU::Int)
 uF_UPDATEE     = (UF_UPDATEE::Int)
 \end{code}
 
-Seq frame sizes.
-
-\begin{code}
-sEQ_FRAME_SIZE = (STD_SEQ_FRAME_SIZE::Int)
-pROF_SEQ_FRAME_SIZE = (PROF_SEQ_FRAME_SIZE::Int)
-gRAN_SEQ_FRAME_SIZE = (GRAN_SEQ_FRAME_SIZE::Int)
-\end{code}
-
 \begin{code}
 mAX_Vanilla_REG        = (MAX_VANILLA_REG :: Int)
 mAX_Float_REG  = (MAX_FLOAT_REG :: Int)
@@ -192,7 +181,6 @@ Closure header sizes.
 sTD_HDR_SIZE       = (STD_HDR_SIZE       :: Int)
 pROF_HDR_SIZE      = (PROF_HDR_SIZE      :: Int)
 gRAN_HDR_SIZE      = (GRAN_HDR_SIZE      :: Int)
-tICKY_HDR_SIZE     = (TICKY_HDR_SIZE     :: Int)
 aRR_WORDS_HDR_SIZE = (ARR_WORDS_HDR_SIZE :: Int)
 aRR_PTRS_HDR_SIZE  = (ARR_PTRS_HDR_SIZE  :: Int)
 \end{code}
@@ -201,6 +189,7 @@ Info Table sizes.
 
 \begin{code}
 sTD_ITBL_SIZE   = (STD_ITBL_SIZE   :: Int)
+rET_ITBL_SIZE   = (RET_ITBL_SIZE   :: Int)
 pROF_ITBL_SIZE  = (PROF_ITBL_SIZE  :: Int)
 gRAN_ITBL_SIZE  = (GRAN_ITBL_SIZE  :: Int)
 tICKY_ITBL_SIZE = (TICKY_ITBL_SIZE :: Int)
@@ -232,6 +221,7 @@ Size of a word, in bytes
 
 \begin{code}
 wORD_SIZE = (SIZEOF_HSWORD :: Int)
+wORD_SIZE_IN_BITS = wORD_SIZE * 8 :: Int
 \end{code}
 
 Size of a storage manager block (in bytes).
@@ -240,3 +230,9 @@ Size of a storage manager block (in bytes).
 bLOCK_SIZE = (BLOCK_SIZE :: Int)
 bLOCK_SIZE_W = (bLOCK_SIZE `div` wORD_SIZE :: Int)
 \end{code}
+
+Number of bits to shift a bitfield left by in an info table.
+
+\begin{code}
+bITMAP_BITS_SHIFT = (BITMAP_BITS_SHIFT :: Int)
+\end{code}