summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorsimonmar@microsoft.com <unknown>2007-11-20 13:36:35 +0000
committersimonmar@microsoft.com <unknown>2007-11-20 13:36:35 +0000
commit8db56c8606e6c0e89a87d34c3f67124f1e8b988e (patch)
tree8ee9883969f75dbaa1fcd6d9842f79d5adc56805 /includes
parent510d17388f2c1cde5bbcef8083a57444438614de (diff)
downloadhaskell-8db56c8606e6c0e89a87d34c3f67124f1e8b988e.tar.gz
improvements to PAPI support
- major (multithreaded) GC is measured separately from minor GC - events to measure can now be specified on the command line, e.g prog +RTS -a+PAPI_TOT_CYC
Diffstat (limited to 'includes')
-rw-r--r--includes/RtsFlags.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/includes/RtsFlags.h b/includes/RtsFlags.h
index bc36ebdb8f..902e6c064b 100644
--- a/includes/RtsFlags.h
+++ b/includes/RtsFlags.h
@@ -304,11 +304,13 @@ struct TRACE_FLAGS {
rtsBool timestamp; /* add timestamps to traces */
};
-/* Put them together: */
-
#ifdef USE_PAPI
+#define MAX_PAPI_USER_EVENTS 8
+
struct PAPI_FLAGS {
nat eventType; /* The type of events to count */
+ nat numUserEvents;
+ char * userEvents[MAX_PAPI_USER_EVENTS];
};
#define PAPI_FLAG_CACHE_L1 1
@@ -316,9 +318,12 @@ struct PAPI_FLAGS {
#define PAPI_FLAG_BRANCH 3
#define PAPI_FLAG_STALLS 4
#define PAPI_FLAG_CB_EVENTS 5
+#define PAPI_USER_EVENTS 6
#endif
+/* Put them together: */
+
typedef struct _RTS_FLAGS {
/* The first portion of RTS_FLAGS is invariant. */
struct GC_FLAGS GcFlags;