Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Jun 29, 2008
  1. @jsnell
Commits on Jun 24, 2008
  1. @nikodemus

    1.0.17.42: more string trimming fixes

    nikodemus authored
     * Return value in the no-op case for non-simple-strings must not be
       the underlying simple string object.
    
     * Correct return type (per spec) for STRING-TRIM &co is
       STRING-DESIGNATOR, but as long as we take care, we can make it
       STRING -- but the old SIMPLE-STRING is still wrong.
    
     * Instead of making WITH-STRING a full-blown Evil Macro, just use
       WITH-ARRAY-DATA at the call site.
    
     * Two more test-cases.
    
       patch by James Knight.
Commits on Jun 23, 2008
  1. @jsnell

    1.0.17.41: Implement setsid, mlockall and mlockall in sb-posix

    jsnell authored
            * Also refactor some code
            * Patch by Travis Cross
  2. @jsnell
Commits on Jun 17, 2008
  1. @nikodemus

    1.0.17.39: fix build on SIG_INTERRUPT_THREAD-less platforms

    nikodemus authored
     * Patch by Josh Elsasser.
  2. @csrhodes

    1.0.17.38: fix linkage-table address->symbol lookup

    csrhodes authored
    	(from Andy Hefner sbcl-devel 2008-06-11)
Commits on Jun 16, 2008
  1. @csrhodes

    1.0.17.37: better indenting of compiler diagnostic messages.

    csrhodes authored
    	(from Michael Weber sbcl-devel 2008-06-12)
  2. @csrhodes

    1.0.17.36: better pprinting of DEFPACKAGE forms.

    csrhodes authored
    	From Michael Weber (sbcl-devel 2008-06-12)
Commits on Jun 15, 2008
  1. 1.0.17.35: Bug fixes: cross-compiler's lookup of constants, recursive…

    pkhuong authored
    … escaping
    
     * Reinstate :CONSTANT-VALUE in the infodb as :XC-CONSTANT-VALUE
       during cross-compilation, since we can't override our host's
       standard constants.
    
     * Avoid recursive escaping in BLOCK-GENSYM.
  2. 1.0.17.34: Fix bug: READ-LINE did not return T for the last line of A…

    Alexey Dejneka authored
    …NSI-STREAM.
    
               Reported by Yoshinori Tahara.
Commits on Jun 11, 2008
  1. @csrhodes

    1.0.17.33: fix PRINT-OBJECT cache

    csrhodes authored
    	We mustn't compute the cached cache too early, otherwise we'll
    	cache effective methods before the actual methods (on RESTART
    	and the two storage-condition classes) are defined.
Commits on Jun 9, 2008
  1. @csrhodes

    1.0.17.32: faster ADD-METHOD to PRINT-OBJECT

    csrhodes authored
    	The basic idea here is reducing the number of functions whose
    	discriminating function and effective method cache are
    	precomputed; in particular, to reduce the number where users can
    	both legitimately define their own methods, and where a large
    	number of methods will be applicable to different classes.
    
    	The biggest culprit in both of those categories is the
    	PRINT-OBJECT generic function, which would recompute its entire
    	dispatch structure every time any method was added or removed.
    	So, turn off precomputation for names in the CL package; deal
    	with the bootstrap metacircles that that provokes; special-case
    	PRINT-OBJECT in COMPUTE-DISCRIMINATING-FUNCTION so that we can
    	always print certain critical pieces of infrastructure;
    	also, warn the user if they break our assumptions in
    	PRINT-OBJECT's specialization.
    
    	Fix one broken "how did it ever work" test.
Commits on Jun 6, 2008
  1. @nikodemus

    1.0.17.31: more constant cleverness

    nikodemus authored
     * Make MAYBE-EMIT-MAKE-LOAD-FORM can dump _all_ references to
       non-trivial named constants using the name (well, not FP constants
       for SBCL itself.)
    
       This means that after (DEFCONSTANT +FOO+ "FOO") all references to
       +FOO+ are EQ, even in different files.
    
       ...some people are going to use this as an unportable performance
       hack, and their code will break horribly sooner or later, but more
       importantly we need to grovel less things, and more sharing means
       less memory use and better cache behaviour.
    
     * Tests.
  2. @nikodemus

    1.0.17.30: STREAM-FILE-POSITION works on ANSI-STREAMs

    nikodemus authored
     * Package mismatch: ANSI-STREAM-FILE-POSITION was not exported from
       SB-KERNEL.
Commits on Jun 5, 2008
  1. @nikodemus

    1.0.17.29: fix build

    nikodemus authored
     * I'll adviced last minute deletion of LIST-TO-HASH-TABLE-THRESHOLD:
       it was also used by the fopcompiler: use XSET there as well,
       and bump up the corresponding threshold in XSET a bit.
  2. @nikodemus

    1.0.17.28: fix bug in the newfangled constant dumping scheme

    nikodemus authored
     * When MAYBE-EMIT-MAKE-LOAD-FORMS elects to use the name to dump
       something, it better use the name to refer to the _whole_ object,
       and not just a subpart...
    
     * Use XSET for niceness in there as well. ...but XSET should really
       be replaced by a sane tree-based version...
    
     * Test-case by Kevin Reid.
  3. @nikodemus

    1.0.17.27: delete aborted fasls in _all_ cases

    nikodemus authored
     * Unwinding from the compiler with a non-compiler error used to
       leave the fasl lying around.
    
     * Reported by Attila Lendvai.
Commits on Jun 4, 2008
  1. 1.0.17.26: Fix regression in LOAD

    Richard M Kreuter authored
    * Between 1.0.16 and 1.0.17 LOAD began to return NIL when the argument
      had a non-NIL type and didn't name a file.  Fixed with tests.
    
    * Additionally, writing the tests exposed an odd type restriction:
      LOAD's IF-DOES-NOT-EXIST argument was declared as having type
      (MEMBER :ERROR :CREATE NIL), but the CLHS just says it's a
      generalized boolean.
  2. @nikodemus

    1.0.17.25: allow dumping of references to arbitrary named constants

    nikodemus authored
     * While ANSI does not require us to do this, supporting this allows
       users to write code like:
    
         (unless (boundp 'f) (defconstant f (lambda () 'foo!)))
         (defun foo () f)
    
       ...which pre 1.0.17.3 SBCL also allowed.
  3. @nikodemus

    1.0.17.24: refactor handling of constants in the compiler

    nikodemus authored
     * Coalesce non-circular lists, bit-vectors, and non-base-strings in the
       file-compiler. (We could do more, but these are the "easy" ones.) Takes
       care of OPTIMIZATIONS #34 in practice: outside the file compiler one can
       still trick the system into similar behaviour, but that seems a fairly
       academic concern.
    
     * Never go through SYMBOL-VALUE at runtime to fetch the value of a constant
       variable in compiled code.
    
     * Use (SYMBOL-VALUE <NAME>) as the load-form to dump references to named
       constants into fasls.
    
     * Signal a continuable error if an attempt to change the SYMBOL-VALUE of a
       constant variable is made.
    
     * Assignments to undefined variables go through SET, so that one
       cannot accidentally modify a constant by doing something like:
    
        (defun set-foo (x) (setq foo x))
        (defconstant foo 42)
        (set-foo 13)
    
     * Gets rid of INFO :VARIABLE :CONSTANT-VALUE, and just uses SYMBOL-VALUE to
       store constant values.
    
     * Move definition of SB!XC:LAMBDA-LIST-KEYWORDS to be beginning of the build,
       and use it instead of the host LAMBDA-LIST-KEYWORDS where appropriate.
    
     * Tests.
Commits on Jun 3, 2008
  1. @nikodemus

    1.0.17.23: respect displacement indices when trimming strings (regres…

    nikodemus authored
    …sion 1.0.12.23)
    
     * Revealed by ansi-tests.
  2. @nikodemus

    1.0.17.22: respect fill-pointers when trimming strings (regression 1.…

    nikodemus authored
    …0.12.23)
    
     * Revealed by ansi-tests.
  3. @nikodemus

    1.0.17.21: LIST-FILL* return value (regression 1.0.12.16)

    nikodemus authored
     * Revealed by ansi-tests.
  4. @nikodemus

    1.0.17.20: NIL is a legal function name (regression 1.0.13.38)

    nikodemus authored
     * Revealed by ansi-tests.
Commits on Jun 2, 2008
  1. @nikodemus

    1.0.17.19: fix interpreted structure constructors (regression since 1…

    nikodemus authored
    ….0.17.4)
    
     * Add full definition for %MAKE-STRUCTURE-INSTANCE.
    
     * Test-case.
  2. @nikodemus

    1.0.17.18: handlers with non-required arguments (regression 1.0.17.8)

    nikodemus authored
     * DX-FLET doesn't currently handle non-required arguments, so don't
       use it when there are any.
    
     * Test-case.
  3. @jsnell

    1.0.17.17: Add a conservative GC workaround to string-output-streams

    jsnell authored
            * Fill the lists of buffer pointers with NIL after producing
              the string. This reduces the likelyhood of the conservative
              GC hanging on to all of the buffers at once.
  4. @jsnell

    1.0.17.16: Stop using EAI_NODATA

    jsnell authored
            * EAI_NODATA is deprecated since RFC 3493, and has now been
              removed from glibc headers. Stop using it in sb-bsd-sockets.
              Fixes Fedora Core 9 build.
  5. @jsnell

    1.0.17.15: Clean up after sb-cover tests

    jsnell authored
            * No point in having the install scripts install the html files
              produced while running tests. This was causing problems for
              some Linux distributions that require all installed files to have
              completely predictable names, whereas the test output files
              would have names that depended on the exact build directory name.
Commits on May 31, 2008
  1. @nikodemus

    1.0.17.14: slightly better LIST*

    nikodemus authored
     * Disable type-checks in full calls to LIST*, because we know the &REST
       list is a proper list.
    
     * Handle 1 argument case in the source-transform.
    
     * Add a derive-type optimizer, so we can figure out the common case
       when the return value is know to be a CONS.
Commits on May 30, 2008
  1. @nikodemus

    1.0.17.13: grab-bag of SB-SPROF enhancements

    nikodemus authored
     * Added support for wallclock profiling. (Good for noticing waits
       that do not incur run time penalties.)
    
     * Added keyword arguments :SORT-ORDER (:ASCENDING or :DESCENDING) and
       :SORT-BY (:SAMPLES or :CUMULATIVE-SAMPLES) to REPORT, defaulting to
       :DESCENDING and :SAMPLES as before. Makes eyeballing flat reports
       easier, since often cumulative samples are the ones one should pay
       attention to (esp. for :CPU and :TIME profiling.)
    
     * Added support for profiling specific threads. New default is to
       profile only the current thread when using WITH-PROFILING, and all
       threads when using START-PROFILING -- :THREADS argument to both
       WITH-PROFILING and START-PROFILING can be used to specify other
       either a specific list of threads to profile, or :ALL to profile
       all threads. (In the future we might want to add eg. :CHILDREN to
       WITH-PROFILING, etc.)
    
       ** For :CPU profiling the signal handler simply filters out the
          threads we are not profiling.
    
       ** For :ALLOC profiling, *ALLOC-SIGNAL* is now thread local, and
          the profiler frobs the global *DEFAULT-ALLOC-SIGNAL* and local
          *ALLOC-SIGNAL*s as needed. Before the runtime delivers the
          allocation SIGPROF, it sets *ALLOC-SIGNAL* to T to prevent
          problems with recursive allocation signals (seem better then
          binding it in the handler, since we cannot really bind it quite
          early enough no matter what we do.)
    
       ** For :TIME profiling, we set up a timer that uses SIGPROF and
          pthread_kill to notify threads.
    
     * Use system locking macros instead of separate WITHOUT-GCING and
       WITHOUT-INTERRUPTS for cleanliness.
    
     * Make REPORT report the correct sample/alloction interval, and list
       the threads sampled.
  2. @nikodemus

    1.0.17.12: win32 build fix

    nikodemus authored
     * ...no signals on win32. Hopefully it now works.
  3. @nikodemus

    1.0.17.11: unithread build fix

    nikodemus authored
     * Use thread_sigmask, not pthread_sigmask.
  4. @nikodemus

    1.0.17.10: correct stack alignment for alloc() calls on Darwin/x86

    nikodemus authored
     * 16 bytes at the point of call, not 16 bytes at some random-point-
       then-push-two-words.
  5. @nikodemus

    1.0.17.9: grab-bag of PCL hackery

    nikodemus authored
     * Make REAL-ADD-METHOD suck slightly less: instead of paying for
       generic dispatch for all METHOD-FOO accessors, use a single call
       to a method that gets the benefit of permutation vectors and
       returns all we want as multiple values.
    
       ...this assumes that users are not allowed to override METHOD-FOO
       accessors. My current reading of AMOP is that overriding them is
       not specified at all -- but if someone needs it, we can use
       CLASS-EQ specializer magic to make that work.
    
     * A smattering of :TEST #'EQs for PUSHNEW, MEMBER, and ADJOIN.
    
     * Global specializer tables need to be synchronized now that our
       hash-tables aren't thread safe by default anymore.
Something went wrong with that request. Please try again.