[project @ 2001-08-31 13:51:45 by sewardj]
[ghc-hetmet.git] / ghc / compiler / main / Constants.lhs
index 641b9f7..0e6a179 100644 (file)
@@ -24,6 +24,7 @@ module Constants (
        aRR_WORDS_HDR_SIZE,
        aRR_PTRS_HDR_SIZE,
         rESERVED_C_STACK_BYTES,
+        rESERVED_STACK_WORDS,
 
        sTD_ITBL_SIZE,
        pROF_ITBL_SIZE,
@@ -38,7 +39,6 @@ module Constants (
        uF_RET,
        uF_SU,
        uF_UPDATEE,
-       uF_CCS,
 
        sEQ_FRAME_SIZE,
        sCC_SEQ_FRAME_SIZE,
@@ -57,6 +57,7 @@ module Constants (
        oTHER_TAG,
 
        mAX_INTLIKE, mIN_INTLIKE,
+       mAX_CHARLIKE, mIN_CHARLIKE,
 
        spRelToInt,
 
@@ -64,9 +65,10 @@ module Constants (
        iNT64_SIZE,
        wORD64_SIZE,
        
-       bLOCK_SIZE,
+       wORD_SIZE,
 
-       interfaceFileFormatVersion
+       bLOCK_SIZE,
+       bLOCK_SIZE_W
 
     ) where
 
@@ -117,6 +119,10 @@ oTHER_TAG = (INFO_OTHER_TAG :: Integer)    -- (-1) unevaluated, probably
 mIN_INTLIKE, mAX_INTLIKE :: Integer    -- Only used to compare with (MachInt Integer)
 mIN_INTLIKE = MIN_INTLIKE
 mAX_INTLIKE = MAX_INTLIKE
+
+mIN_CHARLIKE, mAX_CHARLIKE :: Int      -- Only used to compare with (MachChar Int)
+mIN_CHARLIKE = MIN_CHARLIKE
+mAX_CHARLIKE = MAX_CHARLIKE
 \end{code}
 
 A little function that abstracts the stack direction.  Note that most
@@ -152,7 +158,6 @@ gRAN_UF_SIZE = (GRAN_UF_SIZE::Int)
 uF_RET         = (UF_RET::Int)
 uF_SU          = (UF_SU::Int)
 uF_UPDATEE     = (UF_UPDATEE::Int)
-uF_CCS         = (UF_CCS::Int)
 \end{code}
 
 Seq frame sizes.
@@ -207,23 +212,29 @@ wORD64_SIZE    = (WORD64_SIZE   :: Int)
 iNT64_SIZE     = (INT64_SIZE   :: Int)
 \end{code}
 
-The version of the interface file format we're
-using:
+This tells the native code generator the size of the spill
+area is has available.
 
 \begin{code}
-interfaceFileFormatVersion :: Int
-interfaceFileFormatVersion = HscIfaceFileVersion
+rESERVED_C_STACK_BYTES = (RESERVED_C_STACK_BYTES :: Int)
 \end{code}
 
-This tells the native code generator the size of the spill
-area is has available.
+The amount of (Haskell) stack to leave free for saving registers when
+returning to the scheduler.
 
 \begin{code}
-rESERVED_C_STACK_BYTES = (RESERVED_C_STACK_BYTES :: Int)
+rESERVED_STACK_WORDS = (RESERVED_STACK_WORDS :: Int)
+\end{code}
+
+Size of a word, in bytes
+
+\begin{code}
+wORD_SIZE = (WORD_SIZE :: Int)
 \end{code}
 
 Size of a storage manager block (in bytes).
 
 \begin{code}
 bLOCK_SIZE = (BLOCK_SIZE :: Int)
+bLOCK_SIZE_W = (bLOCK_SIZE `div` wORD_SIZE :: Int)
 \end{code}