#include "syssignal.h"
#include "systime.h"
+#ifndef HAVE_SETITIMER
+#error Sorry charlie. We need a scalpel and all we have is a lawnmower.
+#endif
+
/* We implement our own profiling scheme so that we can determine
things like which Lisp functions are occupying the most time. Any
standard OS-provided profiling works on C functions, which is
static struct hash_table *big_profile_table;
Lisp_Object Vcall_count_profile_table;
-int default_profiling_interval;
+Fixnum default_profiling_interval;
int profiling_active;
lose because of this. Even worse, if the memory allocation
fails, the `error' generated whacks everything hard. */
long count;
- CONST void *vval;
+ const void *vval;
if (gethash (LISP_TO_VOID (fun), big_profile_table, &vval))
count = (long) vval;
else
count = 0;
count++;
- vval = (CONST void *) count;
+ vval = (const void *) count;
puthash (LISP_TO_VOID (fun), (void *) vval, big_profile_table);
}
foo.it_interval = foo.it_value;
profiling_active = 1;
inside_profiling = 0;
- setitimer (ITIMER_PROF, &foo, 0);
+ qxe_setitimer (ITIMER_PROF, &foo, 0);
return Qnil;
}
foo.it_value.tv_sec = 0;
foo.it_value.tv_usec = 0;
foo.it_interval = foo.it_value;
- setitimer (ITIMER_PROF, &foo, 0);
+ qxe_setitimer (ITIMER_PROF, &foo, 0);
profiling_active = 0;
signal (SIGPROF, fatal_error_signal);
return Qnil;
};
static int
-get_profiling_info_maphash (CONST void *void_key,
+get_profiling_info_maphash (const void *void_key,
void *void_val,
void *void_closure)
{
}
static int
-mark_profiling_info_maphash (CONST void *void_key,
+mark_profiling_info_maphash (const void *void_key,
void *void_val,
void *void_closure)
{