[Openmcl-cvs-notifications] r15097 - in /trunk/source: compiler/ARM/arm-vinsns.lisp lib/ccl-export-syms.lisp lib/nfcomp.lisp

gb at clozure.com gb at clozure.com
Tue Nov 29 12:03:03 CST 2011


Author: gb
Date: Tue Nov 29 12:03:03 2011
New Revision: 15097

Log:
MISC-REF-C-BIT, MISC-REF-C-BIT-FIXNUM: repeat after me: "this is the
easy case, and remembering to shift a constant word index left 2 bits
isn't rocket science."

Export TARGET-FASL-VERSION and note that fact.

Modified:
    trunk/source/compiler/ARM/arm-vinsns.lisp
    trunk/source/lib/ccl-export-syms.lisp
    trunk/source/lib/nfcomp.lisp

Modified: trunk/source/compiler/ARM/arm-vinsns.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/ARM/arm-vinsns.lisp (original)
+++ trunk/source/compiler/ARM/arm-vinsns.lisp Tue Nov 29 12:03:03 2011
@@ -358,7 +358,7 @@
      ((v :lisp)
       (idx :u32const))
      ())
-  (ldr dest (:@ v (:$ (:apply + arm::misc-data-offset (:apply ash idx -5))=
)))
+  (ldr dest (:@ v (:$ (:apply + arm::misc-data-offset (:apply ash (:apply =
ash idx -5) arm::word-shift)))))
   (mov dest (:lsr dest (:$ (:apply logand idx #x1f))))
   (and dest dest (:$ 1)))
 =

@@ -367,7 +367,7 @@
      ((v :lisp)
       (idx :u32const))
      ((temp :u32)))
-  (ldr temp (:@ v (:$ (:apply + arm::misc-data-offset (:apply ash idx -5))=
)))
+  (ldr temp (:@ v (:$ (:apply + arm::misc-data-offset (:apply ash (:apply =
ash idx -5) arm::word-shift)))))
   (mov temp (:ror temp (:$ (:apply logand #x1f (:apply - (:apply logand id=
x #x1f) arm::fixnumshift)))))
   (and dest temp (:$ arm::fixnumone)))
 =

@@ -2031,6 +2031,7 @@
       (maxval :u32const)
       (default :label))
      ((temp :s32)))
+  (:drain-constant-pool)
   (tst reg (:$ arm::fixnummask))
   (mov idx (:asr reg (:$  arm::fixnumshift)))
   (bne default)
@@ -2633,9 +2634,8 @@
                                 ((src :imm))
                                 ((tempa :u32)
                                  (tempb :u32)))
-  (mov tempb (:$ #x7f00))
+  (movw tempb (:$ #x7fff))
   (mov tempa (:lsr src (:$ (+ arm::fixnumshift 1))))
-  (orr tempb tempb (:$ #xff))
   (cmp tempa tempb)
   (mov tempa (:lsr src (:$ (+ arm::fixnumshift 11))))
   (beq :bad)

Modified: trunk/source/lib/ccl-export-syms.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/lib/ccl-export-syms.lisp (original)
+++ trunk/source/lib/ccl-export-syms.lisp Tue Nov 29 12:03:03 2011
@@ -294,6 +294,7 @@
      *save-arglist-info*
      *always-eval-user-defvars*
      *disassemble-verbose*
+     target-fasl-version
 =

 					;These 3 need to be set by the user in order for the correspondingly =
named
 					;functions to return something other than "unspecified".

Modified: trunk/source/lib/nfcomp.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/lib/nfcomp.lisp (original)
+++ trunk/source/lib/nfcomp.lisp Tue Nov 29 12:03:03 2011
@@ -1491,7 +1491,8 @@
     (unless (and sym (boundp sym))
       (error "~a not defined in target package ~s." name package))
     (logior #xff00 (logand #xff (symbol-value sym)))))
-  =

+
+;;; This is an exported, public interface.
 (defun target-fasl-version ()
   (target-symbol-value "FASL-VERSION"))
 =




More information about the Openmcl-cvs-notifications mailing list