Skip to content
Commits on Sep 26, 2006
  1. 0.9.17:

    	release, will be tagged as sbcl_0_9_17
    William Harold Newman committed Sep 26, 2006
Commits on Sep 24, 2006
  1. @jsnell

    0.9.16.46:

            Fix regressions:
    
            * Installation was broken with non-bash /bin/sh (thanks to
              Niimi Satoshi for the patch)
            * DEFAULT-EXTERNAL-FORMAT would now try to print a warning for
              an invalid external format before streams had been initialized,
              causing an infinite error loop (reported by Hannu Koivisto).
              Temporary fix is just not printing the warning, a better fix
              will wait until after the freeze.
            * Also stop autodetecting the external format from the locale
              on non-unicode builds. Having a default external format that's
              incompatible with CHARACTER doesn't seem very sensible, especially
              now that the external formats are also used for SB-ALIEN:C-STRING
              instead of just streams.
    jsnell committed Sep 24, 2006
Commits on Sep 20, 2006
  1. @jsnell

    0.9.16.45:

            Fix building with CMUCL (typo in the name of an IGNOREd variable
            in !DEFSTRUCT-WITH-ALTERNATE-METACLASS).
    jsnell committed Sep 20, 2006
  2. @jsnell

    0.9.16.44:

            Stepper tweaks:
    
            * Inhibit stepping while calling the stepper hook.
            * Make the body of STEP steppable
            * Signal a STEP-FINISHED-CONDITION when STEP returns
    jsnell committed Sep 20, 2006
  3. @jsnell

    0.9.16.43:

            Switch to using the more accurate method of determining
            *STEP-FRAME* on x86/x86-64 where SIGNAL-CONTEXT-FRAME works.
            Retain the previous kludge on non-x86, where SIGNAL-CONTEXT-FRAME
            seems to be completely broken.
    jsnell committed Sep 20, 2006
  4. @jsnell

    0.9.16.42:

            Always update TN-CURRENT-CONFLICT after the innermost loop of
            PROPAGATE-LIVE-TNS has found a match, and not just every time
            it converts a :READ conflict to a :LIVE conflict. This avoids
            useless travelsals over the tnwise global-conflicts chain, speeding
            up compilation when there are lots of global conflicts (for
            example on (DEBUG 3)). Thanks to David Lichteblau.
    jsnell committed Sep 20, 2006
  5. @jsnell

    0.9.16.41:

            More win32 fixes.  (Thanks to Yaroslav Kavenchuk: sbcl-devel
            "win32 regression" on 2006-09-18 and "merge-pathnames on
            win32" on 2006-09-19)
    
            * Double the size of the string buffers given to syscalls on
              sb-unicode, since the data is going to be in UCS-2 instead of
              some single-octet encoding
            * Fix the code for finding the system-wide sbclrc
            * Whitespace
    jsnell committed Sep 20, 2006
Commits on Sep 19, 2006
  1. @jsnell

    0.9.16.40:

    	Don't do permutation vector optimization for SLOT-VALUE on method
            parameters that are SETQd [see the test ((:setq :method-parameter)
            slot-value) in clos.impure.lisp].
    
            * WALK-METHOD-LAMBDA detects parameters whose bindings are modified,
              and returns them as a list
            * MAKE-METHOD-LAMBDA-INTERNAL adds a symbol-macrolet
              %PARAMETER-BINDING-MODIFIED with that list as a value around
              the method body
            * OPTIMIZED-SLOT-VALUE and friends no longer directly return the
              optimized form when the method is being walked, but a macro
              that expands to either the optimized or unoptimized form, based
              on %PARAMETER-BINDING-MODIFIED
            * As a side effect, SETQ-P becomes a little more accurate
    jsnell committed Sep 19, 2006
  2. @jsnell

    0.9.16.39:

            Oops, unblock interrupts while handling a single-stepper trap. Fixes
            GC deadlocks while using the stepper in Slime on a threaded
            SBCL.
    jsnell committed Sep 19, 2006
Commits on Sep 18, 2006
  1. @jsnell

    0.9.16.38:

            Rewrite the single-stepper to solve the compilation/run-time
            performance and type-inference inaccuracy problems with the old
            approach. Also make some UI improvements to the stepper.
    
            * The IR1 stage no longer instruments the code. Instead it
              only detects function call forms which should (according to
              the policy) be steppable, and records a string
              representation of those forms in the matching combination
              nodes (to be stored in the debug-info).
            * Modify the function call vops to emit some instrumentation just
              before the actual call happens. This will check either the
              symbol-value of *STEPPING* (unithreaded) or the new STEPPING
              slot of threads (multithreaded) and trap if it's true. The
              trap handler will replace the closure / fdefn that was about
              to be called with a wrapper, which will signal a stepper
              condition and then call the original function.
            * Emit a similar bit of instrumentation before any call that
              got optimized to a simple VOP. The difference is that the
              only thing that the trap handler will do is to directly
              signal the condition.
            * The necessary VOP / runtime changes have only been done on
              x86, x86-64 and ppc so far. Alpha, Mips and Sparc should
              still compile, but the stepper won't work there.
            * Remove the old single-stepper REPL, and instead integrate the
              stepper into the debugger.
            * Add STEP-OUT functionality (stop stepping temporarily,
              resuming it once the current function returns).
    jsnell committed Sep 18, 2006
  2. @csrhodes

    0.9.16.37:

    	Minor fixups
    	... fix building on x86-64 (delete some extra parens...)
    	... make funcallable-standard-objects (including generic
    		functions) properly inspectable again, after the
    		change of the superclasses' order.
    csrhodes committed Sep 18, 2006
  3. @jsnell

    0.9.16.36:

            Oops, fix minor bug introduced in .35: #+sb-unicode -> #!+sb-unicode
    jsnell committed Sep 18, 2006
Commits on Sep 17, 2006
  1. @jsnell

    0.9.16.35:

            Merge sbcl-devel "some reconstruction of win32 and others", 2006-09-10
            by Yaroslav Kavenchuk.
    
            * Replace manual external-format conversions in various SB-WIN32
              internals with alien external-formats.
            * Implement MACHINE-INSTANCE and SOFTWARE-VERSION.
    jsnell committed Sep 17, 2006
  2. 0.9.16.34:

    	Improve code generation for LOGTEST on x86.
    
    	* Use the logic the fixnum test VOPs use for emitting small TEST
    	  instructions in the LOGTEST VOPs as well;
    	* Change {ODD,EVEN}P source transforms to use LOGTEST.
    Nathan Froyd committed Sep 17, 2006
  3. 0.9.16.33:

    	Micro-optimize keyword argument parsing on x86 and x86-64.
    
    	* Change %MORE-ARG to take a negative offset, so we can perform
    	  the negation once outside the parsing loop instead of twice
    	  each time through the loop;
    	* Combine the retrieval of the keyword and its associated value
    	  into a single VOP, so we can take advantage of base+index+disp
    	  addressing.
    Nathan Froyd committed Sep 17, 2006
Commits on Sep 15, 2006
  1. 0.9.16.32: weak hash tables

      The implementation is based on cmucl's weak hash table code.
    
      * scav_vector defers scavenging of weak hash tables until ...
    
      * ... newspace scavenging at which time the deferred weak hash
        tables are scavenged according to their WEAKNESS type (this
        happens after each scan of newspace)
    
      * finally just before weak pointers are scanned (i.e. with the
        purpose of breaking them) the weak hash tables are scanned (i.e.
        the appropriate entries are removed) too.
    Gabor Melis committed Sep 15, 2006
  2. @csrhodes

    0.9.16.31:

    	Belatedly add a test for the primitive-type / intersection-type
    	confusion.
    csrhodes committed Sep 15, 2006
Commits on Sep 14, 2006
  1. @csrhodes

    0.9.16.30:

    	A couple of type-system fixups for #+sb-eval
    	... we have to have sb-eval:interpreted-function defined
    		on the host, so that the deftype for COMPILED-FUNCTION
    		does not involve any unknown types.  So
    	... make !defstruct-with-alternate-metaclass compilable by the
    		host compiler, similarly to sb-xc:defstruct.  Don't
    		quite do it properly: put a FIXME note in for posterity.
    	... move early-full-eval.lisp earlier in the build, and split
    		out the definition for compiled-function from
    		deftypes-for-target to late-deftypes-for-target (after
    		the interpreted-function class is defined)
    
    	... (declare (type compiled-function x)) should do a type check
    		for compiled-function, not for simply FUNCTION.
    	... the problem was actually in PRIMITIVE-TYPE on intersection
    		types; the computation was fairly bogus.  Make it less
    		bogus.
    
    	... also delete some stale classoid symbols.
    csrhodes committed Sep 14, 2006
Commits on Sep 13, 2006
  1. @jsnell

    0.9.16.29:

            The new timer.impure test added in 0.9.16.21 uncovered some
            completely unrelated problems in a different test. Multiple
            simultaneous FIND-SYMBOLs on the same package could cause the
            package to become corrupted in a way that would cause further
            accesses to it to loop infinitely. This seems a bit harsh.
    
    	* Remove the optimization (moving the table from which a
              symbol was found to the front of the package's table list)
              which was causing this problem. It didn't seem to have much
              of an performance effect anyway.
            * Fix the test that was accidentally triggering this bug and
              add a new test specifically for it.
    jsnell committed Sep 13, 2006
  2. 0.9.16.28:

    	Shorten pseudo-atomic sequence on x86 and x86-64.
    
    	Do this by combining *pseudo-atomic-{atomic,interrupted}* into
    	  a single variable, *pseudo-atomic-bits*, which is a fixnum
    	  bitmask where bit 0 denotes atomic-ness and bit 1 denotes
    	  interruptedness.
    	* Change genesis to initialize this variable properly (this
    	  didn't need to be done for the old variables because the
    	  allocation sequences would set them upon entrance);
    	* Modify functions and macros accessing pseudo-atomic variables
    	  to reflect the new state of the world;
    Nathan Froyd committed Sep 13, 2006
  3. @jsnell

    0.9.16.27:

            Add an interpreting EVAL, for cases where the compiler is
            unsuitable due to e.g. compilation overhead.
    
            * The old EVAL is still the default. To use the new one,
              (SETF SB-EXT:*EVALUATOR-MODE* :INTERPRET).
    
              Making the interpreter the default might be the purer
              choice, since there's a standard way of ensuring that code
              is compiled, and no standard way of ensuring that it's
              not. On the other hand, there are practical reasons for
              keeping the compiler as the default. The interpreter is very
              slow, doesn't have proper debugger support (either for
              backtraces or inspecting frames), and it doesn't have
              stepper support.
    
            * The interpreter doesn't treat THE or type declarations for
              lexical variables as assertions. The regression tests that
              assume otherwise have been disabled when running in
              interpreted mode. The intepreter will however type-check the
              proclaimed types of specials.
    jsnell committed Sep 13, 2006
Commits on Sep 12, 2006
  1. 0.9.16.26:

    	memory crutch for middle-aged maintainers: repeated NS's
    		explanation in 0.9.16.25 commit message as comment
    		above the change
    William Harold Newman committed Sep 12, 2006
  2. @nikodemus

    0.9.16.25: build fix for CMUCL and older SBCLs

     * Not all lisps are happy about SETF-compiler macros: CMUCL 19 does not accept
       them at all, and older SBCL's give a full warning.
    nikodemus committed Sep 12, 2006
Commits on Sep 11, 2006
  1. @nikodemus

    0.9.16.24: (SETF INFO) compiler macro enabled

     * Since we now support SETF compiler-macros. Unfortunately the
       definition comes too late to affect large parts of SBCL -- but the
       same applies to the venerable compiler-macro for INFO.
     * Use KEYWORDP instead of CONSTANTP in these macros, as that (or
       self-evaluating-p) is what is actually ment -- no EVAL or
       CONSTANT-FORM-VALUE in sight.
    nikodemus committed Sep 11, 2006
Commits on Sep 9, 2006
  1. @jsnell

    0.9.16.23:

    	One more simple-base-string -> simple-string substitution in
            the pathname code (pointed out by Yaroslav Kavenchuk on
            sbcl-devel).
    jsnell committed Sep 9, 2006
Commits on Sep 8, 2006
  1. 0.9.16.22:

    	logged bug
    	tiny comment typo fix
    William Harold Newman committed Sep 8, 2006
Commits on Sep 7, 2006
  1. @nikodemus

    0.9.16.21: small fixes and cleanups

     * timers expiring in dead thread no longer cause a TYPE-ERROR.
       Reported by Paul "Nonny Mouse" on sbcl-devel.
     * ASDF-INSTALL uses GNU tar on Solaris. From patch by Josip Gracin.
     * Unnecessary conditional in RUN-PROGRAM on Win32. Reported by Yaroslav
       Kavenchuck.
     * Use cut from index 1, not 0 in find-gnumake.sh. Reported by Harald
       Hanche-Olsen.
    nikodemus committed Sep 7, 2006
  2. @jsnell

    0.9.16.20:

    	Some win32 cleanups (patch by Jack Unrue on sbcl-devel, 2006-08-31).
    
            * Replace remaining calls to perror() with fprintf(stderr, ...,
              GetLastError()) since errno is not set by Win32 API calls.
            * Disable debug output from os_map().
    jsnell committed Sep 7, 2006
  3. @jsnell

    0.9.16.19:

    	Add special-case for SB-INT:FIND-UNDELETED-PACKAGE-OR-LOSE in the
            fop-compiler, to make it use a FOP-PACKAGE fop instead of a
            longer FOP-FUNCALL sequence. (Patch by Alastair Bridgewater,
            sbcl-devel "Small fopcompiler hack" on 2006-08-22).
    jsnell committed Sep 7, 2006
  4. @jsnell

    0.9.16.18:

    	Fix installation into directories with spaces (reported by Edi
    	Weitz on sbcl-help).
    jsnell committed Sep 7, 2006
Commits on Sep 6, 2006
  1. @jsnell

    0.9.16.17:

    	Support for external formats in SB-ALIEN. The C-STRING alien-type
            specifier now accepts :EXTERNAL-FORMAT and :ELEMENT-TYPE parameters.
            This is a slightly incompatible change: to get the behaviour of
            the old C-STRING alien-type, use (C-STRING :EXTERNAL-FORMAT :ASCII
            :ELEMENT-TYPE BASE-CHAR).
    
            Thanks to Yaroslav Kavenchuk for doing most of the work on this.
    
            * Also add support for non-ascii pathnames
            * Add some recent CONTRIBUTORS
            * Update INSTALL
            * Add argument quote/space escaping to RUN-PROGRAM on win32
    jsnell committed Sep 6, 2006
Commits on Sep 3, 2006
  1. @jsnell

    0.9.16.16:

            Add bsd tar support to ASDF-INSTALL (patch by "bsd1628", sbcl-devel
            "Changes to ASDf-INSTALL to support NetBSD tar" on 2006-08-04).
    jsnell committed Sep 3, 2006
Commits on Sep 2, 2006
  1. @nikodemus

    0.9.16.15: stamp down on warnings due to step instrumentation

     * CALL-NEXT-METHOD body compiled without step-instumentation.
     * Get rid of the FAST-NARROWED-EMF kludge, replace it with another
       one: in addition to INVOKE-EFFECTIVE-METHOD-FUNCTION we now also
       have INVOKE-NARROW-EFFECTIVE-METHOD-FUNCTION.
     * Test.
    nikodemus committed Sep 2, 2006
  2. @jsnell

    0.9.16.14:

            Add support for Unix98-style ptys. (thanks to Sidney Markowitz)
    jsnell committed Sep 2, 2006
Commits on Sep 1, 2006
  1. @jsnell

    0.9.16.13:

            Remove the horribly thread-unsafe globaldb caches. Both of them.
    
            * Makes single globaldb accesses significantly slower (about
              50% slowdown), but for any normal use-cases this is completely
              lost in the noise
            * Add a test
    jsnell committed Sep 1, 2006
Something went wrong with that request. Please try again.