0.8.5.29:
[sbcl.git] / src / compiler / hppa / array.lisp
index 38a68e9..c4de673 100644 (file)
@@ -1,3 +1,14 @@
+;;;; the HPPA definitions for array operations
+
+;;;; This software is part of the SBCL system. See the README file for
+;;;; more information.
+;;;;
+;;;; This software is derived from the CMU CL system, which was
+;;;; written at Carnegie Mellon University and released into the
+;;;; public domain. The software is in the public domain and is
+;;;; provided with absolutely no warranty. See the COPYING and CREDITS
+;;;; files for more information.
+
 (in-package "SB!VM")
 
 \f
 
 \f
 ;;;; Additional accessors and setters for the array header.
-
-(defknown sb!impl::%array-dimension (t index) index
-  (flushable))
-(defknown sb!impl::%set-array-dimension (t index index) index
-  ())
-
 (define-full-reffer %array-dimension *
   array-dimensions-offset other-pointer-lowtag
-  (any-reg) positive-fixnum sb!impl::%array-dimension)
+  (any-reg) positive-fixnum sb!kernel:%array-dimension)
 
 (define-full-setter %set-array-dimension *
   array-dimensions-offset other-pointer-lowtag
-  (any-reg) positive-fixnum sb!impl::%set-array-dimension)
-
-
-(defknown sb!impl::%array-rank (t) index (flushable))
+  (any-reg) positive-fixnum sb!kernel:%set-array-dimension)
 
 (define-vop (array-rank-vop)
-  (:translate sb!impl::%array-rank)
+  (:translate sb!kernel:%array-rank)
   (:policy :fast-safe)
   (:args (x :scs (descriptor-reg)))
   (:results (res :scs (unsigned-reg)))
 
   (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-7 positive-fixnum
+    :byte nil unsigned-reg signed-reg)
   (def-partial-data-vector-frobs simple-array-unsigned-byte-8 positive-fixnum
     :byte nil unsigned-reg signed-reg)
   
+  (def-partial-data-vector-frobs simple-array-unsigned-byte-15 positive-fixnum
+    :short nil unsigned-reg signed-reg)
   (def-partial-data-vector-frobs simple-array-unsigned-byte-16 positive-fixnum
     :short nil unsigned-reg signed-reg)
   
+  (def-full-data-vector-frobs simple-array-unsigned-byte-31 unsigned-num
+    unsigned-reg)
   (def-full-data-vector-frobs simple-array-unsigned-byte-32 unsigned-num
     unsigned-reg)
   
   (def-partial-data-vector-frobs simple-array-signed-byte-16 tagged-num
     :short t signed-reg)
   
+  (def-full-data-vector-frobs simple-array-unsigned-byte-29 positive-fixnum any-reg)
   (def-full-data-vector-frobs simple-array-signed-byte-30 tagged-num any-reg)
   
   (def-full-data-vector-frobs simple-array-signed-byte-32 signed-num signed-reg))