[project @ 1998-08-14 11:28:20 by sof]
[ghc-hetmet.git] / ghc / compiler / main / Constants.lhs
index 536ebb5..f5538ce 100644 (file)
@@ -8,18 +8,16 @@
 *** This SHOULD BE the only module that is CPP'd with "stgdefs.h" stuff.
 
 \begin{code}
-#include "HsVersions.h"
-
 module Constants (
        uNFOLDING_USE_THRESHOLD,
        uNFOLDING_CREATION_THRESHOLD,
---     uNFOLDING_OVERRIDE_THRESHOLD,
        iNTERFACE_UNFOLD_THRESHOLD,
        lIBERATE_CASE_THRESHOLD,
        uNFOLDING_CHEAP_OP_COST,
        uNFOLDING_DEAR_OP_COST,
        uNFOLDING_NOREP_LIT_COST,
        uNFOLDING_CON_DISCOUNT_WEIGHT,
+       uNFOLDING_KEENESS_FACTOR,
 
        mAX_SPEC_ALL_PTRS,
        mAX_SPEC_ALL_NONPTRS,
@@ -45,8 +43,7 @@ module Constants (
        mAX_Vanilla_REG,
        mAX_Float_REG,
        mAX_Double_REG,
-
-       mIN_BIG_TUPLE_SIZE,
+       mAX_Long_REG,
 
        mIN_MP_INT_SIZE,
        mP_STRUCT_SIZE,
@@ -74,25 +71,24 @@ module Constants (
 -- we want; if we just hope a -I... will get the right one, we could
 -- be in trouble.
 
+#include "HsVersions.h"
 #include "../../includes/GhcConstants.h"
 
-CHK_Ubiq() -- debugging consistency check
-
 import Util
 \end{code}
 
 All pretty arbitrary:
 \begin{code}
 uNFOLDING_USE_THRESHOLD              = ( 8 :: Int)
-uNFOLDING_CREATION_THRESHOLD  = (30 :: Int)
+uNFOLDING_CREATION_THRESHOLD  = (30 :: Int)    -- Discounts can be big
 iNTERFACE_UNFOLD_THRESHOLD    = (30 :: Int)
 lIBERATE_CASE_THRESHOLD              = (10 :: Int)
--- uNFOLDING_OVERRIDE_THRESHOLD  = ( 8 :: Int)
 
 uNFOLDING_CHEAP_OP_COST       = ( 1 :: Int)
 uNFOLDING_DEAR_OP_COST        = ( 4 :: Int)
 uNFOLDING_NOREP_LIT_COST      = ( 20 :: Int)   -- Strings can be pretty big
-uNFOLDING_CON_DISCOUNT_WEIGHT = ( 1 :: Int)
+uNFOLDING_CON_DISCOUNT_WEIGHT = ( 3 :: Int)
+uNFOLDING_KEENESS_FACTOR      = ( 2.0 :: Float)
 \end{code}
 
 \begin{code}
@@ -107,11 +103,6 @@ mIN_SIZE_NonUpdHeapObject  = (MIN_NONUPD_SIZE::Int)
 mIN_SIZE_NonUpdStaticHeapObject        = (0::Int)
 \end{code}
 
-A completely random number:
-\begin{code}
-mIN_BIG_TUPLE_SIZE = (16::Int)
-\end{code}
-
 Sizes of gmp objects:
 \begin{code}
 mIN_MP_INT_SIZE = (MIN_MP_INT_SIZE :: Int)
@@ -183,4 +174,5 @@ uF_COST_CENTRE = (UF_COST_CENTRE::Int)
 mAX_Vanilla_REG        = (MAX_VANILLA_REG :: Int)
 mAX_Float_REG  = (MAX_FLOAT_REG :: Int)
 mAX_Double_REG = (MAX_DOUBLE_REG :: Int)
+mAX_Long_REG    = (MAX_LONG_REG   :: Int)
 \end{code}