[Git][cmucl/cmucl][issue-97-define-ud2-inst] Add comments to interface functions.
Raymond Toy (@rtoy)
gitlab at common-lisp.net
Fri May 21 23:26:59 UTC 2021
Raymond Toy pushed to branch issue-97-define-ud2-inst at cmucl / cmucl
Commits:
064c1aa6 by Raymond Toy at 2021-05-21T16:26:46-07:00
Add comments to interface functions.
- - - - -
1 changed file:
- src/lisp/arch.h
Changes:
=====================================
src/lisp/arch.h
=====================================
@@ -18,10 +18,27 @@ extern boolean arch_pseudo_atomic_atomic(os_context_t * scp);
extern void arch_set_pseudo_atomic_interrupted(os_context_t * scp);
extern os_vm_address_t arch_get_bad_addr(HANDLER_ARGS);
extern unsigned char *arch_internal_error_arguments(os_context_t * scp);
+
+/*
+ * Install an architecture-dependent breakpoint instruction at the
+ * given PC address. This also returns the bytes that were
+ * overwritten by the breakpoint instruction so that the original
+ * instruction can be restored once the breakpoint has been handled.
+ */
extern unsigned long arch_install_breakpoint(void *pc);
+
extern void arch_remove_breakpoint(void *pc, unsigned long orig_inst);
extern void arch_install_interrupt_handlers(void);
+
+/*
+ * This is called when we need to continue after a breakpoint. The
+ * original instruction in |orig_inst| is put back. Then things are
+ * set up so that we can run again and after this instruction is run,
+ * we trap again so that the original breakpoint can be replaced. How
+ * this is done is architecture-dependent.
+ */
extern void arch_do_displaced_inst(os_context_t * scp, unsigned long orig_inst);
+
extern lispobj funcall0(lispobj function);
extern lispobj funcall1(lispobj function, lispobj arg0);
extern lispobj funcall2(lispobj function, lispobj arg0, lispobj arg1);
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/064c1aa6113867bc574440da0c105eb144d7673d
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/064c1aa6113867bc574440da0c105eb144d7673d
You're receiving this email because of your account on gitlab.common-lisp.net.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cmucl-cvs/attachments/20210521/365b192a/attachment-0001.html>
More information about the cmucl-cvs
mailing list