*** 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,
-- 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_USE_THRESHOLD = ( 3 :: 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_KEENESS_FACTOR = ( 2.0 :: Float)
\end{code}
\begin{code}