X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fmain%2FConstants.lhs;h=8dc94d19db104da0bb57b5d67ecda70d1b71400b;hb=6a05ec5ef5373f61b7f9f5bdc344483417fa801b;hp=2d72df2710c712fa9aaac584562371f0bc7c6ef4;hpb=9ff76535edb25ab7434284adddb5c64708ecb547;p=ghc-hetmet.git diff --git a/compiler/main/Constants.lhs b/compiler/main/Constants.lhs index 2d72df2..8dc94d1 100644 --- a/compiler/main/Constants.lhs +++ b/compiler/main/Constants.lhs @@ -4,8 +4,17 @@ \section[Constants]{Info about this compilation} \begin{code} +{-# OPTIONS -w #-} +-- The above warning supression flag is a temporary kludge. +-- While working on this module you are encouraged to remove it and fix +-- any warnings in the module. See +-- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings +-- for details + module Constants (module Constants) where +import Data.Bits (shiftL) + -- This magical #include brings in all the everybody-knows-these magic -- constants unfortunately, we need to be *explicit* about which one -- we want; if we just hope a -I... will get the right one, we could @@ -79,16 +88,6 @@ pROF_HDR_SIZE = (PROF_HDR_SIZE :: Int) gRAN_HDR_SIZE = (GRAN_HDR_SIZE :: Int) \end{code} -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) -\end{code} - Size of a double in StgWords. \begin{code} @@ -111,6 +110,13 @@ returning to the scheduler. rESERVED_STACK_WORDS = (RESERVED_STACK_WORDS :: Int) \end{code} +Continuations that need more than this amount of stack should do their +own stack check (see bug #1466). + +\begin{code} +aP_STACK_SPLIM = (AP_STACK_SPLIM :: Int) +\end{code} + Size of a word, in bytes \begin{code} @@ -118,6 +124,14 @@ wORD_SIZE = (SIZEOF_HSWORD :: Int) wORD_SIZE_IN_BITS = wORD_SIZE * 8 :: Int \end{code} +Amount of pointer bits used for semi-tagging constructor closures + +\begin{code} +tAG_BITS = (TAG_BITS :: Int) +tAG_MASK = ((1 `shiftL` tAG_BITS) - 1) :: Int +mAX_PTR_TAG = tAG_MASK :: Int +\end{code} + Size of a C int, in bytes. May be smaller than wORD_SIZE. \begin{code}