Skip to content
Snippets Groups Projects
Commit b5c62f71 authored by wlott's avatar wlott
Browse files

Changed {read,write}-control-stack to not inherit from sap-{ref,set}

because we want them to have word indexes and the sap fns to have byte
indexes.
parent aaf8777d
No related branches found
No related tags found
No related merge requests found
...@@ -7,11 +7,11 @@ ...@@ -7,11 +7,11 @@
;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
;;; ;;;
(ext:file-comment (ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/debug.lisp,v 1.10 1991/03/14 14:22:04 ram Exp $") "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/debug.lisp,v 1.11 1992/02/21 22:03:26 wlott Exp $")
;;; ;;;
;;; ********************************************************************** ;;; **********************************************************************
;;; ;;;
;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/debug.lisp,v 1.10 1991/03/14 14:22:04 ram Exp $ ;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/debug.lisp,v 1.11 1992/02/21 22:03:26 wlott Exp $
;;; ;;;
;;; Compiler support for the new whizzy debugger. ;;; Compiler support for the new whizzy debugger.
;;; ;;;
...@@ -36,14 +36,26 @@ ...@@ -36,14 +36,26 @@
(:generator 1 (:generator 1
(move res fp-tn))) (move res fp-tn)))
(define-vop (read-control-stack sap-ref) (define-vop (read-control-stack)
(:translate stack-ref) (:translate stack-ref)
(:policy :fast-safe) (:policy :fast-safe)
(:args (object :scs (sap-reg) :target sap)
(offset :scs (any-reg negative-immediate zero immediate)))
(:arg-types system-area-pointer positive-fixnum)
(:temporary (:scs (sap-reg) :from (:argument 1)) sap)
(:results (result :scs (descriptor-reg))) (:results (result :scs (descriptor-reg)))
(:result-types *) (:result-types *)
(:variant :long nil)) (:generator 5
(sc-case offset
((zero)
(inst lw result object 0))
((negative-immediate immediate)
(inst lw result object (* (tn-value offset) vm:word-bytes)))
((any-reg)
(inst addu sap object offset)
(inst lw result sap 0)))))
(define-vop (write-control-stack sap-set) (define-vop (write-control-stack)
(:translate %set-stack-ref) (:translate %set-stack-ref)
(:policy :fast-safe) (:policy :fast-safe)
(:args (object :scs (sap-reg) :target sap) (:args (object :scs (sap-reg) :target sap)
...@@ -52,7 +64,17 @@ ...@@ -52,7 +64,17 @@
(:arg-types system-area-pointer positive-fixnum *) (:arg-types system-area-pointer positive-fixnum *)
(:results (result :scs (descriptor-reg))) (:results (result :scs (descriptor-reg)))
(:result-types *) (:result-types *)
(:variant :long)) (:temporary (:scs (sap-reg) :from (:argument 1)) sap)
(:generator 5
(sc-case offset
((zero)
(inst sw value object 0))
((negative-immediate immediate)
(inst sw value object (* (tn-value offset) vm:word-bytes)))
((any-reg)
(inst addu sap object offset)
(inst sw value sap 0)))
(move result value)))
(define-vop (code-from-mumble) (define-vop (code-from-mumble)
(:policy :fast-safe) (:policy :fast-safe)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment