Douglas Katzman | 21 Jul 21:36 2014
Picon
Picon

master: Undo premature optimization from change b821d53b

The branch "master" has been updated in SBCL:
       via  80e9a6e539a9b0bd158d2d382ac59ce388e9df6c (commit)
      from  4f2f8417a5ed2f9e026011a81e6018377193ca8b (commit)

- Log -----------------------------------------------------------------
commit 80e9a6e539a9b0bd158d2d382ac59ce388e9df6c
Author: Douglas Katzman <dougk <at> google.com>
Date:   Mon Jul 21 14:49:52 2014 -0400

    Undo premature optimization from change b821d53b
---
 src/code/pred.lisp    |   27 +++++++++++++++++++++++----
 tests/seq.impure.lisp |    3 +++
 2 files changed, 26 insertions(+), 4 deletions(-)

diff --git a/src/code/pred.lisp b/src/code/pred.lisp
index 8e3ef55..1998662 100644
--- a/src/code/pred.lisp
+++ b/src/code/pred.lisp
 <at>  <at>  -46,14 +46,33  <at>  <at> 
                 (t (return-from extended-sequence-p nil)))))
     (when (layout-invalid layout)
       (setq layout (update-object-layout-or-invalid x slayout)))
-    ;; It's impossible to create an instance which is exactly
+    ;; It's _nearly_ impossible to create an instance which is exactly
     ;; of type SEQUENCE. To wit: (make-instance 'sequence) =>
     ;;   "Cannot allocate an instance of #<BUILT-IN-CLASS SEQUENCE>."
-    ;; So we do not need to check for that. Just use the 'inherits' vector.
+    ;; We should not need to check for that, just the 'inherits' vector.
+    ;; However, bootstrap code does a sleazy thing, making an instance of
(Continue reading)

Douglas Katzman | 21 Jul 17:51 2014
Picon
Picon

master: Re-un-break hash-cach profiling, and adjust whitespace.

The branch "master" has been updated in SBCL:
       via  4f2f8417a5ed2f9e026011a81e6018377193ca8b (commit)
      from  bc18b32a6ff053c1a80754f273a23d8e618744bf (commit)

- Log -----------------------------------------------------------------
commit 4f2f8417a5ed2f9e026011a81e6018377193ca8b
Author: Douglas Katzman <dougk <at> google.com>
Date:   Mon Jul 21 11:50:17 2014 -0400

    Re-un-break hash-cach profiling, and adjust whitespace.
---
 src/code/early-extensions.lisp |   26 +++++++++++++-------------
 1 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/src/code/early-extensions.lisp b/src/code/early-extensions.lisp
index 531a945..87e4839 100644
--- a/src/code/early-extensions.lisp
+++ b/src/code/early-extensions.lisp
 <at>  <at>  -659,8 +659,6  <at>  <at> 
                                (return-from ,fun-name
                                  (values , <at> result-temps))))))
                        (setq ,hashval (ash ,hashval ,(- hash-bits)))))))
-               , <at> (when *profile-hash-cache*
-                   `((incf (aref ,statistics-name 1)))) ; count misses
                (multiple-value-bind ,result-temps (funcall ,thunk)
                  (let ((,entry
                         (,(let ((*package* (symbol-package 'alloc-hash-cache)))
 <at>  <at>  -672,11 +670,13  <at>  <at> 
                          (or ,cache (alloc-hash-cache ,size ',var-name))))
                        (idx1 (ldb (byte ,hash-bits 0) ,hashval))
(Continue reading)

Douglas Katzman | 19 Jul 22:28 2014
Picon
Picon

master: Various type-class cleanups.

The branch "master" has been updated in SBCL:
       via  bc18b32a6ff053c1a80754f273a23d8e618744bf (commit)
      from  87e94cc05ec1ada53f46978896c3b7ba2c5953a1 (commit)

- Log -----------------------------------------------------------------
commit bc18b32a6ff053c1a80754f273a23d8e618744bf
Author: Douglas Katzman <dougk <at> google.com>
Date:   Sat Jul 19 14:19:57 2014 -0400

    Various type-class cleanups.

    - For descendants of ctype other than classoid, make all slots readonly.
    - Don't "hand-roll" an array-type using COPY-STRUCTURE.
    - Make the DIMENSIONS argument to MAKE-ARRAY-TYPE a positional arg.
---
 src/code/alien-type.lisp          |    2 +-
 src/code/cross-type.lisp          |    2 +-
 src/code/early-type.lisp          |   42 ++++++++++++++++++------------------
 src/code/late-type.lisp           |   20 ++++++++---------
 src/code/target-type.lisp         |    2 +-
 src/compiler/generic/vm-type.lisp |    4 +-
 src/compiler/ir1opt.lisp          |    1 -
 src/compiler/knownfun.lisp        |   20 +++++++++--------
 8 files changed, 46 insertions(+), 47 deletions(-)

diff --git a/src/code/alien-type.lisp b/src/code/alien-type.lisp
index b0aeb65..7cd968c 100644
--- a/src/code/alien-type.lisp
+++ b/src/code/alien-type.lisp
 <at>  <at>  -22,7 +22,7  <at>  <at> 
(Continue reading)

Douglas Katzman | 19 Jul 15:12 2014
Picon
Picon

master: Don't need *TYPE-CLASS-FUN-SLOTS*

The branch "master" has been updated in SBCL:
       via  87e94cc05ec1ada53f46978896c3b7ba2c5953a1 (commit)
      from  21d82cd3ae54663d2b627e47f6631aa4b4f12b41 (commit)

- Log -----------------------------------------------------------------
commit 87e94cc05ec1ada53f46978896c3b7ba2c5953a1
Author: Douglas Katzman <dougk <at> google.com>
Date:   Sat Jul 19 08:19:20 2014 -0400

    Don't need *TYPE-CLASS-FUN-SLOTS*
---
 src/code/type-class.lisp |   72 ++++-----------------------------------------
 1 files changed, 7 insertions(+), 65 deletions(-)

diff --git a/src/code/type-class.lisp b/src/code/type-class.lisp
index 94bf055..f9704f9 100644
--- a/src/code/type-class.lisp
+++ b/src/code/type-class.lisp
 <at>  <at>  -114,67 +114,9  <at>  <at> 
   |#
   )

-(eval-when (:compile-toplevel :load-toplevel :execute)
-  ;; KLUDGE: If the slots of TYPE-CLASS ever change, the slots here
-  ;; will have to be tweaked to match. -- WHN 19991021
-  (defparameter *type-class-fun-slots*
-    '((:simple-subtypep . type-class-simple-subtypep)
-      (:complex-subtypep-arg1 . type-class-complex-subtypep-arg1)
-      (:complex-subtypep-arg2 . type-class-complex-subtypep-arg2)
-      (:simple-union2 . type-class-simple-union2)
(Continue reading)

Douglas Katzman | 19 Jul 14:01 2014
Picon
Picon

master: Suppress spurious type-check in hash-cache functions

The branch "master" has been updated in SBCL:
       via  21d82cd3ae54663d2b627e47f6631aa4b4f12b41 (commit)
      from  9b653246b47c35999c1e797885d7dcbd5fac7bdb (commit)

- Log -----------------------------------------------------------------
commit 21d82cd3ae54663d2b627e47f6631aa4b4f12b41
Author: Douglas Katzman <dougk <at> google.com>
Date:   Sat Jul 19 07:59:20 2014 -0400

    Suppress spurious type-check in hash-cache functions
---
 src/code/early-extensions.lisp |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/code/early-extensions.lisp b/src/code/early-extensions.lisp
index 573f221..531a945 100644
--- a/src/code/early-extensions.lisp
+++ b/src/code/early-extensions.lisp
 <at>  <at>  -659,8 +659,6  <at>  <at> 
                                (return-from ,fun-name
                                  (values , <at> result-temps))))))
                        (setq ,hashval (ash ,hashval ,(- hash-bits)))))))
-               (unless ,cache
-                 (setq ,cache (alloc-hash-cache ,size ',var-name)))
                , <at> (when *profile-hash-cache*
                    `((incf (aref ,statistics-name 1)))) ; count misses
                (multiple-value-bind ,result-temps (funcall ,thunk)
 <at>  <at>  -669,9 +667,11  <at>  <at> 
                             (symbolicate "ALLOC-HASH-CACHE-LINE/"
                                          (write-to-string (+ nargs values))))
(Continue reading)

Douglas Katzman | 19 Jul 13:51 2014
Picon
Picon

master: Correctly spell what I think was supposed to be "MUMBLE"

The branch "master" has been updated in SBCL:
       via  9b653246b47c35999c1e797885d7dcbd5fac7bdb (commit)
      from  60ab8e4270658848734252e2cf8cc1dd25c01801 (commit)

- Log -----------------------------------------------------------------
commit 9b653246b47c35999c1e797885d7dcbd5fac7bdb
Author: Douglas Katzman <dougk <at> google.com>
Date:   Sat Jul 19 07:50:10 2014 -0400

    Correctly spell what I think was supposed to be "MUMBLE"
---
 src/compiler/array-tran.lisp |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/compiler/array-tran.lisp b/src/compiler/array-tran.lisp
index 7e5e81f..1503dd1 100644
--- a/src/compiler/array-tran.lisp
+++ b/src/compiler/array-tran.lisp
 <at>  <at>  -1031,7 +1031,7  <at>  <at> 
                     (the index ,cumulative-offset)))
          (declare (type index ,cumulative-offset))))))

-(defun transform-%with-array-data/muble (array node check-fill-pointer)
+(defun transform-%with-array-data/mumble (array node check-fill-pointer)
   (let ((element-type (upgraded-element-type-specifier-or-give-up array))
         (type (lvar-type array))
         (check-bounds (policy node (plusp insert-array-bounds-checks))))
 <at>  <at>  -1071,14 +1071,14  <at>  <at> 
                                 :node node
                                 :policy (> speed space))
(Continue reading)

Douglas Katzman | 19 Jul 12:44 2014
Picon
Picon

master: Fix parsing of type-specifier (MEMBER 0.0 -0.0 FOO)

The branch "master" has been updated in SBCL:
       via  60ab8e4270658848734252e2cf8cc1dd25c01801 (commit)
      from  d87f69404ab54048c5f167522f53e1a73bfc6564 (commit)

- Log -----------------------------------------------------------------
commit 60ab8e4270658848734252e2cf8cc1dd25c01801
Author: Douglas Katzman <dougk <at> google.com>
Date:   Sat Jul 19 06:41:48 2014 -0400

    Fix parsing of type-specifier (MEMBER 0.0 -0.0 FOO)
---
 src/code/early-type.lisp |   33 +++++++++++++++++----------------
 tests/type.impure.lisp   |   12 ++++++++++++
 2 files changed, 29 insertions(+), 16 deletions(-)

diff --git a/src/code/early-type.lisp b/src/code/early-type.lisp
index a90860c..cdc0818 100644
--- a/src/code/early-type.lisp
+++ b/src/code/early-type.lisp
 <at>  <at>  -398,21 +398,23  <at>  <at> 
   ;; canonicalize to (DOUBLE-FLOAT 0.0d0 0.0d0), because numeric
   ;; ranges are compared by arithmetic operators (while MEMBERship is
   ;; compared by EQL).  -- CSR, 2003-04-23
-  (let ((unpaired nil)
+  (let ((presence 0)
+        (unpaired nil)
         (union-types nil))
-    (do ((tail (cdr fp-zeroes) (cdr tail))
-         (zero (car fp-zeroes) (car tail)))
-        ((not zero))
(Continue reading)

Douglas Katzman | 18 Jul 04:01 2014
Picon
Picon

master: Allow declarations in DEFOPTIMIZER. Don't auto-ignoreable-ize vars.

The branch "master" has been updated in SBCL:
       via  d87f69404ab54048c5f167522f53e1a73bfc6564 (commit)
      from  8d5ef869aadadb209c3bb93525c6fd7f6d6a337a (commit)

- Log -----------------------------------------------------------------
commit d87f69404ab54048c5f167522f53e1a73bfc6564
Author: Douglas Katzman <dougk <at> google.com>
Date:   Thu Jul 17 21:09:04 2014 -0400

    Allow declarations in DEFOPTIMIZER. Don't auto-ignoreable-ize vars.
---
 contrib/sb-rotate-byte/compiler.lisp |    1 +
 package-data-list.lisp-expr          |    2 +-
 src/compiler/aliencomp.lisp          |    3 +
 src/compiler/array-tran.lisp         |   10 ++++-
 src/compiler/ctype.lisp              |   14 +++----
 src/compiler/generic/vm-ir2tran.lisp |   12 +++++-
 src/compiler/generic/vm-tran.lisp    |    1 +
 src/compiler/ir2tran.lisp            |    7 +++-
 src/compiler/ltn.lisp                |    6 +-
 src/compiler/macros.lisp             |   78 +++++++++++++++++++--------------
 src/compiler/srctran.lisp            |   11 ++++-
 src/compiler/typetran.lisp           |    1 +
 12 files changed, 97 insertions(+), 49 deletions(-)

diff --git a/contrib/sb-rotate-byte/compiler.lisp b/contrib/sb-rotate-byte/compiler.lisp
index 0af37d7..3113dc3 100644
--- a/contrib/sb-rotate-byte/compiler.lisp
+++ b/contrib/sb-rotate-byte/compiler.lisp
 <at>  <at>  -37,6 +37,7  <at>  <at> 
(Continue reading)

Douglas Katzman | 17 Jul 04:09 2014
Picon
Picon

master: Fix regression due to 7cdfa1f6

The branch "master" has been updated in SBCL:
       via  8d5ef869aadadb209c3bb93525c6fd7f6d6a337a (commit)
      from  27d6427ca3ca909761438a77af6c2b25a9a847db (commit)

- Log -----------------------------------------------------------------
commit 8d5ef869aadadb209c3bb93525c6fd7f6d6a337a
Author: Douglas Katzman <dougk <at> google.com>
Date:   Wed Jul 16 22:06:22 2014 -0400

    Fix regression due to 7cdfa1f6

    Having changed to EXPLICIT-CHECK, the generic branch needs to perform
    a type-check; and I missed that it formerly discarded multiple values.
---
 src/code/seq.lisp     |   14 ++++++++++++--
 tests/seq.impure.lisp |    8 ++++++++
 2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/src/code/seq.lisp b/src/code/seq.lisp
index 3374fcc..afb7ae3 100644
--- a/src/code/seq.lisp
+++ b/src/code/seq.lisp
 <at>  <at>  -775,7 +775,14  <at>  <at>  many elements are copied."
   (seq-dispatch-checking sequence
     (list-reverse* sequence)
     (vector-reverse* sequence)
-    (the sequence (sb!sequence:reverse sequence))))
+    ;; The type deriver says that LIST => LIST and VECTOR => VECTOR
+    ;; but does not claim to know anything about extended-sequences.
+    ;; So this could theoretically return any subtype of SEQUENCE
(Continue reading)

Douglas Katzman | 17 Jul 03:56 2014
Picon
Picon

master: Fix some style warnings in tests

The branch "master" has been updated in SBCL:
       via  27d6427ca3ca909761438a77af6c2b25a9a847db (commit)
      from  9f904c8a85b8b03fc9a091d715ca0592cf66638e (commit)

- Log -----------------------------------------------------------------
commit 27d6427ca3ca909761438a77af6c2b25a9a847db
Author: Douglas Katzman <dougk <at> google.com>
Date:   Wed Jul 16 21:56:28 2014 -0400

    Fix some style warnings in tests
---
 tests/seq.impure.lisp |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/tests/seq.impure.lisp b/tests/seq.impure.lisp
index b6b28bd..5e43627 100644
--- a/tests/seq.impure.lisp
+++ b/tests/seq.impure.lisp
 <at>  <at>  -58,6 +58,7  <at>  <at> 
             (coerce base-seq type))
            ((cons (eql simple-array) (cons * (cons (eql 1) null)))
             (destructuring-bind (eltype one) (rest type)
+              (declare (ignore one))
               (when (entirely eltype)
                 (coerce base-seq type))))
            ((cons (eql vector))
 <at>  <at>  -360,8 +361,8  <at>  <at> 

 ;;; As pointed out by Raymond Toy on #lisp IRC, MERGE had some issues
 ;;; with user-defined types until sbcl-0.7.8.11
(Continue reading)

Douglas Katzman | 16 Jul 04:45 2014
Picon
Picon

master: Add a minor FIXME for a whole bunch of style-warnings

The branch "master" has been updated in SBCL:
       via  9f904c8a85b8b03fc9a091d715ca0592cf66638e (commit)
      from  d7265bc05d7c3ba83194cb80b3371a54d3c136e4 (commit)

- Log -----------------------------------------------------------------
commit 9f904c8a85b8b03fc9a091d715ca0592cf66638e
Author: Douglas Katzman <dougk <at> google.com>
Date:   Tue Jul 15 22:44:50 2014 -0400

    Add a minor FIXME for a whole bunch of style-warnings
---
 src/code/numbers.lisp |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/src/code/numbers.lisp b/src/code/numbers.lisp
index 53e6d99..e375677 100644
--- a/src/code/numbers.lisp
+++ b/src/code/numbers.lisp
 <at>  <at>  -363,6 +363,10  <at>  <at> 
                 #!+sb-doc
                 ,doc
                 (if numbers
+                    ;; FIXME: using NTH here produces
+                    ;; "caught STYLE-WARNING:
+                    ;;  The binding of RESULT is not a NUMBER"
+                    ;; Same warning occurs in -, /, =, /=, etc
                     (do ((result (nth 0 numbers) (,op result (nth i numbers)))
                          (i 1 (1+ i)))
                         ((>= i (length numbers))

(Continue reading)


Gmane