[Openmcl-cvs-notifications] r14740 - /trunk/source/compiler/nx1.lisp

gb at clozure.com gb at clozure.com
Wed Apr 27 17:53:19 CDT 2011


Author: gb
Date: Wed Apr 27 17:53:19 2011
New Revision: 14740

Log:
Wrap a THE around the acode generated for FF-CALL.

Modified:
    trunk/source/compiler/nx1.lisp

Modified: trunk/source/compiler/nx1.lisp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/compiler/nx1.lisp (original)
+++ trunk/source/compiler/nx1.lisp Wed Apr 27 17:53:19 2011
@@ -1537,12 +1537,27 @@
     (unless (or (eq result-spec :void)
 		(memq result-spec *arg-spec-keywords*))
       (error "Unknown result spec: ~s" result-spec))
-    (make-acode operator
-		(nx1-form address-expression)
-		(nreverse specs)
-		(mapcar #'nx1-form (nreverse vals))
-		result-spec
-		nil)))
+    (make-acode (%nx1-operator typed-form)
+                (case result-spec
+                  (:double-float 'double-float)
+                  (:single-float 'single-float)
+                  (:address 'macptr)
+                  (:signed-doubleword '(signed-byte 64))
+                  (:unsigned-doubleword '(unsigned-byte 64))
+                  (:signed-fullword '(signed-byte 32))
+                  (:unsigned-fullword '(unsigned-byte 32))
+                  (:signed-halfword '(signed-byte 16))
+                  (:unsigned-halfword '(unsigned-byte 16))
+                  (:signed-byte '(signed-byte 8))
+                  (:unsigned-byte '(unsigned-byte 8))
+                  (t t))
+                (make-acode operator
+                            (nx1-form address-expression)
+                            (nreverse specs)
+                            (mapcar #'nx1-form (nreverse vals))
+                            result-spec
+                            nil)
+                nil)))
   =

 (defnx1 nx1-block block (blockname &body forms)
   (let* ((*nx-blocks* *nx-blocks*)



More information about the Openmcl-cvs-notifications mailing list