I would almost prefer that you use a Makefile trick here.  We should
avoid adding new #if's in the code when it's possible to avoid them.

At the very least, provide two _complete_ versions of the function.
Your new comment is misleading, as it only applies to one branch.

On Tue, 2009-12-15 at 15:46 +0100, Øyvind Harboe wrote:
> A crisper implementation makes profiling a tad easier.
> 
> Signed-off-by: Øyvind Harboe <oyvind.har...@zylin.com>
> ---
>  src/helper/time_support.c |   16 ++++++++++++++++
>  1 files changed, 16 insertions(+), 0 deletions(-)
> 
> diff --git a/src/helper/time_support.c b/src/helper/time_support.c
> index 693528f..4e69c42 100644
> --- a/src/helper/time_support.c
> +++ b/src/helper/time_support.c
> @@ -29,6 +29,9 @@
>  
>  #include "time_support.h"
>  
> +#if BUILD_ECOSBOARD == 1
> +#include <cyg/kernel/kapi.h>
> +#endif
>  
>  /* calculate difference between two struct timeval values */
>  int timeval_subtract(struct timeval *result, struct timeval *x, struct 
> timeval *y)
> @@ -73,13 +76,26 @@ int timeval_add_time(struct timeval *result, long sec, 
> long usec)
>       return 0;
>  }
>  
> +/* simple and low overhead fetching of ms counter. Use only
> + * the difference between ms counters returned from this fn.
> + */
>  int64_t timeval_ms()
>  {
> +#if BUILD_ECOSBOARD == 0
>       struct timeval now;
>       int retval = gettimeofday(&now, NULL);
>       if (retval < 0)
>               return retval;
>       return (int64_t)now.tv_sec * 1000 + now.tv_usec / 1000;
> +#else
> +     /* Faster/less noisy implementation of getting ms when
> +      * profiling
> +      */
> +     static const int ms_per_tick =
> +                     (CYGNUM_HAL_RTC_NUMERATOR / CYGNUM_HAL_RTC_DENOMINATOR) 
> / 1000000;
> +     cyg_tick_count_t cur_time = cyg_current_time();
> +     return ((int)cur_time) * ms_per_tick;
> +#endif
>  }
>  
> 


_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to