Improve typechecking of instance defaults
[ghc.git] / includes / stg / Ticky.h
index 182c996..5143c2f 100644 (file)
@@ -7,11 +7,10 @@
  * Do not #include this file directly: #include "Rts.h" instead.
  *
  * To understand the structure of the RTS headers, see the wiki:
- *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *   http://ghc.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
  *
  * -------------------------------------------------------------------------- */
 
-
 #ifndef TICKYCOUNTERS_H
 #define TICKYCOUNTERS_H
 
@@ -46,8 +45,10 @@ extern W_ top_ct[];
 #endif
 
 EXTERN StgInt ENT_VIA_NODE_ctr INIT(0);
-EXTERN StgInt ENT_STATIC_THK_ctr INIT(0);
-EXTERN StgInt ENT_DYN_THK_ctr INIT(0);
+EXTERN StgInt ENT_STATIC_THK_SINGLE_ctr INIT(0);
+EXTERN StgInt ENT_DYN_THK_SINGLE_ctr INIT(0);
+EXTERN StgInt ENT_STATIC_THK_MANY_ctr INIT(0);
+EXTERN StgInt ENT_DYN_THK_MANY_ctr INIT(0);
 EXTERN StgInt ENT_STATIC_FUN_DIRECT_ctr INIT(0);
 EXTERN StgInt ENT_DYN_FUN_DIRECT_ctr INIT(0);
 EXTERN StgInt ENT_STATIC_CON_ctr INIT(0);
@@ -128,7 +129,6 @@ EXTERN StgInt UPD_OLD_IND_ctr INIT(0);
 EXTERN StgInt UPD_OLD_PERM_IND_ctr INIT(0);
 
 EXTERN StgInt UPD_BH_UPDATABLE_ctr INIT(0);
-EXTERN StgInt UPD_BH_SINGLE_ENTRY_ctr INIT(0);
 EXTERN StgInt UPD_CAF_BH_UPDATABLE_ctr INIT(0);
 EXTERN StgInt UPD_CAF_BH_SINGLE_ENTRY_ctr INIT(0);
 
@@ -179,9 +179,17 @@ EXTERN StgInt RET_OLD_ctr INIT(0);
 EXTERN StgInt RET_UNBOXED_TUP_ctr INIT(0);
 
 EXTERN StgInt RET_SEMI_loads_avoided INIT(0);
-
 /* End of counter declarations. */
 
+/* How many bins in ticky's histograms */
+#define TICKY_BIN_COUNT 9
+
+/* Histogram declarations */
+EXTERN StgInt RET_NEW_hst[TICKY_BIN_COUNT] INIT({0});
+EXTERN StgInt RET_OLD_hst[TICKY_BIN_COUNT] INIT({0});
+EXTERN StgInt RET_UNBOXED_TUP_hst[TICKY_BIN_COUNT] INIT({0});
+/* End of histogram declarations */
+
 /* This is ugly, but the story is:
    We got rid of StgTicky.h, which was previously
    defining these macros for the benefit of C code