;;;; and internal error handling) the extra runtime cost should be
;;;; negligible.
+(declaim (inline context-pc-addr))
(define-alien-routine ("os_context_pc_addr" context-pc-addr) (* unsigned-int)
;; (Note: Just as in CONTEXT-REGISTER-ADDR, we intentionally use an
;; 'unsigned *' interpretation for the 32-bit word passed to us by
;; the C code, even though the C code may think it's an 'int *'.)
(context (* os-context-t)))
+(declaim (inline context-pc))
(defun context-pc (context)
(declare (type (alien (* os-context-t)) context))
(let ((addr (context-pc-addr context)))
(declare (type (alien (* unsigned-int)) addr))
(int-sap (deref addr))))
+(declaim (inline context-register-addr))
(define-alien-routine ("os_context_register_addr" context-register-addr)
(* unsigned-int)
;; (Note the mismatch here between the 'int *' value that the C code
(context (* os-context-t))
(index int))
+(declaim (inline context-register))
(defun context-register (context index)
(declare (type (alien (* os-context-t)) context))
(let ((addr (context-register-addr context index)))