1.0.4.96: oops, missed one case in the HAIRY-DATA-VECTOR-REF changes
authorJuho Snellman <jsnell@iki.fi>
Tue, 17 Apr 2007 13:28:19 +0000 (13:28 +0000)
committerJuho Snellman <jsnell@iki.fi>
Tue, 17 Apr 2007 13:28:19 +0000 (13:28 +0000)
        * SIMPLE-STRING is a special case in EXTRACT-UPGRADED-ELEMENT-TYPE

src/compiler/array-tran.lisp
version.lisp-expr

index 342fdc9..a3c5ab5 100644 (file)
                   ;; use that information it for type checking (even
                   ;; if the access can't be optimized due to the array
                   ;; not being simple).
-                  (when (eql element-type *wild-type*)
+                  (when (and (eql element-type *wild-type*)
+                             ;; This type logic corresponds to the special
+                             ;; case for strings in HAIRY-DATA-VECTOR-REF
+                             ;; (generic/vm-tran.lisp)
+                             (not (csubtypep type (specifier-type 'simple-string))))
                     (when (or (not (array-type-p type))
                               ;; If it's a simple array, we might be able
                               ;; to inline the access completely.
index a4e5c2d..e1433d1 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.4.95"
+"1.0.4.96"