From bf2b6cff3719215f964f51667cdf6fcbdf43f8dc Mon Sep 17 00:00:00 2001 From: Christophe Rhodes Date: Fri, 27 Jun 2003 09:08:27 +0000 Subject: [PATCH] 0.8.0.78.vector-nil-string.13: Update other architectures for (vector nil) as string ... just replace simple-string with simple-base-string as the primitive type. Untested as yet; will be tested on sparc post-commit. --- src/compiler/alpha/array.lisp | 2 +- src/compiler/alpha/c-call.lisp | 2 +- src/compiler/hppa/array.lisp | 2 +- src/compiler/hppa/c-call.lisp | 2 +- src/compiler/mips/array.lisp | 2 +- src/compiler/mips/c-call.lisp | 2 +- src/compiler/ppc/array.lisp | 18 +++++------------ src/compiler/ppc/c-call.lisp | 2 +- src/compiler/sparc/array.lisp | 43 +++++++++++++--------------------------- src/compiler/sparc/c-call.lisp | 2 +- version.lisp-expr | 2 +- 11 files changed, 28 insertions(+), 51 deletions(-) diff --git a/src/compiler/alpha/array.lisp b/src/compiler/alpha/array.lisp index cf3af86..9b85f33 100644 --- a/src/compiler/alpha/array.lisp +++ b/src/compiler/alpha/array.lisp @@ -311,7 +311,7 @@ (def-full-data-vector-frobs simple-vector * descriptor-reg any-reg null zero) - (def-partial-data-vector-frobs simple-string base-char :byte nil + (def-partial-data-vector-frobs simple-base-string base-char :byte nil base-char-reg) (def-partial-data-vector-frobs simple-array-unsigned-byte-8 positive-fixnum diff --git a/src/compiler/alpha/c-call.lisp b/src/compiler/alpha/c-call.lisp index b925788..c82458e 100644 --- a/src/compiler/alpha/c-call.lisp +++ b/src/compiler/alpha/c-call.lisp @@ -113,7 +113,7 @@ (:translate foreign-symbol-address) (:policy :fast-safe) (:args) - (:arg-types (:constant simple-string)) + (:arg-types (:constant simple-base-string)) (:info foreign-symbol) (:results (res :scs (sap-reg))) (:result-types system-area-pointer) diff --git a/src/compiler/hppa/array.lisp b/src/compiler/hppa/array.lisp index 38a68e9..421b2e9 100644 --- a/src/compiler/hppa/array.lisp +++ b/src/compiler/hppa/array.lisp @@ -104,7 +104,7 @@ (def-full-data-vector-frobs simple-vector * descriptor-reg any-reg) - (def-partial-data-vector-frobs simple-string base-char :byte nil base-char-reg) + (def-partial-data-vector-frobs simple-base-string base-char :byte nil base-char-reg) (def-partial-data-vector-frobs simple-array-unsigned-byte-8 positive-fixnum :byte nil unsigned-reg signed-reg) diff --git a/src/compiler/hppa/c-call.lisp b/src/compiler/hppa/c-call.lisp index 15484f2..68dd40f 100644 --- a/src/compiler/hppa/c-call.lisp +++ b/src/compiler/hppa/c-call.lisp @@ -106,7 +106,7 @@ (:translate foreign-symbol-address) (:policy :fast-safe) (:args) - (:arg-types (:constant simple-string)) + (:arg-types (:constant simple-base-string)) (:info foreign-symbol) (:results (res :scs (sap-reg))) (:result-types system-area-pointer) diff --git a/src/compiler/mips/array.lisp b/src/compiler/mips/array.lisp index 2e59dbe..9861300 100644 --- a/src/compiler/mips/array.lisp +++ b/src/compiler/mips/array.lisp @@ -112,7 +112,7 @@ (def-full-data-vector-frobs simple-vector * descriptor-reg any-reg null zero) - (def-partial-data-vector-frobs simple-string base-char + (def-partial-data-vector-frobs simple-base-string base-char :byte nil base-char-reg) (def-partial-data-vector-frobs simple-array-unsigned-byte-8 positive-fixnum diff --git a/src/compiler/mips/c-call.lisp b/src/compiler/mips/c-call.lisp index af0d2f8..c37991e 100644 --- a/src/compiler/mips/c-call.lisp +++ b/src/compiler/mips/c-call.lisp @@ -138,7 +138,7 @@ (:translate foreign-symbol-address) (:policy :fast-safe) (:args) - (:arg-types (:constant simple-string)) + (:arg-types (:constant simple-base-string)) (:info foreign-symbol) (:results (res :scs (sap-reg))) (:result-types system-area-pointer) diff --git a/src/compiler/ppc/array.lisp b/src/compiler/ppc/array.lisp index f1e2683..5f6e1d4 100644 --- a/src/compiler/ppc/array.lisp +++ b/src/compiler/ppc/array.lisp @@ -102,24 +102,16 @@ (macrolet ((def-data-vector-frobs (type variant element-type &rest scs) `(progn - (define-vop (,(intern (concatenate 'simple-string - "DATA-VECTOR-REF/" - (string type))) - ,(intern (concatenate 'simple-string - (string variant) - "-REF"))) + (define-vop (,(symbolicate "DATA-VECTOR-REF/" (string type)) + ,(symbolicate (string variant) "-REF")) (:note "inline array access") (:variant sb!vm:vector-data-offset sb!vm:other-pointer-lowtag) (:translate data-vector-ref) (:arg-types ,type positive-fixnum) (:results (value :scs ,scs)) (:result-types ,element-type)) - (define-vop (,(intern (concatenate 'simple-string - "DATA-VECTOR-SET/" - (string type))) - ,(intern (concatenate 'simple-string - (string variant) - "-SET"))) + (define-vop (,(symbolicate "DATA-VECTOR-SET/" (string type)) + ,(symbolicate (string variant) "-SET")) (:note "inline array store") (:variant sb!vm:vector-data-offset sb!vm:other-pointer-lowtag) (:translate data-vector-set) @@ -129,7 +121,7 @@ (value :scs ,scs)) (:results (result :scs ,scs)) (:result-types ,element-type))))) - (def-data-vector-frobs simple-string byte-index + (def-data-vector-frobs simple-base-string byte-index base-char base-char-reg) (def-data-vector-frobs simple-vector word-index * descriptor-reg any-reg) diff --git a/src/compiler/ppc/c-call.lisp b/src/compiler/ppc/c-call.lisp index 020a9b1..dd6f4bf 100644 --- a/src/compiler/ppc/c-call.lisp +++ b/src/compiler/ppc/c-call.lisp @@ -108,7 +108,7 @@ (:translate foreign-symbol-address) (:policy :fast-safe) (:args) - (:arg-types (:constant simple-string)) + (:arg-types (:constant simple-base-string)) (:info foreign-symbol) (:results (res :scs (sap-reg))) (:result-types system-area-pointer) diff --git a/src/compiler/sparc/array.lisp b/src/compiler/sparc/array.lisp index eac0f62..e68fe13 100644 --- a/src/compiler/sparc/array.lisp +++ b/src/compiler/sparc/array.lisp @@ -103,24 +103,16 @@ (macrolet ((def-data-vector-frobs (type variant element-type &rest scs) `(progn - (define-vop (,(intern (concatenate 'simple-string - "DATA-VECTOR-REF/" - (string type))) - ,(intern (concatenate 'simple-string - (string variant) - "-REF"))) + (define-vop (,(symbolicate "DATA-VECTOR-REF/" (string type)) + ,(symbolicate (string variant) "-REF")) (:note "inline array access") (:variant vector-data-offset other-pointer-lowtag) (:translate data-vector-ref) (:arg-types ,type positive-fixnum) (:results (value :scs ,scs)) (:result-types ,element-type)) - (define-vop (,(intern (concatenate 'simple-string - "DATA-VECTOR-SET/" - (string type))) - ,(intern (concatenate 'simple-string - (string variant) - "-SET"))) + (define-vop (,(symbolicate "DATA-VECTOR-SET/" (string type)) + ,(symbolicate (string variant) "-SET")) (:note "inline array store") (:variant vector-data-offset other-pointer-lowtag) (:translate data-vector-set) @@ -131,7 +123,7 @@ (:results (result :scs ,scs)) (:result-types ,element-type))))) - (def-data-vector-frobs simple-string byte-index + (def-data-vector-frobs simple-base-string byte-index base-char base-char-reg) (def-data-vector-frobs simple-vector word-index * descriptor-reg any-reg) @@ -146,17 +138,15 @@ (def-data-vector-frobs simple-array-signed-byte-30 word-index tagged-num any-reg) (def-data-vector-frobs simple-array-signed-byte-32 word-index - signed-num signed-reg) -) ; MACROLET -;;; Integer vectors whos elements are smaller than a byte. I.e. bit, 2-bit, -;;; and 4-bit vectors. -;;; + signed-num signed-reg)) +;;; Integer vectors whose elements are smaller than a byte. I.e. bit, 2-bit, +;;; and 4-bit vectors. (macrolet ((def-small-data-vector-frobs (type bits) (let* ((elements-per-word (floor n-word-bits bits)) (bit-shift (1- (integer-length elements-per-word)))) `(progn - (define-vop (,(symbolicate 'data-vector-ref/ type)) + (define-vop (,(symbolicate "DATA-VECTOR-REF/" type)) (:note "inline array access") (:translate data-vector-ref) (:policy :fast-safe) @@ -179,7 +169,7 @@ (inst srl result temp) (inst and result ,(1- (ash 1 bits))) (inst sll value result 2))) - (define-vop (,(symbolicate 'data-vector-ref-c/ type)) + (define-vop (,(symbolicate "DATA-VECTOR-REF-C/" type)) (:translate data-vector-ref) (:policy :fast-safe) (:args (object :scs (descriptor-reg))) @@ -203,7 +193,7 @@ (inst srl result (* extra ,bits))) (unless (= extra ,(1- elements-per-word)) (inst and result ,(1- (ash 1 bits))))))) - (define-vop (,(symbolicate 'data-vector-set/ type)) + (define-vop (,(symbolicate "DATA-VECTOR-SET/" type)) (:note "inline array store") (:translate data-vector-set) (:policy :fast-safe) @@ -245,7 +235,7 @@ (inst li result (tn-value value))) (t (move result value))))) - (define-vop (,(symbolicate 'data-vector-set-c/ type)) + (define-vop (,(symbolicate "DATA-VECTOR-SET-C/" type)) (:translate data-vector-set) (:policy :fast-safe) (:args (object :scs (descriptor-reg)) @@ -306,14 +296,9 @@ (def-small-data-vector-frobs simple-bit-vector 1) (def-small-data-vector-frobs simple-array-unsigned-byte-2 2) - (def-small-data-vector-frobs simple-array-unsigned-byte-4 4) - -) ; MACROLET - + (def-small-data-vector-frobs simple-array-unsigned-byte-4 4)) ;;; And the float variants. -;;; - (define-vop (data-vector-ref/simple-array-single-float) (:note "inline array access") (:translate data-vector-ref) @@ -437,7 +422,7 @@ (define-vop (set-vector-subtype set-header-data)) -;;; +;;; XXX FIXME: Don't we have these above, in DEF-DATA-VECTOR-FROBS? (define-vop (data-vector-ref/simple-array-signed-byte-8 signed-byte-index-ref) (:note "inline array access") (:variant vector-data-offset other-pointer-lowtag) diff --git a/src/compiler/sparc/c-call.lisp b/src/compiler/sparc/c-call.lisp index ba1fdda..bbff5ad 100644 --- a/src/compiler/sparc/c-call.lisp +++ b/src/compiler/sparc/c-call.lisp @@ -188,7 +188,7 @@ (:translate foreign-symbol-address) (:policy :fast-safe) (:args) - (:arg-types (:constant simple-string)) + (:arg-types (:constant simple-base-string)) (:info foreign-symbol) (:results (res :scs (sap-reg))) (:result-types system-area-pointer) diff --git a/version.lisp-expr b/version.lisp-expr index cf19729..9786030 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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".) -"0.8.0.78.vector-nil-string.12" +"0.8.0.78.vector-nil-string.13" -- 1.7.10.4