0.7.4.3:
authorWilliam Harold Newman <william.newman@airmail.net>
Tue, 28 May 2002 16:00:11 +0000 (16:00 +0000)
committerWilliam Harold Newman <william.newman@airmail.net>
Tue, 28 May 2002 16:00:11 +0000 (16:00 +0000)
minor tidying...
...Avoid calling TYPE-OF in common cases of COPY-SEQ (for less
oppressive performance).
...nicer newlining in DESCRIBE

src/code/describe.lisp
src/code/seq.lisp
src/compiler/dfo.lisp
version.lisp-expr

index 7ea642d..35cd265 100644 (file)
@@ -19,8 +19,8 @@
   #+sb-doc
   "Print a description of the object X."
   (let ((stream (out-synonym-of stream-designator)))
+    (fresh-line stream)
     (pprint-logical-block (stream nil)
-      (pprint-newline :mandatory stream)
       (describe-object x stream)
       (pprint-newline :mandatory stream)))
   (values))
index adf36db..7a20475 100644 (file)
   (list-copy-seq sequence))
 
 (defun vector-copy-seq* (sequence)
-  (vector-copy-seq sequence (type-of sequence)))
+  (declare (type vector sequence))
+  (vector-copy-seq sequence
+                  (typecase sequence
+                    ;; Pick off the common cases so that we don't have to... 
+                    ((vector t) 'simple-vector)
+                    (string 'simple-string)
+                    (bit-vector 'simple-bit-vector)
+                    ((vector single-float) '(simple-array single-float 1))
+                    ((vector double-float) '(simple-array double-float 1))
+                    ;; ...do a full call to TYPE-OF.
+                    (t (type-of sequence)))))
 \f
 ;;;; FILL
 
index a22339d..4161810 100644 (file)
 
     (values (real) (top) (real-top))))
 
-;; COMPONENTs want strings for names, LEAF-DEBUG-NAMEs mightn't be
-;; strings..
+;;; COMPONENTs want strings for names, LEAF-DEBUG-NAMEs mightn't be
+;;; strings...
 (defun component-name-from-functional-debug-name (functional)
   (declare (type functional functional))
   (let ((leaf-debug-name (leaf-debug-name functional)))
     ;; an existing component if we find that there are references
     ;; between them. Any code that is left in an initial component
     ;; must be unreachable, so we can delete it. Stray links to the
-    ;; initial component tail (due NIL function terminated blocks)
+    ;; initial component tail (due to NIL function terminated blocks)
     ;; are moved to the appropriate new component tail.
     (dolist (toplevel-lambda toplevel-lambdas)
       (let* ((old-component (lambda-component toplevel-lambda))
index 9153568..8ea0678 100644 (file)
@@ -18,4 +18,4 @@
 ;;; for internal versions, especially for internal versions off the
 ;;; main CVS branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
 
-"0.7.4.2"
+"0.7.4.3"