X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/d75ffb4ed0b2e72a9361a07d16a5c884a9459728..d3155315c85212f224fc5df0239182dafdfd6284:/lib-src/profile.c diff --git a/lib-src/profile.c b/lib-src/profile.c index 3489e49254..ffaa225656 100644 --- a/lib-src/profile.c +++ b/lib-src/profile.c @@ -1,5 +1,6 @@ /* profile.c --- generate periodic events for profiling of Emacs Lisp code. - Copyright (C) 1992, 1994, 1999, 2001-2012 Free Software Foundation, Inc. + Copyright (C) 1992, 1994, 1999, 2001-2015 Free Software Foundation, + Inc. Author: Boaz Ben-Zvi @@ -28,9 +29,9 @@ along with GNU Emacs. If not, see . */ ** abstraction : a stopwatch ** operations: reset_watch, get_time */ -#include -#define SYSTIME_INLINE EXTERN_INLINE +#define INLINE EXTERN_INLINE +#include #include #include @@ -38,17 +39,17 @@ along with GNU Emacs. If not, see . */ #include #include -static EMACS_TIME TV1; +static struct timespec TV1; static int watch_not_started = 1; /* flag */ static char time_string[INT_STRLEN_BOUND (uintmax_t) + sizeof "." - + LOG10_EMACS_TIME_RESOLUTION]; + + LOG10_TIMESPEC_RESOLUTION]; /* Reset the stopwatch to zero. */ static void reset_watch (void) { - TV1 = current_emacs_time (); + TV1 = current_timespec (); watch_not_started = 0; } @@ -59,12 +60,12 @@ reset_watch (void) static char * get_time (void) { - EMACS_TIME TV2 = sub_emacs_time (current_emacs_time (), TV1); - uintmax_t s = EMACS_SECS (TV2); - int ns = EMACS_NSECS (TV2); + struct timespec TV2 = timespec_sub (current_timespec (), TV1); + uintmax_t s = TV2.tv_sec; + int ns = TV2.tv_nsec; if (watch_not_started) exit (EXIT_FAILURE); /* call reset_watch first ! */ - sprintf (time_string, "%"PRIuMAX".%0*d", s, LOG10_EMACS_TIME_RESOLUTION, ns); + sprintf (time_string, "%"PRIuMAX".%0*d", s, LOG10_TIMESPEC_RESOLUTION, ns); return time_string; }