[armedbear-cvs] r11584 - trunk/abcl/src/org/armedbear/lisp
Erik Huelsmann
ehuelsmann at common-lisp.net
Sat Jan 24 18:33:43 UTC 2009
Author: ehuelsmann
Date: Sat Jan 24 18:33:41 2009
New Revision: 11584
Log:
Handle both 'long' as well as 'double' argument and return types as types of size 2
regardless of whether we have those types now (we will later on...)
Modified:
trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp
Modified: trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp (original)
+++ trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp Sat Jan 24 18:33:41 2009
@@ -420,10 +420,13 @@
(princ #\) s)
(princ (or return-type "V") s))))
(stack-effect (let ((result (cond ((null return-type) 0)
- ((equal return-type "J") 2)
+ ((or (equal return-type "J")
+ (equal return-type "D")) 2)
(t 1))))
(dolist (type arg-types result)
- (decf result (if (equal type "J") 2 1))))))
+ (decf result (if (or (equal type "J")
+ (equal type "D"))
+ 2 1))))))
(cons descriptor stack-effect)))
(defparameter *descriptors* (make-hash-table :test #'equal))
More information about the armedbear-cvs
mailing list