Planet SBCL

March 19, 2010

SBCL Commits1.0.36.34: WHO-CALLS information for source transformed calls (Nikodemus Siivola)

1.0.36.34: WHO-CALLS information for source transformed calls

 * Generalize the solution used for macroexpansion XREFs to take care
   of other source-level stuff: this includes both source-transforms
   and compiler-macros.

 Fixes launchpad bug #542174.

 Note re. 1.0.36.33: the commit message is erronous. The real commit
 message would have noted that since FIND-OPTIONAL-DISPATCH-TYPES
 doesn't rightly consider &REST mismatch a lossage in the presence of
 &KEY, we need to make sure the type assigned to the leaf has a &REST
 type if the function actually has a &REST argument.
  • [DH] NEWS
  • [DH] contrib/sb-introspect/xref-test-data.lisp
  • [DH] contrib/sb-introspect/xref-test.lisp
  • [DH] src/compiler/ir1tran.lisp
  • [DH] src/compiler/node.lisp
  • [DH] src/compiler/xref.lisp
  • [DH] version.lisp-expr
 

SBCL Commits1.0.36.33: handle missing &REST; in proclamations (Nikodemus Siivola)

1.0.36.33: handle missing &REST in proclamations

 * FIND-OPTIONAL-DISPATCH-TYPES cannot skip &REST verification in the
   presence of &KEY.

 Fixes launchpad bug #458354.
  • [DH] NEWS
  • [DH] src/compiler/ctype.lisp
  • [DH] tests/compiler.impure.lisp
  • [DH] version.lisp-expr
 

March 18, 2010

SBCL Commits1.0.36.32: reparsing undefined types when necessary (Nikodemus Siivola)

1.0.36.32: reparsing undefined types when necessary

 In type methods for unknown types that have since parsing become
 defined, update the type as necessary.

 Fixes bug #309128.
  • [DH] NEWS
  • [DH] src/code/late-type.lisp
  • [DH] tests/type.impure.lisp
  • [DH] version.lisp-expr
 

SBCL Commits1.0.36.30: on x86-64 split MOVE-TO-SINGLE into -REG and -STACK versions (Nikodemus Siivola)

1.0.36.30: on x86-64 split MOVE-TO-SINGLE into -REG and -STACK versions

 * More accurate lifetime for the temporary in both, to avoid spurious
   moves, as per patch.

 * When moving from control stack to reg, untag in the XMM register
   instead of a GP register, as per patch.

 * Missing commas in SSE shuffle instruction printers.

 Adapted from patch by Lutz Euler on sbcl-devel 2009-10-12.
  • [DH] NEWS
  • [DH] src/compiler/x86-64/float.lisp
  • [DH] src/compiler/x86-64/insts.lisp
  • [DH] version.lisp-expr
 

SBCL Commits1.0.36.30: print_generation_stats even if heap exhaustion happens during allocation (Nikodemus Siivola)

1.0.36.30: print_generation_stats even if heap exhaustion happens during allocation

 Ditto for various GC control variables. Handling heap exhaustion is
 tricky enough that puking more information is better than less.
  • [DH] src/runtime/gencgc.c
  • [DH] version.lisp-expr
 

March 17, 2010

SBCL Commits1.0.36.29: better Control-C signaling (Nikodemus Siivola)

1.0.36.29: better Control-C signaling

  Actually SIGNAL the SB-SYS:INTERACTIVE-INTERRUPT so that handlers
  can run.
  • [DH] NEWS
  • [DH] src/code/target-signal.lisp
  • [DH] tests/signals.impure.lisp
  • [DH] version.lisp-expr
 

SBCL Commits1.0.36.28: real LOAD-LOGICAL-PATHNAME-TRANSLATIONS (Nikodemus Siivola)

1.0.36.28: real LOAD-LOGICAL-PATHNAME-TRANSLATIONS

 * Read translations from SYS:SITE;HOST.TRANSLATIONS.NEWEST.

 Patch by Michael Weber on sbcl-devel.
  • [DH] NEWS
  • [DH] src/code/target-pathname.lisp
  • [DH] tests/pathnames.impure.lisp
  • [DH] version.lisp-expr
 

SBCL Commits1.0.36.27: less mprotect calls in GENCGC (Nikodemus Siivola)

1.0.36.27: less mprotect calls in GENCGC

 * In unprotect_oldspace(), instead of calling os_protect() for every
   page that needs unprotecting separately, call it once for every
   contiguous region of pages. (Thanks to Vitaly Mayatskikh.)

 * Replace the unprotection calls from free_oldspace() and
   copy_large_object() with asserts: unprotect_oldspace should already
   have unprotected everything of interest.
  • [DH] src/runtime/gencgc.c
  • [DH] version.lisp-expr
 

SBCL Commits1.0.36.26: bug using OF-TYPE VECTOR in LOOP (Nikodemus Siivola)

1.0.36.26: bug using OF-TYPE VECTOR in LOOP

 Case of :ELEMENT-TYPE * vs T confusion.

 Fixes launchpad bug #540186.
  • [DH] NEWS
  • [DH] src/code/loop.lisp
  • [DH] tests/loop.pure.lisp
  • [DH] version.lisp-expr
 

March 15, 2010

SBCL Commits1.0.36.25: stuff silly putty into pipe to stop ASDF-INSTALL leaking (Nikodemus Siivola)

1.0.36.25: stuff silly putty into pipe to stop ASDF-INSTALL leaking

 * ...or the moral equivalent thereof.
  • [DH] NEWS
  • [DH] contrib/asdf-install/installer.lisp
  • [DH] version.lisp-expr
 

SBCL Commits1.0.36.24: FIND/POSITION bounds checking on lists (Nikodemus Siivola)

1.0.36.24: FIND/POSITION bounds checking on lists

 * Signal an error if the list is shorter than required, and also
   check for circularity.

   Based on patch by: Jorge Tavares

   Fixes launchpad bug #452008.

 * Also add declarations for some error signaling functions used by
   sequence code so that compiler knows they never return.
  • [DH] NEWS
  • [DH] package-data-list.lisp-expr
  • [DH] src/code/seq.lisp
  • [DH] src/compiler/seqtran.lisp
  • [DH] tests/seq.pure.lisp
  • [DH] version.lisp-expr
 

March 12, 2010

SBCL Commits1.0.36.23: more consistent handling of ignored DX declarations (Nikodemus Siivola)

1.0.36.23: more consistent handling of ignored DX declarations

 * Use COMPILER-STYLE-WARN if the declaration is for an unbound
   variable or function.

 * Use COMPILER-NOTIFY is the declaration is free, but the
   var/function is bound.

 * Take care not to create an entry in *FREE-VARS* due to processing
   a DX declaration.

 Fixed launchpad bug #497321.
  • [DH] NEWS
  • [DH] src/compiler/ir1tran.lisp
  • [DH] tests/dynamic-extent.impure.lisp
  • [DH] version.lisp-expr
 

SBCL Commits1.0.36.22: bogus style-warning in DEFSTRUCT edge-case (Nikodemus Siivola)

1.0.36.22: bogus style-warning in DEFSTRUCT edge-case

 * Using initformless &AUX to specify uninitialized structure slots
   caused a bogus style-warning.

   Patch by: Adlai Chandrasekhar <Munchking@gmail.com>

 Fixed launchpad bug #528807.
  • [DH] NEWS
  • [DH] src/code/defstruct.lisp
  • [DH] tests/defstruct.impure.lisp
  • [DH] version.lisp-expr
 

SBCL Commits1.0.36.21: stricter handling of invalid backquote expressions (Nikodemus Siivola)

1.0.36.21: stricter handling of invalid backquote expressions

 Based on patch by: Stas Boukarev <stassats@gmail.com>

 Fixed launchpad bug #309093.
  • [DH] NEWS
  • [DH] src/code/backq.lisp
  • [DH] src/code/sharpm.lisp
  • [DH] tests/reader.pure.lisp
  • [DH] version.lisp-expr
 

March 11, 2010

SBCL Commits1.0.36.20: prettier WITH-COMPILATION-UNIT documentation (Nikodemus Siivola)

1.0.36.20: prettier WITH-COMPILATION-UNIT documentation

 * Adjust the docstring for the benefit of the manual, and
   teach docstrings.lisp more about parsing embedded examples.
  • [DH] doc/manual/docstrings.lisp
  • [DH] src/compiler/main.lisp
  • [DH] version.lisp-expr
 

SBCL Commits1.0.36.19: WITH-COMPILATION-UNIT :POLICY (Nikodemus Siivola)

1.0.36.19: WITH-COMPILATION-UNIT :POLICY

 * Allows binding *POLICY* and *POLICY-RESTRICTIONS*. Read the
   docstring and weep.

 * Document both RESTRICT-COMPILER-POLICY and WITH-COMPILER-POLICY in
   the manual.

 * Also make DECLARATION-INFORMATION heed *POLICY-RESTRICTIONS*.
   Based on patch by: Tobias C. Rittweiler <tcr@freebits.de>

   Fixes Launchpad bug #313337.
  • [DH] NEWS
  • [DH] contrib/sb-cltl2/env.lisp
  • [DH] contrib/sb-cltl2/tests.lisp
  • [DH] doc/manual/compiler.texinfo
  • [DH] package-data-list.lisp-expr
  • [DH] src/compiler/main.lisp
  • [DH] src/compiler/policy.lisp
  • [DH] version.lisp-expr
 

SBCL Commits1.0.36.18: remove *MERGE-SORT-TEMP-VECTOR* and *ZAP-ARRAY-DATA-TEMP* (Nikodemus Siivola)

1.0.36.18: remove *MERGE-SORT-TEMP-VECTOR* and *ZAP-ARRAY-DATA-TEMP*

 * STABLE-SORT no longer uses a pre-allocated temporary vector, but
   rather allocates it as-required.

   Based on patch by: Keith James <dev@deoxybyte.co.uk>

 * ADJUST-ARRAY no longer uses a pre-allocated temporary vector, but
   rather allocates is as-required.

 In both cases after the temporary vector is done with, it is
 truncated to 0-length to prevent garbage retention.

 Fixes Launchpad bug #496249.
  • [DH] NEWS
  • [DH] doc/internals-notes/threading-specials
  • [DH] src/code/array.lisp
  • [DH] src/code/sort.lisp
  • [DH] src/code/target-signal.lisp
  • [DH] src/code/target-thread.lisp
  • [DH] version.lisp-expr
 

SBCL Commits1.0.36.17: SB-INTROSPECT building without SB-EVAL (Nikodemus Siivola)

1.0.36.17: SB-INTROSPECT building without SB-EVAL

 Patch by: Stas Boukarev <stassats@gmail.com>

 Fixes Launchpad bug #535658.
  • [DH] NEWS
  • [DH] contrib/sb-introspect/test-driver.lisp
  • [DH] version.lisp-expr
 

March 9, 2010

SBCL Commits1.0.36.16: allocation profiling for new threads (Nikodemus Siivola)

1.0.36.16: allocation profiling for new threads

 Patch by: Leslie Polzer <polzer@gnu.org>

 Fixes Launchpad bug #472499.
  • [DH] NEWS
  • [DH] contrib/sb-sprof/sb-sprof.lisp
  • [DH] version.lisp-expr
 

March 8, 2010

SBCL Commits1.0.36.15: upgraded array element-type of unions and intersections (Nikodemus Siivola)

1.0.36.15: upgraded array element-type of unions and intersections

 * Rename EXTRACT-UPGRADED-ELEMENT-TYPE and
   EXTRACT-DECLARED-ELEMENT-TYPE ARRAY-TYPE-UPGRADED-ELEMENT-TYPE and
   ARRAY-TYPE-DECLARED-ELEMENT-TYPE, and make them work on array types
   instead of LVARs.

 * Make ARRAY-TYPE-UPGRADED-ELEMENT-TYPE able to handle general
   intersection and union types. Code by "Gustavo"
   <gugamilare@gmail.com>.

 * Make ARRAY-TYPE-DIMENSIONS-OR-GIVE-UP able to handle general
   intersection and union types.

 Fixes Launchpad bug #316078.
  • [DH] NEWS
  • [DH] package-data-list.lisp-expr
  • [DH] src/compiler/array-tran.lisp
  • [DH] src/compiler/generic/vm-tran.lisp
  • [DH] src/compiler/seqtran.lisp
  • [DH] tests/compiler.pure.lisp
  • [DH] version.lisp-expr
 

SBCL Commits1.0.36.14: better differences of numeric types (Nikodemus Siivola)

1.0.36.14: better differences of numeric types

 Handle differences of numeric types accurately in TYPE-DIFFERENCE (no
 change unless both arguments are number-types.)

 Fixes Launchpad bug #309124.
  • [DH] NEWS
  • [DH] src/code/late-type.lisp
  • [DH] tests/compiler-test-util.lisp
  • [DH] tests/compiler.pure.lisp
  • [DH] version.lisp-expr
 

April 11, 2009

BoinkmarksBenchmark results for 2009-04-11 (SBCL:x86_64 Benchmark runner on baker)

Last tested version: 1.0.27.7. Significant changes:

  • from SBCL:x86_64 revision 1.0.27.6 to 1.0.27.7:
    • 1D-ARRAYS decreased from (.044000000)s to (.04)s (-6%)
 

April 10, 2009

BoinkmarksBenchmark results for 2009-04-10 (SBCL:x86_64 Benchmark runner on baker)

Last tested version: 1.0.27.6. Significant changes:

  • from SBCL:x86_64 revision 1.0.27.5 to 1.0.27.6:
 

April 9, 2009

BoinkmarksBenchmark results for 2009-04-09 (SBCL:x86_64 Benchmark runner on baker)

Last tested version: 1.0.27.5. Significant changes:

  • from SBCL:x86_64 revision 1.0.27.4 to 1.0.27.5:
 

April 7, 2009

BoinkmarksBenchmark results for 2009-04-07 (SBCL:x86_64 Benchmark runner on baker)

Last tested version: 1.0.27.4. Significant changes:

  • from SBCL:x86_64 revision 1.0.27.3 to 1.0.27.4:
  • from SBCL:x86_64 revision 1.0.27.2 to 1.0.27.3:
 

April 5, 2009

BoinkmarksBenchmark results for 2009-04-05 (SBCL:x86_64 Benchmark runner on baker)

Last tested version: 1.0.27.2. Significant changes:

  • from SBCL:x86_64 revision 1.0.27.1 to 1.0.27.2:
    • ACKERMANN decreased from (3.521 ± .010)s to (3.218 ± .004)s (-9%)
    • BENCH-STRINGS decreased from (.6747)s to (.633 ± .002)s (-6%)
    • BIGNUM/ELEM-100-1000 decreased from (.109)s to (.100000000)s (-9%)
    • BIGNUM/ELEM-10000-1 decreased from (.06 ± .001)s to (.06)s (-10%)
    • BIGNUM/PARI-200-5 decreased from (.04 ± .001)s to (.040000000)s (-9%)
    • BOEHM-GC decreased from (1.511 ± .009)s to (1.407 ± .002)s (-7%)
    • BOYER decreased from (3.710 ± .014)s to (3.502 ± .007)s (-6%)
    • CLOS/complex-methods decreased from (2.431 ± .005)s to (2.248 ± .006)s (-8%)
    • CLOS/defclass decreased from (1.295 ± .006)s to (1.193 ± .006)s (-8%)
    • CLOS/defmethod decreased from (5.685 ± .038)s to (5.275 ± .012)s (-7%)
    • CLOS/instantiate decreased from (7.921 ± .043)s to (7.279 ± .009)s (-8%)
    • CLOS/method+after decreased from (3.279 ± .014)s to (3.073 ± .008)s (-6%)
    • CLOS/methodcalls decreased from (.957 ± .004)s to (.905 ± .002)s (-5%)
    • CLOS/simple-instantiate decreased from (.247)s to (.2)s (-6%)
    • COMPILER decreased from (2.164 ± .008)s to (1.956 ± .007)s (-10%)
    • DDERIV decreased from (.297 ± .001)s to (.267)s (-10%)
    • DESTRUCTIVE decreased from (.211 ± .002)s to (.199)s (-6%)
    • DIV2-TEST-2 decreased from (.633 ± .005)s to (.592 ± .002)s (-7%)
    • EQL-SPECIALIZED-FIB decreased from (.232 ± .001)s to (.22 ± .003)s (-7%)
    • FACTORIAL decreased from (.16 ± .002)s to (.148 ± .001)s (-7%)
    • FPRINT/PRETTY decreased from (2.589 ± .016)s to (2.428 ± .004)s (-6%)
    • FRPOLY/BIGNUM decreased from (.23 ± .003)s to (.221)s (-5%)
    • FRPOLY/FIXNUM decreased from (.29 ± .005)s to (.269 ± .001)s (-6%)
    • FRPOLY/FLOAT decreased from (.409 ± .002)s to (.387)s (-6%)
    • LOAD-FASL decreased from (.323 ± .002)s to (.301 ± .001)s (-7%)
    • MANDELBROT/DFLOAT decreased from (1.751 ± .004)s to (1.652 ± .002)s (-6%)
    • PI-ATAN decreased from (.6)s to (.541 ± .002)s (-5%)
    • PI-DECIMAL/BIG decreased from (.28 ± .004)s to (.253 ± .002)s (-8%)
    • PI-RATIOS decreased from (1.123 ± .010)s to (1.0587)s (-6%)
    • PUZZLE decreased from (.247)s to (.2)s (-6%)
    • SEARCH-SEQUENCE decreased from (.400 ± .002)s to (.373)s (-7%)
    • SUM-PERMUTATIONS decreased from (1.715 ± .009)s to (1.607 ± .006)s (-6%)
    • TRAVERSE decreased from (.90 ± .01)s to (.851 ± .004)s (-6%)
    • WALK-LIST/MESS decreased from (.03)s to (.03)s (-8%)
    • WALK-LIST/SEQ decreased from (.03)s to (.03)s (-13%)
 

March 27, 2009

BoinkmarksBenchmark results for 2009-03-27 (SBCL:x86_64 Benchmark runner on baker)

Last tested version: 1.0.27.1. Significant changes:

  • from SBCL:x86_64 revision 1.0.27 to 1.0.27.1:
    • ACKERMANN increased from (3.261 ± .024)s to (3.521 ± .010)s (+7%)
    • BENCH-STRINGS increased from (.628 ± .002)s to (.6747)s (+7%)
    • BIGNUM/ELEM-100-1000 increased from (.100000000)s to (.109)s (+9%)
    • BIGNUM/ELEM-10000-1 increased from (.06)s to (.06 ± .001)s (+8%)
    • BITVECTORS increased from (.562)s to (.607 ± .006)s (+7%)
    • BOEHM-GC increased from (1.405 ± .003)s to (1.511 ± .009)s (+7%)
    • BOYER increased from (3.524 ± .006)s to (3.710 ± .014)s (+5%)
    • CLOS/complex-methods increased from (2.161000000)s to (2.431 ± .005)s (+11%)
    • CLOS/defclass increased from (1.185 ± .001)s to (1.295 ± .006)s (+8%)
    • CLOS/defmethod increased from (5.2983 ± .0024)s to (5.685 ± .038)s (+7%)
    • CLOS/instantiate increased from (6.699 ± .007)s to (7.921 ± .043)s (+15%)
    • CLOS/methodcalls increased from (.893 ± .002)s to (.957 ± .004)s (+7%)
    • CLOS/simple-instantiate increased from (.235)s to (.247)s (+5%)
    • COMPILER increased from (1.981 ± .005)s to (2.164 ± .008)s (+8%)
    • DDERIV increased from (.273)s to (.297 ± .001)s (+8%)
    • DESTRUCTIVE increased from (.200000000)s to (.211 ± .002)s (+5%)
    • DIV2-TEST-2 increased from (.592 ± .001)s to (.633 ± .005)s (+7%)
    • EQL-SPECIALIZED-FIB increased from (.2)s to (.232 ± .001)s (+5%)
    • FACTORIAL increased from (.149)s to (.16 ± .002)s (+6%)
    • HASH-STRINGS increased from (.271)s to (.301 ± .002)s (+10%)
    • LOAD-FASL increased from (.295)s to (.323 ± .002)s (+9%)
    • MANDELBROT/DFLOAT increased from (1.655 ± .005)s to (1.751 ± .004)s (+5%)
    • PI-DECIMAL/BIG increased from (.252 ± .001)s to (.28 ± .004)s (+9%)
    • PI-RATIOS increased from (1.067 ± .001)s to (1.123 ± .010)s (+5%)
    • PUZZLE increased from (.233)s to (.247)s (+5%)
    • SEARCH-SEQUENCE increased from (.372000000)s to (.400 ± .002)s (+7%)
    • STRING-CONCAT decreased from (35.4007 ± .0337)s to (32.823 ± .068)s (-7%)
    • SUM-PERMUTATIONS increased from (1.597 ± .002)s to (1.715 ± .009)s (+7%)
    • TRAVERSE increased from (.848 ± .002)s to (.90 ± .01)s (+6%)
    • WALK-LIST/MESS increased from (.03)s to (.03)s (+8%)
    • WALK-LIST/SEQ increased from (.03)s to (.03)s (+8%)
 

March 26, 2009

BoinkmarksBenchmark results for 2009-03-26 (SBCL:x86_64 Benchmark runner on baker)

Last tested version: 1.0.27. Significant changes:

  • from SBCL:x86_64 revision 1.0.26 to 1.0.27:
    • BROWSE increased from (.239 ± .001)s to (.26 ± .01)s (+9%)
    • FFT decreased from (.06)s to (.1)s (-9%)
    • FPRINT/PRETTY increased from (2.263 ± .007)s to (2.468 ± .003)s (+8%)
    • FPRINT/UGLY increased from (.980 ± .002)s to (1.173 ± .002)s (+16%)
    • LOAD-FASL decreased from (.324 ± .001)s to (.295)s (-9%)
    • STRING-CONCAT increased from (30.7873 ± .0157)s to (35.4007 ± .0337)s (+13%)
 

March 25, 2009

BoinkmarksBenchmark results for 2009-03-25 (SBCL:x86_64 Benchmark runner on baker)

Last tested version: 1.0.26.21. Significant changes:

  • from SBCL:x86_64 revision 1.0.26.20 to 1.0.26.21:
    • BROWSE increased from (.244000000)s to (.26 ± .01)s (+7%)
    • FPRINT/PRETTY increased from (2.2253)s to (2.468 ± .006)s (+10%)
    • STRING-CONCAT increased from (30.413 ± .083)s to (35.344 ± .170)s (+14%)
 

March 23, 2009

BoinkmarksBenchmark results for 2009-03-23 (SBCL:x86_64 Benchmark runner on baker)

Last tested version: 1.0.26.20. Significant changes:

  • from SBCL:x86_64 revision 1.0.26.19 to 1.0.26.20:
  • from SBCL:x86_64 revision 1.0.26.18 to 1.0.26.19:
 



Last updated: March 19, 2010 09:33 PM