[Openmcl-cvs-notifications] r13166 - in /release/1.4/source/compiler: nx.lisp nx0.lisp

gb at clozure.com gb at clozure.com
Tue Nov 3 21:52:06 EST 2009


Author: gb
Date: Tue Nov  3 21:52:06 2009
New Revision: 13166

Log:
Propagate r13164 to 1.4 (fixes ticket:617, albeit suboptimally.)

Modified:
    release/1.4/source/compiler/nx.lisp
    release/1.4/source/compiler/nx0.lisp

Modified: release/1.4/source/compiler/nx.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
--- release/1.4/source/compiler/nx.lisp (original)
+++ release/1.4/source/compiler/nx.lisp Tue Nov  3 21:52:06 2009
@@ -154,6 +154,8 @@
 =

 (defparameter *nx-discard-xref-info-hook* nil)
 =

+(defparameter *nx-in-frontend* nil)
+
 (defun compile-named-function (def &key name env policy load-time-eval-tok=
en target
                                 function-note keep-lambda keep-symbols sou=
rce-notes
                                 (record-pc-mapping *record-pc-mapping*)
@@ -179,6 +181,7 @@
           (env (new-lexical-environment env)))
      (setf (lexenv.variables env) 'barrier)
      (let* ((*target-backend* (or (if target (find-backend target)) *host-=
backend*))
+            (*nx-in-frontend* t)
             (afunc (nx1-compile-lambda =

                     name =

                     def

Modified: release/1.4/source/compiler/nx0.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
--- release/1.4/source/compiler/nx0.lisp (original)
+++ release/1.4/source/compiler/nx0.lisp Tue Nov  3 21:52:06 2009
@@ -465,12 +465,14 @@
                                         'number)
                                     (%cadr form)))
                                 (if (eq op (%nx1-operator lexical-referenc=
e))
-                                  (let* ((var (cadr form))
-                                         (bits (nx-var-bits var))
-                                         (punted (logbitp $vbitpunted bits=
)))
-                                    (if (or punted
-                                            (eql 0 (%ilogand $vsetqmask bi=
ts)))
-                                      (var-inittype var)))
+                                  (locally (declare (special *nx-in-fronte=
nd*))
+                                    (unless *nx-in-frontend*
+                                      (let* ((var (cadr form))
+                                             (bits (nx-var-bits var))
+                                             (punted (logbitp $vbitpunted =
bits)))
+                                        (if (or punted
+                                                (eql 0 (%ilogand $vsetqmas=
k bits)))
+                                          (var-inittype var)))))
                                   (if (or (eq op (%nx1-operator %aref1))
                                           (eq op (%nx1-operator simple-typ=
ed-aref2))
                                           (eq op (%nx1-operator general-ar=
ef2))



More information about the Openmcl-cvs-notifications mailing list