Skip to content
Commits on Feb 9, 2011
  1. Make tags contain the release's respective release notes.

    Tags can contain values, so let's have them contain actually useful
    information.
    committed Feb 8, 2011
  2. Oops: Revert NEWS to its original state.

    I must have committed a change to NEWS by accident. Sorry, my
    bad. With this change, you should be able to test release.sh.
    committed Feb 8, 2011
  3. Use a separate branch for building / tagging the release.

    This ensures canceled builds/releases don't leave any artifacts on the
    current master branch.
    committed Feb 8, 2011
  4. Add a helpful message for absence of both git and version.lisp-expr.

    It's no problem to fake a version.lisp-expr in the absence of git, so
    let's instruct the user how to do this.
    committed Feb 8, 2011
  5. A git-only SBCL workflow

    This updates the SBCL build and release process to be more compatible
    with distributed development, specifically using git.
    
    A detailed description of what is going on here is in GIT-WORKFLOW.md.
    
    Some highlights:
    
     * Drop version.lisp-expr and branch-version.lisp-expr.
     * Auto-generate the version at build time using "git describe".
     * Update release.sh to work with git.
     * Make source-distribution.sh exclude the .git directory from tarballs.
    committed Feb 6, 2011
Commits on Jan 21, 2011
  1. 1.0.45.13: physenvanal: Treat all functions without XEPs as being D-X.

      * In order for a function to be returned or passed as a parameter,
    it must have an XEP.
    
      * Functions without XEPs, therefore, can only be called directly
    from within their lexical scope.  They are, therefore,
    dynamic-extent.
    
      * But wait, you say, they could be called from a closure that is
    not dynamic-extent, which clearly shows such an analysis to be false.
    
      * It turns out that this doesn't matter, because the non-dynamic-
    extent closure also has to close over the variables passed to the
    supposedly-dynamic-extent closure, and that will cause explicit
    value-cells to be allocated anyway.
    
      * So, it's a bit of an abuse to say that the functions have dynamic
    extent, but it does no harm (and quite a bit of good) to treat them
    as if they do.
    Alastair Bridgewater committed Jan 21, 2011
  2. 1.0.45.12: remove spurious reference to ${make_flags} in grovel-featu…

    …res.sh
    Cyrus Harmon committed Jan 21, 2011
  3. 1.0.45.10: tools-for-build/Makefile path fixes

     * make include rules non-breaking and use path relative to the path
       setup via -I (src/runtime). This should fix things such that both
       clean.sh and make.sh should now work.
    Cyrus Harmon committed Jan 21, 2011
Commits on Jan 20, 2011
  1. 1.0.45.9: fix building on recent linux

     * Recent linux changes caused waitpid foreign symbol to go away so add it to
       undefineds and ldso-stubs
     * Recent linux linker default flags changes (--as-needed?) caused dlopen and
       friends to not be found at link time. Fix the tools-for-build/Makefile
       to pick up the build options from Config and fix grovel-features.sh to
       put the libs in LDLIBS instead of LDFLAGS
    Cyrus Harmon committed Jan 20, 2011
  2. 1.0.45.8: fix os_vm_page_size on freebsd, openbsd and osf1

     * use BACKEND_PAGE_BYTES instead of getpagesize() to match change to
       backend-parms in 1.0.45.7
    Cyrus Harmon committed Jan 20, 2011
Commits on Jan 19, 2011
  1. 1.0.45.7: set *backend-page-bytes* to 32KB

    * Setting *backend-page-bytes* to 32KB.  I did test runs with
    different *backend-page-bytes* values and 32KB clearly came out on top
    performance-wise.  It also delays (not avoids) the problem of running
    out of maximum mappings allowed by current kernel settings.
    cracauer committed Jan 19, 2011
  2. 1.0.45.5: life: fix slow compile.

    * Committing a patch I once got from Nikodemus.  Without it my toy
    takes more than a week to compile.  I've been using this since
    November in production, seems to work well.  Should probably have made
    it into 1.0.44.28.
    
    ;;; FASTP is a KLUDGE: SBCL used to update the current-conflict only
    ;;; for the read-only case, but switched at one point to always
    ;;; updating it. This generally speeds up the compiler nicely, but
    ;;; sometimes it causes an infinite loop in the updating machinery,
    ;;; We cheat by switching of the fast path if it seems we're looping
    ;;; longer then expected.
    cracauer committed Jan 19, 2011
  3. 1.0.45.5: life: Propagate implicit value cells through tail-calls.

      * When setting up "environment tn conflicts", recurse through
    callee environments when processing a block that ends in a tail
    local combination and a TN that represents an "implicit" value
    cell.
    
      * This closes the hole where a tail-local-call would replace
    the stack frame which allocated a closed-over lambda-var, but
    the inbound stack frame didn't know about the storage for the
    variable, leading to badness.  Hopefully the last bug with the
    dynamic-extent closure representation changes.
    
      * This patch fixes what 1.0.44.34 was supposed to KLUDGE
    around, and finishes fixing lp#681092 (the first half of the
    fix being 1.0.44.33).
    Alastair Bridgewater committed Jan 19, 2011
Commits on Dec 19, 2010
  1. @jsnell

    1.0.45.4: Revert 1.0.44.34

         * Caused CLX compilation to fail, added reduced test case by
           Larry Valkama.
    jsnell committed Dec 19, 2010
Commits on Dec 6, 2010
  1. @jsnell

    1.0.45.3: Whitespace cleanup

    jsnell committed Dec 6, 2010
  2. @jsnell

    1.0.45.2: A slightly better error message for malformed reader condit…

    …ional
    
         * Modified from lp#680173 by Roman Marynchak
    jsnell committed Dec 6, 2010
  3. @jsnell

    1.0.45: Disables the TRACE :ENCAPSULATE NIL test on Solaris

         * Patch by Jim Wise (lp#666885)
    jsnell committed Dec 6, 2010
  4. @jsnell
Commits on Nov 27, 2010
  1. @csrhodes

    1.0.44.36: test case for bug #681092

    From the bug report.  Also remove needless quotes in some test names.
    csrhodes committed Nov 27, 2010
  2. 1.0.44.35: Use DX-FLET instead of FLET in WITHOUT-{INTERRUPTS,GCING}.

      * With the local functions declared to be DYNAMIC-EXTENT, the
    new d-x closure analysis can elide the value cells involved
    entirely.
    
      * This fixes lp#674458 (introduced in 1.0.44.16).
    Alastair Bridgewater committed Nov 27, 2010
  3. 1.0.44.34: gtn: KLUDGE the lambda-var assignment to not break tail-ca…

    …lls.
    
      * As an utter KLUDGE, when assigning TNs for closed-over lambda
    variables with implicit value-cells, make the TNs component-live
    instead of physenv-live.  This prevents any possible problems with
    the new physenv introduced by a tail-call overwriting the storage
    for the variable.
    Alastair Bridgewater committed Nov 27, 2010
  4. 1.0.44.33: ir2tran: Correctly set up d-x closure values for tail-loca…

    …l-calls.
    
      * Tail-local-call re-uses the current frame.  It therefore needs to
    use the old-fp value from the current frame in EMIT-PSETQ-MOVES.
    
      * "implicit" value cells need to use the /current/ frame pointer in
    EMIT-PSETQ-MOVES to correctly initialize the closure.
    
      * Therefore: Add a new &optional argument to EMIT-PSETQ-MOVES for
    the frame-pointer to be used in closure initialization.
    
      * This fixes the obvious part of lp#681092, but unless there is a
    guarantee that the stack slots used for the "implicit" value cells
    remain unused in the tail-called function then all this does is drive
    the bug to become more subtle.
    Alastair Bridgewater committed Nov 27, 2010
Commits on Nov 19, 2010
  1. @nikodemus

    1.0.44.32: better error reporting for malformed RESTART-CASE clauses

      Detect missing lambda-lists.
    
      ...and missing -o to canonicalize-whitespace.
    nikodemus committed Nov 19, 2010
  2. @nikodemus

    1.0.44.31: fix canonicalize-whitespace

     ...missing -o from last commit.
    nikodemus committed Nov 19, 2010
  3. @nikodemus

    1.0.44.30: don't canonicalize whitespace in ASDF

      ASDF isn't that tightly coupled to SBCL anymore -- and munging
      the whitespace there just makes comparing SBCL and upstream ASDFs
      more difficult.
    nikodemus committed Nov 19, 2010
Commits on Nov 18, 2010
  1. @nikodemus

    1.0.44.29: full warnings for duplicate CASE keys during SBCL build

      ...and fix the issue revealed.
    
      Thanks to Cyrus Harmon for the heads-up.
    nikodemus committed Nov 18, 2010
  2. @nikodemus

    1.0.44.28: allow approximating unions of numeric types

     (dummy commit: change described here happened in the last commit really,
      but the commit message was subtly wrong and missed the version number)
    
     * Binding *APPROXIMATE-NUMERIC-UNIONS* does that. It must be bound
       only by callers of TYPE-UNION that know what they want -- in general
    
         (OR (INTEGER 1 2) (INTEGER 4 4)) => (INTEGER 1 4)
    
       is wrong, as (NOT (INTEGER 1 4)) doesn't include 3. But in special cases
       like deriving the return type of a function it can be done.
    
     * Rename MAKE-CANONICAL-UNION-TYPE MAKE-DERIVED-UNION-TYPE, and bind *A-N-U*
       there if we start accumulating an overly large union of numeric types.
       Definition of "overly large" can be adjusted via
       *DERIVED-NUMERIC-UNION-COMPLEXITY-LIMIT*.
    
     * Fixes lp#309448 and the recent compiler performance regression due
       to new CONCATENATE deftransform as reported on sbcl-devel.
    nikodemus committed Nov 18, 2010
  3. @nikodemus

    allow approximating unions of numeric types

     * Binding *APPROXIMATE-NUMERIC-UNIONS* does that. It must be bound
       only by callers of TYPE-UNION that know what they want -- in general
    
         (OR (INTEGER 1 2) (INTEGER 3 4)) => (INTEGER 1 4)
    
       is wrong, as (NOT (INTEGER 1 4)) doesn't include 3. But in special cases
       like deriving the return type of a function it can be done.
    
     * Rename MAKE-CANONICAL-UNION-TYPE MAKE-DERIVED-UNION-TYPE, and bind *A-N-U*
       there if we start accumulating an overly large union of numeric types.
       Definition of "overly large" can be adjusted via
       *DERIVED-NUMERIC-UNION-COMPLEXITY-LIMIT*.
    
     * Fixes lp#309448 and the recent compiler performance regression due
       to new CONCATENATE deftransform as reported on sbcl-devel.
    nikodemus committed Nov 18, 2010
  4. @nikodemus
Commits on Nov 16, 2010
  1. @nikodemus

    1.0.44.26: more nuanced deprecation framework

     DEFINE-DEPRECATED-FUNCTION is the new one-stop shop for the "common"
     case of deprecating a function in favor of another one.
    
     ...in cases where it is not sufficient, call DEPRECATION-WARNING or
     DEPRECATION-ERROR directly from the compiler or other place.
    
     Three stages: :EARLY signals a compile-time style-warning, :LATE
     signals a compile-time full warning, :FINAL a compile-time full
     warning and a run-time error.
    
     (This is based on the assumption that this is both a sufficient and
     desirably nuanced taxonomy -- if more or less is wanted, changing
     this later is easy enough.)
    
     SB-EXT:DEPRECATION-CONDITION is the base class of all deprecation
     warnings and errors, but it isn't yet documented: once we have a
     concensus of sorts on a deprecation protocol/schedule, I will write
     the appropriate bits in the manual.
    
     Everything that previously had a deprecation warning is now in :LATE
     stage, except for INSTANCE-LAMBDA which is now in :FINAL stage.
    nikodemus committed Nov 16, 2010
  2. @nikodemus

    1.0.44.25: don't put function leaves into the source-path when a name…

    … is available
    
     #<SB-C::DEFINED-FUN ...> in compiler notes is a bit hard to read, not
     to mention obscure.
    nikodemus committed Nov 16, 2010
  3. @nikodemus

    1.0.44.24: tweak CAREFUL-EXPAND-MACRO

      Don't resignal warnings and style-warnings -- aside from the CMUCL
      cross-compiler KLUDGEry. They tend to be intentionally signalled by macro
      and compiler-macro authors, and the additional wrapper-text provided by the
      resignaling mostly just obfuscates the actual message.
    
      That leaves errors (and the aforementioned KLUDGE.)
    
      For these, less parentheses, more whitespace -- specifically, leave space
      around the actual warning/error message, instead of crowding in with the
      parenthetical remarks.
    nikodemus committed Nov 16, 2010
Commits on Nov 15, 2010
  1. @nikodemus

    1.0.44.23: replace %METHOD-NAME and %METHOD-LAMBDA-LIST decls with sp…

    …ecial variables
    
      This not only simplifies PCL code, but fixes a long-standing MOP-bug
      and actually gives us SB-PCL:SLOW-METHOD frames in the backtraces.
    
      Previously a fairly trivial MAKE-METHOD-LAMBDA method was enough
      to cause
    
        (defmethod foo (x) (return-from foo t))
    
      to break, as MAKE-METHOD-LAMBDA-INTERNAL no longer found the %METHOD-NAME
      declaration in the expected place, and hence was unable to add the block
      name.
    nikodemus committed Nov 15, 2010
Commits on Nov 10, 2010
  1. @nikodemus
Something went wrong with that request. Please try again.