X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fgeneric%2Fvm-array.lisp;h=d09673da464ecdbfb9f8ddf9f67aefc9530c4f6c;hb=94ea2b2082deaa0331dfb66fa6af6ca12dd8dc83;hp=baa997252f01c4ff4817cab840f8e2c93fdfe8f0;hpb=cf4cb9554515c59eddbde38d1cf236339c37f55f;p=sbcl.git diff --git a/src/compiler/generic/vm-array.lisp b/src/compiler/generic/vm-array.lisp index baa9972..d09673d 100644 --- a/src/compiler/generic/vm-array.lisp +++ b/src/compiler/generic/vm-array.lisp @@ -23,7 +23,7 @@ primitive-type-name &key (n-pad-elements 0) complex-typecode (importance 0) &aux (typecode - (eval (symbolicate primitive-type-name "-WIDETAG"))))) + (symbol-value (symbolicate primitive-type-name "-WIDETAG"))))) (:copier nil)) ;; the element specifier, e.g. BASE-CHAR or (UNSIGNED-BYTE 4) (specifier (missing-arg) :type type-specifier :read-only t) @@ -64,6 +64,15 @@ (nil #:mu 0 simple-array-nil :complex-typecode #.sb!vm:complex-vector-nil-widetag :importance 0) + #!-sb-unicode + (character ,(code-char 0) 8 simple-base-string + ;; (SIMPLE-BASE-STRINGs are stored with an extra + ;; trailing #\NULL for convenience in calling out + ;; to C.) + :n-pad-elements 1 + :complex-typecode #.sb!vm:complex-base-string-widetag + :importance 17) + #!+sb-unicode (base-char ,(code-char 0) 8 simple-base-string ;; (SIMPLE-BASE-STRINGs are stored with an extra ;; trailing #\NULL for convenience in calling out @@ -71,6 +80,11 @@ :n-pad-elements 1 :complex-typecode #.sb!vm:complex-base-string-widetag :importance 17) + #!+sb-unicode + (character ,(code-char 0) 32 simple-character-string + :n-pad-elements 1 + :complex-typecode #.sb!vm:complex-character-string-widetag + :importance 17) (single-float 0.0f0 32 simple-array-single-float :importance 6) (double-float 0.0d0 64 simple-array-double-float