{
struct thread *thread=arch_os_get_current_thread();
return (((char *) thread->control_stack_start <= (char *) pointer) &&
- ((char *) pointer < (char *) current_control_stack_pointer));
+ ((char *) pointer < (char *) access_control_stack_pointer(thread)));
}
static void
call_info_from_lisp_state(struct call_info *info)
{
- info->frame = (struct call_frame *)current_control_frame_pointer;
+ info->frame = (struct call_frame *)access_control_frame_pointer(arch_os_get_current_thread());
info->interrupted = 0;
info->code = NULL;
info->lra = 0;
}
void
-backtrace(int nframes)
+lisp_backtrace(int nframes)
{
struct call_info info;
static int
altstack_pointer_p (void *p) {
#ifndef LISP_FEATURE_WIN32
- void* stack_start = arch_os_get_current_thread() + dynamic_values_bytes;
+ void* stack_start = ((void *)arch_os_get_current_thread()) + dynamic_values_bytes;
void* stack_end = stack_start + 32*SIGSTKSZ;
return (p > stack_start && p <= stack_end);
printf("Pending handler = %p\n", data->pending_handler);
}
-/* This function has been split from backtrace() to enable Lisp
+/* This function has been split from lisp_backtrace() to enable Lisp
* backtraces from gdb with call backtrace_from_fp(...). Useful for
* example when debugging threading deadlocks.
*/
}
void
-backtrace(int nframes)
+lisp_backtrace(int nframes)
{
void *fp;