summaryrefslogtreecommitdiff
path: root/includes/rts/Hpc.h
diff options
context:
space:
mode:
Diffstat (limited to 'includes/rts/Hpc.h')
-rw-r--r--includes/rts/Hpc.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/includes/rts/Hpc.h b/includes/rts/Hpc.h
new file mode 100644
index 0000000000..c966e32cd9
--- /dev/null
+++ b/includes/rts/Hpc.h
@@ -0,0 +1,32 @@
+/* -----------------------------------------------------------------------------
+ *
+ * (c) The GHC Team, 2008-2009
+ *
+ * Haskell Program Coverage
+ *
+ * -------------------------------------------------------------------------- */
+
+#ifndef RTS_HPC_H
+#define RTS_HPC_H
+
+// Simple linked list of modules
+typedef struct _HpcModuleInfo {
+ char *modName; // name of module
+ StgWord32 tickCount; // number of ticks
+ StgWord32 tickOffset; // offset into a single large .tix Array
+ StgWord32 hashNo; // Hash number for this module's mix info
+ StgWord64 *tixArr; // tix Array; local for this module
+ struct _HpcModuleInfo *next;
+} HpcModuleInfo;
+
+int hs_hpc_module (char *modName,
+ StgWord32 modCount,
+ StgWord32 modHashNo,
+ StgWord64 *tixArr);
+
+HpcModuleInfo * hs_hpc_rootModule (void);
+
+void startupHpc(void);
+void exitHpc(void);
+
+#endif /* RTS_HPC_H */