0.9.4.62:
authorThiemo Seufer <ths@networkno.de>
Mon, 12 Sep 2005 09:39:31 +0000 (09:39 +0000)
committerThiemo Seufer <ths@networkno.de>
Mon, 12 Sep 2005 09:39:31 +0000 (09:39 +0000)
Less copy&paste code.

src/code/debug-int.lisp
version.lisp-expr

index 733d269..66f2c87 100644 (file)
                    (let ((fp (frame-pointer frame)))
                      (when (control-stack-pointer-valid-p fp)
                        #!+(or x86 x86-64)
-                        (multiple-value-bind (ra ofp) (x86-call-context fp)
+                       (multiple-value-bind (ra ofp) (x86-call-context fp)
                          (and ra (compute-calling-frame ofp ra frame)))
-                        #!-(or x86 x86-64)
+                       #!-(or x86 x86-64)
                        (compute-calling-frame
                         #!-alpha
                         (sap-ref-sap fp (* ocfp-save-offset
 ;;; Get the old FP or return PC out of FRAME. STACK-SLOT is the
 ;;; standard save location offset on the stack. LOC is the saved
 ;;; SC-OFFSET describing the main location.
-#!-(or x86 x86-64)
-(defun get-context-value (frame stack-slot loc)
-  (declare (type compiled-frame frame) (type unsigned-byte stack-slot)
-           (type sb!c:sc-offset loc))
-  (let ((pointer (frame-pointer frame))
-        (escaped (compiled-frame-escaped frame)))
-    (if escaped
-        (sub-access-debug-var-slot pointer loc escaped)
-        (stack-ref pointer stack-slot))))
-#!+(or x86 x86-64)
 (defun get-context-value (frame stack-slot loc)
   (declare (type compiled-frame frame) (type unsigned-byte stack-slot)
            (type sb!c:sc-offset loc))
         (escaped (compiled-frame-escaped frame)))
     (if escaped
         (sub-access-debug-var-slot pointer loc escaped)
+        #!-(or x86 x86-64)
+        (stack-ref pointer stack-slot)
+        #!+(or x86 x86-64)
         (ecase stack-slot
           (#.ocfp-save-offset
            (stack-ref pointer stack-slot))
            (sap-ref-sap pointer (- (* (1+ stack-slot)
                                       sb!vm::n-word-bytes))))))))
 
-#!-(or x86 x86-64)
-(defun (setf get-context-value) (value frame stack-slot loc)
-  (declare (type compiled-frame frame) (type unsigned-byte stack-slot)
-           (type sb!c:sc-offset loc))
-  (let ((pointer (frame-pointer frame))
-        (escaped (compiled-frame-escaped frame)))
-    (if escaped
-        (sub-set-debug-var-slot pointer loc value escaped)
-        (setf (stack-ref pointer stack-slot) value))))
-
-#!+(or x86 x86-64)
 (defun (setf get-context-value) (value frame stack-slot loc)
   (declare (type compiled-frame frame) (type unsigned-byte stack-slot)
            (type sb!c:sc-offset loc))
         (escaped (compiled-frame-escaped frame)))
     (if escaped
         (sub-set-debug-var-slot pointer loc value escaped)
+        #!-(or x86 x86-64)
+        (setf (stack-ref pointer stack-slot) value)
+        #!+(or x86 x86-64)
         (ecase stack-slot
           (#.ocfp-save-offset
            (setf (stack-ref pointer stack-slot) value))
@@ -999,6 +984,7 @@ register."
 ;;; Find the code object corresponding to the object represented by
 ;;; bits and return it. We assume bogus functions correspond to the
 ;;; undefined-function.
+#!-(or x86 x86-64)
 (defun code-object-from-bits (bits)
   (declare (type (unsigned-byte 32) bits))
   (let ((object (make-lisp-obj bits)))
index 07615cd..2ab9be7 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.4.61"
+"0.9.4.62"