stassats | 28 Jan 21:34 2015
Picon
Picon

master: Remove ALIAS optional argument from ir1-convert.

The branch "master" has been updated in SBCL:
       via  22be8b8261a56fadf2cd36ca39e6072352cf1154 (commit)
      from  541bd1da698b434cdb7bccb786aeed936e95d11f (commit)

- Log -----------------------------------------------------------------
commit 22be8b8261a56fadf2cd36ca39e6072352cf1154
Author: Stas Boukarev <stassats <at> gmail.com>
Date:   Wed Jan 28 23:31:23 2015 +0300

    Remove ALIAS optional argument from ir1-convert.

    It's not actually used. This removes one of the symptoms of lp#1413850.
---
 src/compiler/ir1tran.lisp |    6 +++---
 src/compiler/ltv.lisp     |    2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/compiler/ir1tran.lisp b/src/compiler/ir1tran.lisp
index d1a7601..69203ae 100644
--- a/src/compiler/ir1tran.lisp
+++ b/src/compiler/ir1tran.lisp
 <at>  <at>  -549,7 +549,7  <at>  <at> 
 
 ;;;; IR1-CONVERT, macroexpansion and special form dispatching

-(declaim (ftype (sfunction (ctran ctran (or lvar null) t &optional t)
+(declaim (ftype (sfunction (ctran ctran (or lvar null) t)
                            (values))
                 ir1-convert))
 (macrolet (;; Bind *COMPILER-ERROR-BAILOUT* to a function that throws
(Continue reading)

stassats | 26 Jan 14:49 2015
Picon
Picon

master: Specify 4-byte alignment on openbsd.

The branch "master" has been updated in SBCL:
       via  541bd1da698b434cdb7bccb786aeed936e95d11f (commit)
      from  43b747d445989bc11e47481f989edb0880d10390 (commit)

- Log -----------------------------------------------------------------
commit 541bd1da698b434cdb7bccb786aeed936e95d11f
Author: Stas Boukarev <stassats <at> gmail.com>
Date:   Mon Jan 26 16:48:56 2015 +0300

    Specify 4-byte alignment on openbsd.

    It's not yet clear what alignment SBCL should maintain, so specify
    what was always assumed and worked, 4 bytes.

    This also requires using newer than the default gcc on openbsd.
---
 src/runtime/Config.x86-openbsd |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/runtime/Config.x86-openbsd b/src/runtime/Config.x86-openbsd
index 56b741f..6c9c186 100644
--- a/src/runtime/Config.x86-openbsd
+++ b/src/runtime/Config.x86-openbsd
 <at>  <at>  -18,4 +18,4  <at>  <at>  ASSEM_SRC += ldso-stubs.S
 # locations used. If you wish to link the runtime using -Z option then
 # please see the comments in src/compiler/x86/parms.lisp

-CFLAGS += -fno-omit-frame-pointer
+CFLAGS += -fno-omit-frame-pointer -mpreferred-stack-boundary=2

(Continue reading)

stassats | 26 Jan 13:02 2015
Picon
Picon

master: Fix segfault when loading compressed core on Win32

The branch "master" has been updated in SBCL:
       via  43b747d445989bc11e47481f989edb0880d10390 (commit)
      from  b57823c8742a9a0d4e172bb8dc6270ab5c80c1ba (commit)

- Log -----------------------------------------------------------------
commit 43b747d445989bc11e47481f989edb0880d10390
Author: Fanael Linithien <fanael4 <at> gmail.com>
Date:   Mon Jan 26 00:21:47 2015 +0100

    Fix segfault when loading compressed core on Win32
---
 src/runtime/coreparse.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/runtime/coreparse.c b/src/runtime/coreparse.c
index 2665bc3..e6036cc 100644
--- a/src/runtime/coreparse.c
+++ b/src/runtime/coreparse.c
 <at>  <at>  -215,6 +215,12  <at>  <at>  os_vm_address_t inflate_core_bytes(int fd, os_vm_offset_t offset,
     unsigned char buf[ZLIB_BUFFER_SIZE];
     int ret;

+# ifdef LISP_FEATURE_WIN32
+    /* Ensure the memory is committed so zlib doesn't segfault trying to
+       inflate. */
+    os_validate_recommit(addr, len);
+# endif
+
     if (-1 == lseek(fd, offset, SEEK_SET)) {
         lose("Unable to lseek() on corefile\n");
(Continue reading)

stassats | 23 Jan 20:51 2015
Picon
Picon

master: Fix gencgc_handle_wp_violation debug output.

The branch "master" has been updated in SBCL:
       via  b57823c8742a9a0d4e172bb8dc6270ab5c80c1ba (commit)
      from  7d5dcce3d0a18c3c079f03f64e9ea60892fadb59 (commit)

- Log -----------------------------------------------------------------
commit b57823c8742a9a0d4e172bb8dc6270ab5c80c1ba
Author: Stas Boukarev <stassats <at> gmail.com>
Date:   Fri Jan 23 22:43:39 2015 +0300

    Fix gencgc_handle_wp_violation debug output.

    printf was missing #\%.
---
 src/runtime/gencgc.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/runtime/gencgc.c b/src/runtime/gencgc.c
index 0f0aa6d..e1f19ac 100644
--- a/src/runtime/gencgc.c
+++ b/src/runtime/gencgc.c
 <at>  <at>  -4603,7 +4603,7  <at>  <at>  gencgc_handle_wp_violation(void* fault_addr)

 #if QSHOW_SIGNALS
     FSHOW((stderr,
-           "heap WP violation? fault_addr=%p, page_index="PAGE_INDEX_FMT"\n",
+           "heap WP violation? fault_addr=%p, page_index=%"PAGE_INDEX_FMT"\n",
            fault_addr, page_index));
 #endif

-----------------------------------------------------------------------
(Continue reading)

stassats | 23 Jan 20:01 2015
Picon
Picon

master: Reduce thread result consing.

The branch "master" has been updated in SBCL:
       via  7d5dcce3d0a18c3c079f03f64e9ea60892fadb59 (commit)
      from  d3bfbcd7b79489875097da347a63b4c2085397e2 (commit)

- Log -----------------------------------------------------------------
commit 7d5dcce3d0a18c3c079f03f64e9ea60892fadb59
Author: Stas Boukarev <stassats <at> gmail.com>
Date:   Fri Jan 23 18:38:37 2015 +0300

    Reduce thread result consing.

    Don't use (list t list-of-values) for thread results, but 0 for no
    results, list-of-values for results
---
 src/code/target-signal.lisp |    1 +
 src/code/target-thread.lisp |   63 ++++++++++++++++++++++++++-----------------
 src/code/thread.lisp        |   10 ++-----
 3 files changed, 42 insertions(+), 32 deletions(-)

diff --git a/src/code/target-signal.lisp b/src/code/target-signal.lisp
index 759429a..5007742 100644
--- a/src/code/target-signal.lisp
+++ b/src/code/target-signal.lisp
 <at>  <at>  -180,6 +180,7  <at>  <at> 
                                              :signal-number signal)
      nil (lambda ()
            (funcall run-handler signal info context))
+     nil
      nil nil nil nil)))

(Continue reading)

stassats | 23 Jan 20:01 2015
Picon
Picon

master: Reduce consing for restarts.

The branch "master" has been updated in SBCL:
       via  d3bfbcd7b79489875097da347a63b4c2085397e2 (commit)
      from  045048a22f1ff47936b6100c811956bcf85e0b13 (commit)

- Log -----------------------------------------------------------------
commit d3bfbcd7b79489875097da347a63b4c2085397e2
Author: Stas Boukarev <stassats <at> gmail.com>
Date:   Fri Jan 23 15:31:25 2015 +0300

    Reduce consing for restarts.

    Make make-restart optionally inlinable.
    DX-allocate lists on *restart-clusters*.
---
 src/code/defboot.lisp       |    1 +
 src/code/target-error.lisp  |    2 +
 src/code/target-thread.lisp |   68 +++++++++++++++++++++++-------------------
 3 files changed, 40 insertions(+), 31 deletions(-)

diff --git a/src/code/defboot.lisp b/src/code/defboot.lisp
index 9f14b63..2b3a1b1 100644
--- a/src/code/defboot.lisp
+++ b/src/code/defboot.lisp
 <at>  <at>  -484,6 +484,7  <at>  <at>  evaluated as a PROGN."
     `(let ((*restart-clusters*
              (cons (list , <at> (mapcar #'parse-binding bindings))
                    *restart-clusters*)))
+       (declare (truly-dynamic-extent *restart-clusters*))
        , <at> forms)))

(Continue reading)

stassats | 23 Jan 20:01 2015
Picon
Picon

master: Reduce make-thread consing: DX allocate initial function.

The branch "master" has been updated in SBCL:
       via  7540c6ebccb5d2fe06142efb5da27d76e78c9d1d (commit)
      from  1cc6f41c30c643b5a68586d3ea83cf7e15321637 (commit)

- Log -----------------------------------------------------------------
commit 7540c6ebccb5d2fe06142efb5da27d76e78c9d1d
Author: Stas Boukarev <stassats <at> gmail.com>
Date:   Fri Jan 23 14:45:18 2015 +0300

    Reduce make-thread consing: DX allocate initial function.

    It doesn't need to allocate a new closure and doesn't have to pin it
    to pass into C.
---
 src/code/target-thread.lisp |   44 ++++++++++++++++++++++--------------------
 1 files changed, 23 insertions(+), 21 deletions(-)

diff --git a/src/code/target-thread.lisp b/src/code/target-thread.lisp
index e466edf..660949a 100644
--- a/src/code/target-thread.lisp
+++ b/src/code/target-thread.lisp
 <at>  <at>  -1488,28 +1488,30  <at>  <at>  See also: RETURN-FROM-THREAD, ABORT-THREAD."
                               (list arguments)))
            #!+win32
            (fp-modes (dpb 0 sb!vm::float-sticky-bits ;; clear accrued bits
-                          (sb!vm:floating-point-modes)))
-           (initial-function
-             (named-lambda initial-thread-function ()
-               ;; Win32 doesn't inherit parent thread's FP modes,
-               ;; while it seems to happen everywhere else
(Continue reading)

stassats | 23 Jan 20:01 2015
Picon
Picon

master: Reduce make-thread consing: stack allocate setup semaphore.

The branch "master" has been updated in SBCL:
       via  045048a22f1ff47936b6100c811956bcf85e0b13 (commit)
      from  5a25a697c3600782ca39c6c7da7a87727dcc76b6 (commit)

- Log -----------------------------------------------------------------
commit 045048a22f1ff47936b6100c811956bcf85e0b13
Author: Stas Boukarev <stassats <at> gmail.com>
Date:   Fri Jan 23 15:13:50 2015 +0300

    Reduce make-thread consing: stack allocate setup semaphore.

    The semaphore used without interrupts, so it's safe to stack allocate
    it.
---
 src/code/target-thread.lisp |   10 ++++++++++
 src/code/thread.lisp        |    2 ++
 2 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/src/code/target-thread.lisp b/src/code/target-thread.lisp
index 5ff58fb..f535e14 100644
--- a/src/code/target-thread.lisp
+++ b/src/code/target-thread.lisp
 <at>  <at>  -744,6 +744,9  <at>  <at>  IF-NOT-OWNER is :FORCE)."

 ;;;; Waitqueues/condition variables

+;; For possible DX-allocating, see the notinline counterpart after the
+;; PROGN below
+(declaim (inline make-waitqueue))
 #!+(or (not sb-thread) sb-futex)
(Continue reading)

stassats | 23 Jan 20:01 2015
Picon
Picon

master: Reduce make-thread consing: don't create new handler clusters.

The branch "master" has been updated in SBCL:
       via  5a25a697c3600782ca39c6c7da7a87727dcc76b6 (commit)
      from  7540c6ebccb5d2fe06142efb5da27d76e78c9d1d (commit)

- Log -----------------------------------------------------------------
commit 5a25a697c3600782ca39c6c7da7a87727dcc76b6
Author: Stas Boukarev <stassats <at> gmail.com>
Date:   Fri Jan 23 14:57:49 2015 +0300

    Reduce make-thread consing: don't create new handler clusters.

    Initial handler clusters do not have to be allocated each time.
---
 src/code/target-error.lisp  |   14 +++++++-------
 src/code/target-thread.lisp |    2 +-
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/code/target-error.lisp b/src/code/target-error.lisp
index 0f309da..2ff3a89 100644
--- a/src/code/target-error.lisp
+++ b/src/code/target-error.lisp
 <at>  <at>  -16,13 +16,13  <at>  <at> 
   (declare (special *muffled-warnings*))
   (typep warning *muffled-warnings*))

-(defun initial-handler-clusters ()
-  `(((,#'(lambda (condition)
-           (typep condition 'warning))
+(defglobal **initial-handler-clusters**
+  `(((,(lambda (condition)
(Continue reading)

Douglas Katzman | 23 Jan 17:05 2015
Picon
Picon

master: Change syntax of DEFINE-FOP, and remove from target image.

The branch "master" has been updated in SBCL:
       via  1cc6f41c30c643b5a68586d3ea83cf7e15321637 (commit)
      from  47a5ab2a65829d429fe8e5121b6a9e6c3d9469c4 (commit)

- Log -----------------------------------------------------------------
commit 1cc6f41c30c643b5a68586d3ea83cf7e15321637
Author: Douglas Katzman <dougk <at> google.com>
Date:   Fri Jan 23 11:03:42 2015 -0500

    Change syntax of DEFINE-FOP, and remove from target image.
---
 src/code/fop.lisp      |  167 +++++++++++++++++++++++------------------------
 src/compiler/dump.lisp |    3 +-
 2 files changed, 83 insertions(+), 87 deletions(-)

diff --git a/src/code/fop.lisp b/src/code/fop.lisp
index 2719a32..719301d 100644
--- a/src/code/fop.lisp
+++ b/src/code/fop.lisp
 <at>  <at>  -19,7 +19,7  <at>  <at> 
                   `(locally
                        #-sb-xc-host
                        (declare (optimize (sb!c::insert-array-bounds-checks 0)))
-                     (svref ,',stack-var ,i))))
+                     (svref ,',stack-var (truly-the index ,i)))))
        , <at> body)))

 ;;; Define NAME as a fasl operation, with op-code FOP-CODE. PUSHP
 <at>  <at>  -31,10 +31,7  <at>  <at> 
 ;;;     The body might pop the fop stack. The result of the body is
(Continue reading)

Douglas Katzman | 23 Jan 15:14 2015
Picon
Picon

master: Remove FOP-SMALL-CODE, plus a few cleanups.

The branch "master" has been updated in SBCL:
       via  47a5ab2a65829d429fe8e5121b6a9e6c3d9469c4 (commit)
      from  3d28e4d026e161b36af84a381e7bef23173312f7 (commit)

- Log -----------------------------------------------------------------
commit 47a5ab2a65829d429fe8e5121b6a9e6c3d9469c4
Author: Douglas Katzman <dougk <at> google.com>
Date:   Fri Jan 23 09:13:15 2015 -0500

    Remove FOP-SMALL-CODE, plus a few cleanups.

    FOP-CODE now allows the number of code constants and instruction
    bytes to be separately dumped as 1,2,4,or 8 byte quantities,
    each in as few bytes as possible, fixing an inefficiency on x86-64,
    namely, FOP-SMALL-CODE was used if (< code-length #x10000)
    but the length got dumped as 4 bytes instead of 2.
---
 src/code/fop.lisp                 |   11 ++++-------
 src/code/load.lisp                |    2 +-
 src/compiler/dump.lisp            |   12 ++----------
 src/compiler/generic/genesis.lisp |   35 ++++++++++++++---------------------
 4 files changed, 21 insertions(+), 39 deletions(-)

diff --git a/src/code/fop.lisp b/src/code/fop.lisp
index 85b6323..2719a32 100644
--- a/src/code/fop.lisp
+++ b/src/code/fop.lisp
 <at>  <at>  -272,7 +272,7  <at>  <at> 
   ;; probably resulting in bloated fasl files. A new
   ;; FOP-SYMBOL-IN-LAST-PACKAGE-SAVE/FOP-SMALL-SYMBOL-IN-LAST-PACKAGE-SAVE
(Continue reading)


Gmane