X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Farch.h;h=2e62266d55be768c64088f72631c5162d918d48d;hb=1d06300e09f767a38bbe6d5b38232ca334ab1913;hp=147bd0f8d354dbec1acfa605fb29bed53555cb62;hpb=e4542bc034db18cf98f005b2dac53a6d7d5c7260;p=sbcl.git diff --git a/src/runtime/arch.h b/src/runtime/arch.h index 147bd0f..2e62266 100644 --- a/src/runtime/arch.h +++ b/src/runtime/arch.h @@ -22,6 +22,7 @@ extern void arch_init(void); /* FIXME: It would be good to document these too! */ extern void arch_skip_instruction(os_context_t*); +extern void arch_handle_allocation_trap(os_context_t*); extern boolean arch_pseudo_atomic_atomic(os_context_t*); extern void arch_set_pseudo_atomic_interrupted(os_context_t*); extern void arch_clear_pseudo_atomic_interrupted(os_context_t*); @@ -43,4 +44,21 @@ extern lispobj funcall3(lispobj function, lispobj arg0, lispobj arg1, lispobj arg2); extern lispobj *component_ptr_from_pc(lispobj *pc); +extern void fpu_save(void *); +extern void fpu_restore(void *); + +#ifdef LISP_FEATURE_X86 +extern unsigned int * single_stepping; +extern void restore_breakpoint_from_single_step(os_context_t * context); +#endif + +extern void arch_handle_breakpoint(os_context_t* context); +extern void arch_handle_fun_end_breakpoint(os_context_t *context); +#ifdef trap_AfterBreakpoint +extern void arch_handle_after_breakpoint(os_context_t *context); +#endif +#ifdef trap_SingleStepAround +extern void arch_handle_single_step_trap(os_context_t *context, int trap); +#endif + #endif /* __ARCH_H__ */