Skip to content
Snippets Groups Projects
Commit 22f1f550 authored by toy's avatar toy
Browse files

Oops. The 64-bit result should go to the %i registers, not the %o!

parent 100a3e66
No related branches found
No related tags found
No related merge requests found
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain. ;;; Carnegie Mellon University, and has been placed in the public domain.
;;; ;;;
(ext:file-comment (ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/c-call.lisp,v 1.19 2003/05/15 12:16:14 toy Exp $") "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/c-call.lisp,v 1.20 2003/05/16 12:20:58 toy Exp $")
;;; ;;;
;;; ********************************************************************** ;;; **********************************************************************
;;; ;;;
...@@ -425,12 +425,14 @@ pointer to the arguments." ...@@ -425,12 +425,14 @@ pointer to the arguments."
(inst jal %o7 %l0 (ldb (byte 10 0) addr)) (inst jal %o7 %l0 (ldb (byte 10 0) addr))
(inst nop)) (inst nop))
;; Ok, we're back. The value returned is actually stored in the args ;; Ok, we're back. The value returned is actually
;; stored in the return area. Need to get that into
;; the right registers for return.
(etypecase return-type (etypecase return-type
(alien::integer-64$ (alien::integer-64$
;; A 64-bit bignum, stored big-endian ;; A 64-bit bignum, stored big-endian
(inst ld %o0 %fp (- return-value-size)) (inst ld %i0 %fp (- return-value-size))
(inst ld %o1 %fp (- (- return-value-size vm:word-bytes)))) (inst ld %i1 %fp (- (- return-value-size vm:word-bytes))))
((or alien::integer$ alien::pointer$ alien::sap$) ((or alien::integer$ alien::pointer$ alien::sap$)
(inst ld %i0 %fp (- return-value-size))) (inst ld %i0 %fp (- return-value-size)))
(alien::single$ (alien::single$
......
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