X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fstat%2Fstatev.h;h=098413e22b9be2a80cd1f053532e523f38d27490;hb=da29eb3f5c76a5f5c2b4b3e5ca0a44101d79556d;hp=4357c6d3451d39464c5f1e883a4bbad526e01e5e;hpb=14df42a9949f65a1e76aca92926d11edd020cfbf;p=libfirm diff --git a/ir/stat/statev.h b/ir/stat/statev.h index 4357c6d34..098413e22 100644 --- a/ir/stat/statev.h +++ b/ir/stat/statev.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved. + * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. * * This file is part of libFirm. * @@ -28,45 +28,48 @@ #ifndef FIRM_STATEVENT_H #define FIRM_STATEVENT_H -#ifndef FIRM_STATISTICS +#ifdef 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) #define stat_ev_cnt_done(name, var) -#define stat_ev_tim_push(var) +#define stat_ev_tim_push() #define stat_ev_tim_pop(name) +#define stat_ev_ctx_push(key) +#define stat_ev_ctx_push_str(key, str) +#define stat_ev_ctx_push_fmt(key, fmt, value) #define stat_ev_ctx_push_fobj(key, firm_object) -#define stat_ev_ctx_push(key, value) #define stat_ev_ctx_pop(key) #define stat_ev_flush() #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); } @@ -74,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); @@ -83,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) \ @@ -121,6 +125,7 @@ static INLINE __attribute__((unused)) void stat_ev_tim_pop(const char *name) { #define stat_ev_ctx_push(key) stat_ev_ctx_push_fmt((key), "X", NULL) #define stat_ev_dbl(name, val) stat_ev_emit((name), (val)) +#define stat_ev_int(name, val) stat_ev_dbl((name), (double) (val)) #define stat_ev(name) stat_ev_emit((name), 0.0) #define stat_ev_cnt_decl(var) int stat_ev_cnt_var_ ## var = 0 @@ -146,4 +151,4 @@ void stat_ev_end(void); #endif -#endif /* FIRM_STATEVENT_H */ +#endif