X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Fmain%2FConstants.lhs;h=f52c4838714e4826693628ae98ef8c10c75638b7;hb=696708bc479b2a1c0849579583a840eb9bf0ec67;hp=97d6a3a12ae03492985872c1f47f234ef209fba6;hpb=fc5cd5a56a47cfed705e0358193e5245a7805b83;p=ghc-hetmet.git diff --git a/ghc/compiler/main/Constants.lhs b/ghc/compiler/main/Constants.lhs index 97d6a3a..f52c483 100644 --- a/ghc/compiler/main/Constants.lhs +++ b/ghc/compiler/main/Constants.lhs @@ -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, @@ -57,6 +58,7 @@ module Constants ( oTHER_TAG, mAX_INTLIKE, mIN_INTLIKE, + mAX_CHARLIKE, mIN_CHARLIKE, spRelToInt, @@ -67,9 +69,7 @@ module Constants ( wORD_SIZE, bLOCK_SIZE, - bLOCK_SIZE_W, - - interfaceFileFormatVersion + bLOCK_SIZE_W ) where @@ -120,6 +120,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 @@ -210,20 +214,18 @@ wORD64_SIZE = (WORD64_SIZE :: Int) iNT64_SIZE = (INT64_SIZE :: Int) \end{code} -The version of the interface file format we're using. It's propagated -here by a devious route from ghc/mk/version.mk. See comments -there for what it means. +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