From a1aa735efe088929b73add9a5bf5f87204963ecc Mon Sep 17 00:00:00 2001 From: wlott <wlott> Date: Thu, 9 Jul 1992 16:43:54 +0000 Subject: [PATCH] Added SIGCONTEXT-PROGRAM-COUNTER. --- code/pmax-vm.lisp | 20 ++++++++++++++------ code/sparc-vm.lisp | 20 ++++++++++++++------ 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/code/pmax-vm.lisp b/code/pmax-vm.lisp index 47f64b82b..902f4eb2e 100644 --- a/code/pmax-vm.lisp +++ b/code/pmax-vm.lisp @@ -7,11 +7,11 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/pmax-vm.lisp,v 1.10 1992/02/22 00:04:21 wlott Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/pmax-vm.lisp,v 1.11 1992/07/09 16:43:54 wlott Exp $") ;;; ;;; ********************************************************************** ;;; -;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/pmax-vm.lisp,v 1.10 1992/02/22 00:04:21 wlott Exp $ +;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/pmax-vm.lisp,v 1.11 1992/07/09 16:43:54 wlott Exp $ ;;; ;;; This file contains the PMAX specific runtime stuff. ;;; @@ -22,8 +22,9 @@ (use-package "UNIX") (export '(fixup-code-object internal-error-arguments - sigcontext-register sigcontext-float-register - sigcontext-floating-point-modes extern-alien-name)) + sigcontext-program-counter sigcontext-register + sigcontext-float-register sigcontext-floating-point-modes + extern-alien-name)) ;;;; The sigcontext structure. @@ -123,7 +124,14 @@ ;;;; Sigcontext access functions. -;;; SIGCONTEXT-REGISTER -- Internal. +;;; SIGCONTEXT-PROGRAM-COUNTER -- Interface. +;;; +(defun sigcontext-program-counter (scp) + (declare (type (alien (* sigcontext)) scp)) + (with-alien ((scp (* sigcontext) scp)) + (slot scp 'sc-pc))) + +;;; SIGCONTEXT-REGISTER -- Interface. ;;; ;;; An escape register saves the value of a register for a frame that someone ;;; interrupts. @@ -142,7 +150,7 @@ (defsetf sigcontext-register %set-sigcontext-register) -;;; SIGCONTEXT-FLOAT-REGISTER -- Internal +;;; SIGCONTEXT-FLOAT-REGISTER -- Interface. ;;; ;;; Like SIGCONTEXT-REGISTER, but returns the value of a float register. ;;; Format is the type of float to return. diff --git a/code/sparc-vm.lisp b/code/sparc-vm.lisp index 9b3df85b3..8b18ec62e 100644 --- a/code/sparc-vm.lisp +++ b/code/sparc-vm.lisp @@ -7,11 +7,11 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/sparc-vm.lisp,v 1.12 1992/03/26 03:08:37 wlott Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/sparc-vm.lisp,v 1.13 1992/07/09 16:43:44 wlott Exp $") ;;; ;;; ********************************************************************** ;;; -;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/sparc-vm.lisp,v 1.12 1992/03/26 03:08:37 wlott Exp $ +;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/sparc-vm.lisp,v 1.13 1992/07/09 16:43:44 wlott Exp $ ;;; ;;; This file contains the SPARC specific runtime stuff. ;;; @@ -20,8 +20,9 @@ (use-package "UNIX") (export '(fixup-code-object internal-error-arguments - sigcontext-register sigcontext-float-register - sigcontext-floating-point-modes extern-alien-name)) + sigcontext-program-counter sigcontext-register + sigcontext-float-register sigcontext-floating-point-modes + extern-alien-name)) ;;;; The sigcontext structure. @@ -165,7 +166,14 @@ ;;;; Sigcontext access functions. -;;; SIGCONTEXT-REGISTER -- Internal. +;;; SIGCONTEXT-PROGRAM-COUNTER -- Interface. +;;; +(defun sigcontext-program-counter (scp) + (declare (type (alien (* sigcontext)) scp)) + (with-alien ((scp (* sigcontext) scp)) + (slot scp 'sc-pc))) + +;;; SIGCONTEXT-REGISTER -- Interface. ;;; ;;; An escape register saves the value of a register for a frame that someone ;;; interrupts. @@ -184,7 +192,7 @@ (defsetf sigcontext-register %set-sigcontext-register) -;;; SIGCONTEXT-FLOAT-REGISTER -- Internal +;;; SIGCONTEXT-FLOAT-REGISTER -- Interface ;;; ;;; Like SIGCONTEXT-REGISTER, but returns the value of a float register. ;;; Format is the type of float to return. -- GitLab