Skip to content
Snippets Groups Projects
Commit 81eabad0 authored by rtoy's avatar rtoy
Browse files

o Fix typo handling complex-double-double-reg-sc-number case.

o Fix extra paren for double-double-stack-sc-number case, and don't
  use with-nfp which doesn't exist on x86.
o Add support for complex-double-double-stack-sc-number, which was
  missing for x86.
parent 548083da
No related branches found
No related tags found
No related merge requests found
......@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain.
;;;
(ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/debug-int.lisp,v 1.126 2007/03/28 03:54:12 rtoy Exp $")
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/debug-int.lisp,v 1.127 2007/03/28 04:30:01 rtoy Exp $")
;;;
;;; **********************************************************************
;;;
......@@ -3400,7 +3400,7 @@ The result is a symbol or nil if the routine cannot be found."
'double-float))
(kernel:%make-double-double-float
(vm:sigcontext-float-register
escaped (+ (c:sc-offset-offset sc-offset) #+sparc 4 #+sparc 1)
escaped (+ (c:sc-offset-offset sc-offset) #+sparc 4 #-sparc 2)
'double-float)
(vm:sigcontext-float-register
escaped (+ (c:sc-offset-offset sc-offset) #+sparc 6 #-sparc 3)
......@@ -3426,14 +3426,27 @@ The result is a symbol or nil if the routine cannot be found."
(system:sap-ref-long fp (- (* (+ (c:sc-offset-offset sc-offset) 6)
vm:word-bytes)))))
#+double-double
((#.vm:double-double-stack-sc-number
(with-nfp (nfp)
(kernel:%make-double-double-float
(system:sap-ref-double nfp (* (c:sc-offset-offset sc-offset)
vm:word-bytes))
(system:sap-ref-double nfp (* (+ (c:sc-offset-offset sc-offset)
2)
vm:word-bytes))))))
(#.vm:complex-double-double-stack-sc-number
(if escaped
(complex
(kernel:%make-double-double-float
(system:sap-ref-double fp (- (* (+ (c:sc-offset-offset sc-offset) 2)
vm:word-bytes)))
(system:sap-ref-double fp (- (* (+ (c:sc-offset-offset sc-offset) 4)
vm:word-bytes))))
(kernel:%make-double-double-float
(system:sap-ref-double fp (- (* (+ (c:sc-offset-offset sc-offset) 6)
vm:word-bytes)))
(system:sap-ref-double fp (- (* (+ (c:sc-offset-offset sc-offset) 8)
vm:word-bytes)))))
:invalid-value-for-unescaped-register-storage))
#+double-double
(#.vm:double-double-stack-sc-number
(kernel:%make-double-double-float
(system:sap-ref-double fp (- (* (+ (c:sc-offset-offset sc-offset) 2)
vm:word-bytes)))
(system:sap-ref-double fp (- (* (+ (c:sc-offset-offset sc-offset) 4)
vm:word-bytes)))))
(#.vm:control-stack-sc-number
(kernel:stack-ref fp (c:sc-offset-offset sc-offset)))
(#.vm:base-char-stack-sc-number
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment