Optimize CONCATENATE transform.
[sbcl.git] / src / compiler / target-dump.lisp
index 1ea911e..dda58b4 100644 (file)
@@ -20,7 +20,7 @@
 (defun dump-characters-of-string (s fasl-output)
   (declare (type string s) (type fasl-output fasl-output))
   (dovector (c s)
-    (dump-word (char-code c) fasl-output))
+    (dump-unsigned-byte-32 (char-code c) fasl-output))
   (values))
 #!+sb-unicode
 (defun dump-simple-character-string (s file)
@@ -33,7 +33,8 @@
 ;;; vector-like thing that we can BLT from.
 (defun dump-raw-bytes (vec n fasl-output)
   (declare (type index n) (type fasl-output fasl-output))
-  (sb!sys:output-raw-bytes (fasl-output-stream fasl-output) vec 0 n)
+  ;; FIXME: Why not WRITE-SEQUENCE?
+  (sb!impl::buffer-output (fasl-output-stream fasl-output) vec 0 n)
   (values))
 
 ;;; Dump a multi-dimensional array. Note: any displacements are folded out.
     (dump-word rank file)
     (eq-save-object array file)))
 \f
-;;;; various dump-a-number operations
-
-(defun dump-single-float-vector (vec file)
-  (let ((length (length vec)))
-    (dump-fop 'fop-single-float-vector file)
-    (dump-word length file)
-    (dump-raw-bytes vec (* length 4) file)))
-
-(defun dump-double-float-vector (vec file)
-  (let ((length (length vec)))
-    (dump-fop 'fop-double-float-vector file)
-    (dump-word length file)
-    (dump-raw-bytes vec (* length 8) file)))
-
-#!+long-float
-(defun dump-long-float-vector (vec file)
-  (let ((length (length vec)))
-    (dump-fop 'fop-long-float-vector file)
-    (dump-word length file)
-    (dump-raw-bytes vec
-                    (* length sb!vm:n-word-bytes #!+x86 3 #!+sparc 4)
-                    file)))
-
-(defun dump-complex-single-float-vector (vec file)
-  (let ((length (length vec)))
-    (dump-fop 'fop-complex-single-float-vector file)
-    (dump-word length file)
-    (dump-raw-bytes vec (* length 8) file)))
-
-(defun dump-complex-double-float-vector (vec file)
-  (let ((length (length vec)))
-    (dump-fop 'fop-complex-double-float-vector file)
-    (dump-word length file)
-    (dump-raw-bytes vec (* length 16) file)))
-
-#!+long-float
-(defun dump-complex-long-float-vector (vec file)
-  (let ((length (length vec)))
-    (dump-fop 'fop-complex-long-float-vector file)
-    (dump-word length file)
-    (dump-raw-bytes vec
-                    (* length sb!vm:n-word-bytes #!+x86 3 #!+sparc 4 2)
-                    file)))
-
 #!+(and long-float x86)
 (defun dump-long-float (float file)
   (declare (long-float float))