Commits on Jul 30, 2008
  1. disable failing test in timer.impure.lisp

    nikodemus committed Jul 30, 2008
     * Has been failing intermittently on various platforms, apparently as
       long as it has been there. Log as bug #428.
  2. documentation tweaks

    nikodemus committed Jul 30, 2008
     * Mention putative buildability on Win64 in NEWS.
     * Weak hash tables are supposed to work, don't say otherwise on the
     * Tweak README: mention INSTALL first. Manual lives in doc/manual
       nowadays, INSTALL tells how to build it.
Commits on Jul 27, 2008
  1. Add NEWS entry and manual entry for SB-EXT:*MUFFLED-WARNIN…

    Richard M Kreuter committed Jul 27, 2008
Commits on Jul 22, 2008
  1. fix DEFSTRUCT compilation when init-form type is vague

    nikodemus committed Jul 22, 2008
     * Reported by Josh Morrison. Regression from the recent DEFSTRUCT
       constructor hacking.
       Slots initialized by constructor lambda-list arguments have their
       types checked, but those slots always initialized directly by the
       initform values did not -- wrap the DSD-DEFAULT in a THE.
Commits on Jul 20, 2008
  1. explain why DX value generators must end their blocks

    nikodemus committed Jul 20, 2008
     * Explanation and test-case from Alexey Dejneka -- mistakes are mine in the
     * Note about REFs to DX closures violating the rule -- which is why we cannot
       assert it right now.
     * Use DO-USES instead of DOLIST in UPDATE-UVL-LIVE-SETS.
     * Fix a stray typo in comment in USE-GOOD-FOR-DX-P.
Commits on Jul 19, 2008
  1. tweak stack allocation on x86 and x86-64

    nikodemus committed Jul 19, 2008
     * Use MAYBE-PSEUDO-ATOMIC in the LIST-OR-LIST* VOP: stack allocation
       doesn't need PA.
     * When using STACK-ALLOCATE-P parameter with ALLOCATION, also pass in
       the lowtag. This allows us to generate
       instead of
       for stack allocation & tagging.
       On x86-64 can use the same trick in the inline path for heap
       allocation as well.
  2. lift node-insertion logic from RECOGNIZE-DYNAMIC-EXTENT-LVARS

    nikodemus committed Jul 19, 2008
     * New function INSERT-NODE-BEFORE, makes the action easier to
       understand by separating out the entry/cleanup creation from the
       flow-graph hacking.
  3. ALL calls with DX arguments should end their blocks

    nikodemus committed Jul 19, 2008
     * Consider this a clarification of MAP-BLOCK-NLXES will
       miss calls that don't end their blocks.
       If let-conversion happens, as is the case most of the time, this is
       not an issue, since the LAMBDA-CALL-LEXENV will hold the lexenv
       with the cleanup.
       A :LET functional, however, should never appear in
       RECOGNIZE-DYNAMIC-EXTENT-LVARS, since let-conversion doesn't happen
       until later -- so the conditional was bogus.
       So: delete the conditional, and write a comment that points in
       the place where we depend on the block-endingness.
     * Add a FIXME note to another DX related place where we make nodes
       end their blocks, which I don't quite understand.
Commits on Jul 18, 2008
  1. DX arguments in non-let-converted local calls

    nikodemus committed Jul 18, 2008
     * When a non-let function has dynamic extent arguments, the
       combination must end its block, or stack analysis will miss the
       cleanup, and stack will be popped too soon.
Commits on Jul 16, 2008

    Richard M Kreuter committed Jul 16, 2008
    * STYLE-WARN for argument list mismatches for all already-defined
  2. Fewer STYLE-WARNINGs.

    Richard M Kreuter committed Jul 16, 2008
      so that replacing an interpreted function is always uninteresting
      when the new definition comes from the same file.
    * Monkey with source-locations so that they get created during LOAD of
      a source file when *EVALUATOR-MODE* is :INTERPRET.

    Richard M Kreuter committed Jul 16, 2008
    * Recently-renamed FUNCTION-KEYWORD-PARAMETERS did something different
      than what FUNCTION-KEYWORDS is supposed to do.  Fix
      (used indirectly by DESCRIBE, something in sb-introspect, maybe
  4. Add support for abstract namespace addresses for AF_LOCAL …

    Richard M Kreuter committed Jul 16, 2008
    * Contributed by Matthew D. Swank
Commits on Jul 11, 2008
Commits on Jul 8, 2008
  1. many STYLE-WARNING changes.

    Richard M Kreuter committed Jul 8, 2008
    * Add various subclasses of STYLE-WARNING in src/code/condition.lisp
      for most of the cases signaled around the system.  (A few style
      warnings remain SIMPLE-STYLE-WARNINGS for now.)
    * Make STYLE-WARN be like WARN (take a condition class name and
    * Change over many callers of STYLE-WARN to supply names of new
      STYLE-WARNING classes and initargs for those conditions.
    * Set the default value of SB-EXT:*MUFFLED-WARNINGS* to a type that
      includes uninteresting redefinitions of functions and methods.
Commits on Jul 7, 2008
  1. Tweak .gitignore for 2 Linux/PPC files.

    Richard M Kreuter committed Jul 7, 2008
  2. adjust address-spaces for Windows 32

    nikodemus committed Jul 7, 2008
     * Dynamic-space was too large after the last adjustment.
Commits on Jul 4, 2008
  1. adjust address-spaces for Windows 64

    nikodemus committed Jul 4, 2008
     * Thanks to John Connors if this works, blame me if it doesn't
       (untested, as I don't have a Windows box available, but reputedly
       this should be good for both Win32 and Win64.)
Commits on Jul 3, 2008
  1. Record filenames in DEBUG-SOURCEs during EVAL-WHEN, LOAD.

    Richard M Kreuter committed Jul 3, 2008
    * During EVAL-WHEN (:COMPILE-TOPLEVEL) and LOAD, record both the
      filename and the S-expression in the DEBUG-SOURCE.
    * Change clients of the DEBUG-SOURCE structure to use the new slots.
      (This also affects SLIME.)
Commits on Jun 30, 2008
  1. Fix fpu_save, fpu_restore on x86-64.

    Richard M Kreuter committed Jun 30, 2008
    * Incorrect definition lead to segfault during gencgc when gencgc_verbose>1.
  2. Sort results of APROPOS-LIST and APROPOS.

    Richard M Kreuter committed Jun 30, 2008
  3. just one POWER-OF-TWO-CEILING, thank you

    nikodemus committed Jun 30, 2008
     * We had two, of which CEIL-POWER-OF-TWO with arguments that already
       were powers of two returned the *next* power of two, and not the
       argument, whereas POWER-OF-TWO-CEILING returned the argument if
       it already was a power of two.
       As far as I can tell returning the argument is fine in those case
       in places where CEIL-POWER-OF-TWO was used, so replace it with
       POWER-OF-TWO-CEILING -- which really doesn't have to be inline.

    nikodemus committed Jun 30, 2008
     * Not that anyone seems to have missed it yet...
  5. ADJOIN with constant NIL as second argument

    nikodemus committed Jun 30, 2008
     * One more bug in TRANSFORM-LIST-ITEM-SEEK.
  6. use CAREFUL-SPECIFIER-TYPE when deriving the type COERCE

    nikodemus committed Jun 30, 2008
     * Derived type of the second argument can eg. be a MEMBER type with
       where all members are not valid type specifiers: this is a runtime
       error, not a compile-time one.
  7. more conservative arithmetic optimizations

    nikodemus committed Jun 30, 2008
     * Don't convert (op <int> <single>) to (op (float <int> <single>)
       <single) if the integer may be too large for accurate conversion.
  8. more conservative interval artihmetic

    nikodemus committed Jun 30, 2008
     * In SAFELY-BINOP, when the other argument must be coerced to single
       float, punt if it is an integer that cannot be exactly represented
       as a single float.
     * Fixes bug 420, and a whole slew of MISC failures in ansi-tests --
       including the ones that used to cause a hard crash or a hang: cvs
       up -dPC your ansi-test trees, and should huzzah!
  9. correct handling of SATISFIES types in the compiler

    nikodemus committed Jun 30, 2008
     * CTYPEP used to retur a secondary value of true in cases where the
       function in question was not foldable.
     * Slightly sleazily extent SB-C::CONSTANT-FUNCTION-CALL-P (part of
       CONSTANTP) to return the primary result of the call as the
       secondary value, so CTYPEP can use it.
     * Test-case.
Commits on Jun 29, 2008
Commits on Jun 24, 2008
  1. more string trimming fixes

    nikodemus committed Jun 24, 2008
     * 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. Implement setsid, mlockall and mlockall in sb-posix

    jsnell committed Jun 23, 2008
            * Also refactor some code
            * Patch by Travis Cross