summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Himmelstrup <lemmih@gmail.com>2020-09-10 16:20:35 +0800
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-09-11 09:59:43 -0400
commit1bd28931903c2fbc10a4b2ecbf9dffd0a3585ac8 (patch)
tree114f0c182d71b90931106b9d1a97824cc445697f
parent3777be14e104f040b826762f5ab42a8b898d85ae (diff)
downloadhaskell-1bd28931903c2fbc10a4b2ecbf9dffd0a3585ac8.tar.gz
Define TICKY_TICKY when compiling cmm RTS files.
-rw-r--r--hadrian/src/Settings/Packages.hs3
-rw-r--r--includes/Cmm.h6
-rw-r--r--includes/stg/Ticky.h25
3 files changed, 22 insertions, 12 deletions
diff --git a/hadrian/src/Settings/Packages.hs b/hadrian/src/Settings/Packages.hs
index cdf5a51d8d..026758b2b7 100644
--- a/hadrian/src/Settings/Packages.hs
+++ b/hadrian/src/Settings/Packages.hs
@@ -279,7 +279,8 @@ rtsPackageArgs = package rts ? do
, arg $ "-DFS_NAMESPACE=rts"
, arg $ "-DCOMPILING_RTS"
, notM targetSupportsSMP ? arg "-DNOSMP"
- , way `elem` [debug, debugDynamic] ? arg "-DTICKY_TICKY"
+ , way `elem` [debug, debugDynamic] ? pure [ "-DTICKY_TICKY"
+ , "-optc-DTICKY_TICKY"]
, Profiling `wayUnit` way ? arg "-DPROFILING"
, Threaded `wayUnit` way ? arg "-DTHREADED_RTS"
, notM targetSupportsSMP ? pure [ "-DNOSMP"
diff --git a/includes/Cmm.h b/includes/Cmm.h
index fc80ff76aa..526dddc7aa 100644
--- a/includes/Cmm.h
+++ b/includes/Cmm.h
@@ -660,7 +660,11 @@
#define TICK_BUMP(ctr) TICK_BUMP_BY(ctr,1)
#define TICK_ENT_DYN_IND() TICK_BUMP(ENT_DYN_IND_ctr)
-#define TICK_ENT_DYN_THK() TICK_BUMP(ENT_DYN_THK_ctr)
+// ENT_DYN_THK_ctr doesn't exist anymore. Could be ENT_DYN_THK_SINGLE_ctr or
+// ENT_DYN_THK_MANY_ctr
+// #define TICK_ENT_DYN_THK() TICK_BUMP(ENT_DYN_THK_ctr)
+#define TICK_ENT_DYN_THK()
+
#define TICK_ENT_VIA_NODE() TICK_BUMP(ENT_VIA_NODE_ctr)
#define TICK_ENT_STATIC_IND() TICK_BUMP(ENT_STATIC_IND_ctr)
#define TICK_ENT_PERM_IND() TICK_BUMP(ENT_PERM_IND_ctr)
diff --git a/includes/stg/Ticky.h b/includes/stg/Ticky.h
index 1dd47c6590..cefb674f31 100644
--- a/includes/stg/Ticky.h
+++ b/includes/stg/Ticky.h
@@ -199,18 +199,23 @@ EXTERN StgInt RET_UNBOXED_TUP_hst[TICKY_BIN_COUNT] INIT({0});
TICKY_TICKY is defined or not. */
#if !defined(CMINUSMINUS)
+#if defined(TICKY_TICKY)
#define TICK_BUMP_BY(ctr,n) ctr = (StgInt) ctr + n
+#else
+#define TICK_BUMP_BY(ctr,n) /* nothing */
+#endif
+
#define TICK_BUMP(ctr) TICK_BUMP_BY(ctr,1)
-#define TICK_ALLOC_PRIM(x,y,z)
-#define TICK_UPD_OLD_IND()
-#define TICK_UPD_NEW_IND()
-#define TICK_UPD_SQUEEZED()
-#define TICK_ALLOC_HEAP_NOCTR(bytes)
-#define TICK_GC_FAILED_PROMOTION()
-#define TICK_ALLOC_TSO()
-#define TICK_ALLOC_STACK(g)
-#define TICK_ALLOC_UP_THK(g,s)
-#define TICK_ALLOC_SE_THK(g,s)
+#define TICK_ALLOC_PRIM(x,y,z) // FIXME: update counter
+#define TICK_UPD_OLD_IND() TICK_BUMP(UPD_OLD_IND_ctr)
+#define TICK_UPD_NEW_IND() TICK_BUMP(UPD_NEW_IND_ctr)
+#define TICK_UPD_SQUEEZED() TICK_BUMP(UPD_SQUEEZED_ctr)
+#define TICK_ALLOC_HEAP_NOCTR(bytes) // FIXME: update counter
+#define TICK_GC_FAILED_PROMOTION() // FIXME: update counter
+#define TICK_ALLOC_TSO() // FIXME: update counter
+#define TICK_ALLOC_STACK(g) // FIXME: update counter
+#define TICK_ALLOC_UP_THK(g,s) // FIXME: update counter
+#define TICK_ALLOC_SE_THK(g,s) // FIXME: update counter
#endif