X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fstat%2Fstatev.h;h=886a223c90afee233d3adef2622d9a9d07b83df6;hb=c496fb7a06926c15967ea635fd95a9c78e74d6bc;hp=1545b451913e5da4380f585e35dc001da9fa4741;hpb=1ce363f80e6a204d4011f85813362d9bd1d0e7e4;p=libfirm diff --git a/ir/stat/statev.h b/ir/stat/statev.h index 1545b4519..886a223c9 100644 --- a/ir/stat/statev.h +++ b/ir/stat/statev.h @@ -28,13 +28,15 @@ #ifndef FIRM_STATEVENT_H #define FIRM_STATEVENT_H -#ifndef FIRM_STATISTICS +#if !defined(FIRM_STATISTICS) || defined(DISABLE_STATEV) #define stat_ev_do(expr) +#define stat_ev_enabled 0 #define stat_ev_if if (0) #define stat_ev_dbl(name, val) #define stat_ev_int(name, val) #define stat_ev(name) +#define stat_ev_emit(name, value) #define stat_ev_cnt_decl(var) #define stat_ev_cnt_inc(var) @@ -52,24 +54,22 @@ #else #include -#include "timing.h" +#include "stat_timing.h" -extern void stat_ev_printf(char ev_type, const char *key, const char *fmt, ...); +extern void stat_ev_printf(char ev_type, const char *key, const char *fmt, ...); -extern int stat_ev_enabled; -extern int stat_ev_timer_sp; -extern timing_ticks_t stat_ev_timer_elapsed[]; -extern timing_ticks_t stat_ev_timer_start[]; -extern timing_sched_env_t stat_ev_sched_rt; -extern timing_sched_env_t stat_ev_sched_normal; +extern int stat_ev_enabled; +extern int stat_ev_timer_sp; +extern timing_ticks_t stat_ev_timer_elapsed[]; +extern timing_ticks_t stat_ev_timer_start[]; -static INLINE __attribute__((unused)) void stat_ev_tim_push(void) { +static inline void stat_ev_tim_push(void) { timing_ticks_t temp; int sp = stat_ev_timer_sp++; timing_ticks(temp); - if (sp == 0) - timing_sched_set(&stat_ev_sched_rt); - else { + if (sp == 0) { + timing_enter_max_prio(); + } else { timing_ticks_sub(temp, stat_ev_timer_start[sp - 1]); timing_ticks_add(stat_ev_timer_elapsed[sp - 1], temp); } @@ -77,7 +77,7 @@ static INLINE __attribute__((unused)) void stat_ev_tim_push(void) { timing_ticks(stat_ev_timer_start[sp]); } -static INLINE __attribute__((unused)) void stat_ev_tim_pop(const char *name) { +static inline void stat_ev_tim_pop(const char *name) { int sp; timing_ticks_t temp; timing_ticks(temp); @@ -86,10 +86,11 @@ static INLINE __attribute__((unused)) void stat_ev_tim_pop(const char *name) { timing_ticks_add(stat_ev_timer_elapsed[sp], temp); if (name != NULL && stat_ev_enabled) stat_ev_printf('E', name, "%g", timing_ticks_dbl(stat_ev_timer_elapsed[sp])); - if (sp == 0) - timing_sched_set(&stat_ev_sched_normal); - else + if (sp == 0) { + timing_leave_max_prio(); + } else { timing_ticks(stat_ev_timer_start[sp - 1]); + } } #define stat_ev_ctx_push_fmt(key, fmt, value) \