Tobias Rittweiler | 4 Jan 16:55 2010
Picon
Picon

CVS: sbcl version.lisp-expr, 1.4713, 1.4714 NEWS, 1.1661, 1.1662

Update of /cvsroot/sbcl/sbcl
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv24494

Modified Files:
	version.lisp-expr NEWS 
Log Message:
1.0.34.3: Fix second return value of GET-MACRO-CHARACTER.

GET-MACRO-CHARACTER always refered to *READTABLE* when computing its
second return value (the non-terminating-p flag) rather than to the
readtable that may have been passed explicitly.

Index: version.lisp-expr
===================================================================
RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v
retrieving revision 1.4713
retrieving revision 1.4714
diff -u -d -r1.4713 -r1.4714
--- version.lisp-expr	30 Dec 2009 22:54:27 -0000	1.4713
+++ version.lisp-expr	4 Jan 2010 15:55:21 -0000	1.4714
 <at>  <at>  -17,4 +17,4  <at>  <at> 
 ;;; 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".)
-"1.0.34.2"
+"1.0.34.3"

Index: NEWS
===================================================================
RCS file: /cvsroot/sbcl/sbcl/NEWS,v
(Continue reading)

Tobias Rittweiler | 4 Jan 16:55 2010
Picon
Picon

CVS: sbcl/src/code reader.lisp,1.59,1.60

Update of /cvsroot/sbcl/sbcl/src/code
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv24494/src/code

Modified Files:
	reader.lisp 
Log Message:
1.0.34.3: Fix second return value of GET-MACRO-CHARACTER.

GET-MACRO-CHARACTER always refered to *READTABLE* when computing its
second return value (the non-terminating-p flag) rather than to the
readtable that may have been passed explicitly.

Index: reader.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/code/reader.lisp,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -d -r1.59 -r1.60
--- reader.lisp	1 May 2009 21:01:57 -0000	1.59
+++ reader.lisp	4 Jan 2010 15:55:21 -0000	1.60
 <at>  <at>  -292,8 +292,8  <at>  <at> 
     (values fun-value
             ;; NON-TERMINATING-P return value:
             (if fun-value
-                (or (constituentp char)
-                    (not (terminating-macrop char)))
+                (or (constituentp char designated-readtable)
+                    (not (terminating-macrop char designated-readtable)))
                 ;; ANSI's definition of GET-MACRO-CHARACTER says this
                 ;; value is NIL when CHAR is not a macro character.
(Continue reading)

Tobias Rittweiler | 4 Jan 16:55 2010
Picon
Picon

CVS: sbcl/tests reader.pure.lisp,1.16,1.17

Update of /cvsroot/sbcl/sbcl/tests
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv24494/tests

Modified Files:
	reader.pure.lisp 
Log Message:
1.0.34.3: Fix second return value of GET-MACRO-CHARACTER.

GET-MACRO-CHARACTER always refered to *READTABLE* when computing its
second return value (the non-terminating-p flag) rather than to the
readtable that may have been passed explicitly.

Index: reader.pure.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/tests/reader.pure.lisp,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- reader.pure.lisp	17 Sep 2007 18:38:17 -0000	1.16
+++ reader.pure.lisp	4 Jan 2010 15:55:21 -0000	1.17
 <at>  <at>  -245,3 +245,13  <at>  <at> 
       (read-from-string "CL-USER:DOES-NOT-EXIST")
     (reader-error (c)
       (princ c))))
+
+;;; The GET-MACRO-CHARACTER in SBCL <= "1.0.34.2" bogusly computed its
+;;; second return value relative to *READTABLE* rather than the passed
+;;; readtable.
+(let* ((*readtable* (copy-readtable nil)))
+  (set-syntax-from-char #\" #\A)
(Continue reading)

Nathan Froyd | 6 Jan 06:05 2010
Picon
Picon

CVS: sbcl/src/compiler/x86-64 type-vops.lisp, 1.15, 1.16

Update of /cvsroot/sbcl/sbcl/src/compiler/x86-64
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv8144/src/compiler/x86-64

Modified Files:
	type-vops.lisp 
Log Message:
1.0.34.4: micro-optimize widetag checking on x86oids

If we are checking a range of widetags and there are no more widetags to
check, we can tweak the widetag and do a single, unsigned comparison.

Index: type-vops.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/compiler/x86-64/type-vops.lisp,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- type-vops.lisp	5 Jun 2009 11:36:48 -0000	1.15
+++ type-vops.lisp	6 Jan 2010 05:05:44 -0000	1.16
 <at>  <at>  -83,13 +83,14  <at>  <at> 
 (defun %test-headers (value target not-p function-p headers
                             &optional (drop-through (gen-label)))
   (let ((lowtag (if function-p fun-pointer-lowtag other-pointer-lowtag)))
-    (multiple-value-bind (equal less-or-equal when-true when-false)
-        ;; EQUAL and LESS-OR-EQUAL are the conditions for branching to TARGET.
-        ;; WHEN-TRUE and WHEN-FALSE are the labels to branch to when we know
-        ;; it's true and when we know it's false respectively.
+    (multiple-value-bind (equal less-or-equal greater-or-equal when-true when-false)
+        ;; EQUAL, LESS-OR-EQUAL, and GREATER-OR-EQUAL are the conditions
+        ;; for branching to TARGET.  WHEN-TRUE and WHEN-FALSE are the
(Continue reading)

Nathan Froyd | 6 Jan 06:05 2010
Picon
Picon

CVS: sbcl/src/compiler/x86 type-vops.lisp, 1.23, 1.24

Update of /cvsroot/sbcl/sbcl/src/compiler/x86
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv8144/src/compiler/x86

Modified Files:
	type-vops.lisp 
Log Message:
1.0.34.4: micro-optimize widetag checking on x86oids

If we are checking a range of widetags and there are no more widetags to
check, we can tweak the widetag and do a single, unsigned comparison.

Index: type-vops.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/compiler/x86/type-vops.lisp,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- type-vops.lisp	5 Jun 2009 11:36:48 -0000	1.23
+++ type-vops.lisp	6 Jan 2010 05:05:44 -0000	1.24
 <at>  <at>  -127,18 +127,28  <at>  <at> 
                      ;; was true.
                      (return))
                     (t
-                     (unless (= start bignum-widetag)
-                       (inst cmp al-tn start)
-                       (if (= end complex-array-widetag)
-                           (progn
-                             (aver last)
-                             (inst jmp greater-or-equal target))
-                           (inst jmp :b when-false))) ; was :l
(Continue reading)

Nathan Froyd | 6 Jan 06:05 2010
Picon
Picon

CVS: sbcl version.lisp-expr,1.4714,1.4715

Update of /cvsroot/sbcl/sbcl
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv8144

Modified Files:
	version.lisp-expr 
Log Message:
1.0.34.4: micro-optimize widetag checking on x86oids

If we are checking a range of widetags and there are no more widetags to
check, we can tweak the widetag and do a single, unsigned comparison.

Index: version.lisp-expr
===================================================================
RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v
retrieving revision 1.4714
retrieving revision 1.4715
diff -u -d -r1.4714 -r1.4715
--- version.lisp-expr	4 Jan 2010 15:55:21 -0000	1.4714
+++ version.lisp-expr	6 Jan 2010 05:05:43 -0000	1.4715
 <at>  <at>  -17,4 +17,4  <at>  <at> 
 ;;; 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".)
-"1.0.34.3"
+"1.0.34.4"

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
(Continue reading)

Nathan Froyd | 6 Jan 17:56 2010
Picon
Picon

CVS: sbcl version.lisp-expr,1.4715,1.4716

Update of /cvsroot/sbcl/sbcl
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv20413

Modified Files:
	version.lisp-expr 
Log Message:
1.0.34.5: remove dead DATA-VECTOR-{REF,SET} transforms

The transforms for (SIMPLE-ARRAY (UNSIGNED-BYTE N)) where (< N 8) have
never been used.  Consign them to the version control bitbucket.

Index: version.lisp-expr
===================================================================
RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v
retrieving revision 1.4715
retrieving revision 1.4716
diff -u -d -r1.4715 -r1.4716
--- version.lisp-expr	6 Jan 2010 05:05:43 -0000	1.4715
+++ version.lisp-expr	6 Jan 2010 16:56:22 -0000	1.4716
 <at>  <at>  -17,4 +17,4  <at>  <at> 
 ;;; 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".)
-"1.0.34.4"
+"1.0.34.5"

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
(Continue reading)

Nathan Froyd | 6 Jan 17:56 2010
Picon
Picon

CVS: sbcl/src/compiler/generic vm-tran.lisp, 1.84, 1.85

Update of /cvsroot/sbcl/sbcl/src/compiler/generic
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv20413/src/compiler/generic

Modified Files:
	vm-tran.lisp 
Log Message:
1.0.34.5: remove dead DATA-VECTOR-{REF,SET} transforms

The transforms for (SIMPLE-ARRAY (UNSIGNED-BYTE N)) where (< N 8) have
never been used.  Consign them to the version control bitbucket.

Index: vm-tran.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/compiler/generic/vm-tran.lisp,v
retrieving revision 1.84
retrieving revision 1.85
diff -u -d -r1.84 -r1.85
--- vm-tran.lisp	28 Jun 2009 21:37:05 -0000	1.84
+++ vm-tran.lisp	6 Jan 2010 16:56:22 -0000	1.85
 <at>  <at>  -295,41 +295,6  <at>  <at> 
   '(if (array-header-p %array)
        (values (%array-data-vector %array) %index)
        (values %array %index)))
-
-;;; transforms for getting at simple arrays of (UNSIGNED-BYTE N) when (< N 8)
-;;;
-;;; FIXME: In CMU CL, these were commented out with #+NIL. Why? Should
-;;; we fix them or should we delete them? (Perhaps these definitions
-;;; predate the various DATA-VECTOR-REF-FOO VOPs which have
-;;; (:TRANSLATE DATA-VECTOR-REF), and are redundant now?)
(Continue reading)

Nathan Froyd | 8 Jan 03:21 2010
Picon
Picon

CVS: sbcl NEWS, 1.1662, 1.1663 version.lisp-expr, 1.4716, 1.4717

Update of /cvsroot/sbcl/sbcl
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv24279

Modified Files:
	NEWS version.lisp-expr 
Log Message:
1.0.34.6: improvements to SB-ROTATE-BYTE on x86-64

- Generate ROL/ROR instructions for 32-bit rotates, rather than shifts,
  ands, and ors;
- Generate ROL/ROR instructions for 64-bit rotates.

While we're here, we might as well fix the FIXME about the ordering of
DEFTRANSFORMS to ensure we do the right thing for identity rotates.

Index: NEWS
===================================================================
RCS file: /cvsroot/sbcl/sbcl/NEWS,v
retrieving revision 1.1662
retrieving revision 1.1663
diff -u -d -r1.1662 -r1.1663
--- NEWS	4 Jan 2010 15:55:21 -0000	1.1662
+++ NEWS	8 Jan 2010 02:21:15 -0000	1.1663
 <at>  <at>  -1,5 +1,9  <at>  <at> 
 ;;;; -*- coding: utf-8; fill-column: 78 -*-
 changes relative to sbcl-1.0.34:
+  * optimization: SB-ROTATE-BYTE:ROTATE-BYTE now generates more efficient
+    code for 32-bit and 64-bit rotations on x86-64.
+  * bug fix: Passing a rotation count of zero to SB-ROTATE-BYTE:ROTATE-BYTE
+    no longer causes a compiler error on x86 and ppc.
(Continue reading)

Nathan Froyd | 8 Jan 03:21 2010
Picon
Picon

CVS: sbcl/contrib/sb-rotate-byte compiler.lisp, 1.5, 1.6 rotate-byte-tests.lisp, 1.3, 1.4 sb-rotate-byte.asd, 1.6, 1.7

Update of /cvsroot/sbcl/sbcl/contrib/sb-rotate-byte
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv24279/contrib/sb-rotate-byte

Modified Files:
	compiler.lisp rotate-byte-tests.lisp sb-rotate-byte.asd 
Log Message:
1.0.34.6: improvements to SB-ROTATE-BYTE on x86-64

- Generate ROL/ROR instructions for 32-bit rotates, rather than shifts,
  ands, and ors;
- Generate ROL/ROR instructions for 64-bit rotates.

While we're here, we might as well fix the FIXME about the ordering of
DEFTRANSFORMS to ensure we do the right thing for identity rotates.

Index: compiler.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/contrib/sb-rotate-byte/compiler.lisp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- compiler.lisp	26 Aug 2005 22:19:12 -0000	1.5
+++ compiler.lisp	8 Jan 2010 02:21:15 -0000	1.6
 <at>  <at>  -7,6 +7,10  <at>  <at> 
 (defknown %unsigned-32-rotate-byte ((integer -31 31) (unsigned-byte 32))
     (unsigned-byte 32)
   (foldable flushable))
+#+x86-64
+(defknown %unsigned-64-rotate-byte ((integer -63 63) (unsigned-byte 64))
+    (unsigned-byte 64)
(Continue reading)


Gmane