+/* This function reports counters for GC and mutator */
+void
+papi_report(long_long PapiCounters[])
+{
+ char temp[BIG_STRING_LEN];
+
+ /* I need to improve formatting aesthetics */
+ PAPI_REPORT(PapiCounters,PAPI_TOT_CYC);
+
+ if(RtsFlags.PapiFlags.eventType==PAPI_FLAG_BRANCH) {
+ PAPI_REPORT(PapiCounters,FR_BR);
+ PAPI_REPORT(PapiCounters,FR_BR_MIS);
+ PAPI_REPORT_PCT(PapiCounters,FR_BR_MIS,FR_BR);
+ PAPI_REPORT_PCT(PapiCounters,FR_BR_MISCOMPARE,FR_BR);
+ }
+
+ if(RtsFlags.PapiFlags.eventType==PAPI_FLAG_STALLS) {
+ PAPI_REPORT(PapiCounters,FR_DISPATCH_STALLS_BR);
+ PAPI_REPORT_PCT(PapiCounters,FR_DISPATCH_STALLS_BR,PAPI_TOT_CYC);
+ PAPI_REPORT(PapiCounters,FR_DISPATCH_STALLS_FULL_LS);
+ PAPI_REPORT_PCT(PapiCounters,FR_DISPATCH_STALLS_FULL_LS,PAPI_TOT_CYC);
+ }
+
+ if(RtsFlags.PapiFlags.eventType==PAPI_FLAG_CACHE_L1) {
+ PAPI_REPORT(PapiCounters,PAPI_L1_DCA);
+ PAPI_REPORT(PapiCounters,PAPI_L1_DCM);
+ PAPI_REPORT_PCT(PapiCounters,PAPI_L1_DCM,PAPI_L1_DCA);
+ }
+
+ if(RtsFlags.PapiFlags.eventType==PAPI_FLAG_CACHE_L2) {
+ PAPI_REPORT(PapiCounters,PAPI_L2_DCA);
+ PAPI_REPORT(PapiCounters,PAPI_L2_DCM);
+ PAPI_REPORT_PCT(PapiCounters,PAPI_L2_DCM,PAPI_L2_DCA);
+ }
+
+}
+
+