Commits on May 28, 2008
  1. 1.0.17: release

    	will be tagged as sbcl_1_0_17
    csrhodes committed May 28, 2008
Commits on May 26, 2008
  1. small fixes to tests

     * Remove the WITH-TIMEOUT from around the final test: it just made it
       brittle, if something caused the threads to take slightly longer.
       Add a comment about a semi-randomly broken :SCHEDULE-STRESS test in
     * Typo in ctor.impure.lisp: UPDATE-INSTANCE-FOR-REDEFINED-CLASS,
       not UPDATE-INSTANCE-FOR-REDIFINED-CLASS. (Thank to Paul Khuong)
    nikodemus committed May 26, 2008
  2. restore non-consingness of WITH-SPINLOCK

     * Move the STACK-ALLOCATE-VALUE-CELLS declarations to DX-LET, and to
       the right scope. (Free declaration.)
    nikodemus committed May 26, 2008
Commits on May 23, 2008
  1. fix stackp handling in define-cloned-fop

    	(Non-exposed bug spotted by Larry Valkama sbcl-devel 2008-04-30)
    csrhodes committed May 23, 2008
Commits on May 22, 2008
  1. test fixes

    	From Vitaly Mayatskikh (sbcl-devel 2008-05-21)
    csrhodes committed May 22, 2008
Commits on May 21, 2008
  1. Fix LOCALLY in fopcompiled context

    	Patch by Juho Snellman; gentle prodding by Attila Lendvai.
    csrhodes committed May 21, 2008
Commits on May 20, 2008
  1. target-load.lisp: simplify defaulting for pathnames with t…

    …ype NIL.
    * Simplify the logic that looks for files with suitable extensions
      when the argument pathname has NIL for a type.  The existing code
      leads to misreporting of unhandled FILE-ERRORs during LOAD.
    * Scrape out unnecessary erroring introduced around the same time as
      the flawed defaulting logic.
    Richard M Kreuter committed May 20, 2008
Commits on May 19, 2008

     * Eventually we may want to export this, but let's keep it internal
       for now...
       %SYMBOL-VALUE-IN-THREAD, and make it work with thread objects
       instead of SAPs. Also, never return the global value, but instead
       signal an error if the symbol is unbound in the thread.
     * Similarly, rename THREAD-SAP-FOR-ID to %THREAD-SAP, and make it
       work with thread objects instead of os-thread pointer values (née
       thread ids).
    nikodemus committed May 19, 2008
  2. small lisp-side interrupt handling improvements

     * In INVOKE-INTERRUPTION, disable interrupts before doing the interrupt
       handler bindings -- no point in making the window for recursive interrupts
       any bigger then it already is.
     * Similarly, ALLOW-WITH-INTERRUPTS only after the *STACK-TOP-HINT*
       has been computed. (Actually, the stack top hint computation should
       not be done for all interrupts, instead it would be better to add
       an argument to indicate we want to start from the interrupted frame
       to MAP-BACKTRACE.)
     * Declare the &REST argument of (FLET RUN-HANDLER) dynamic extent.
    nikodemus committed May 19, 2008
  3. document :CYCLE-COUNTER feature in…

     * Weaseling out from renaming it to :SB-CYCLE-COUNTER, and deferring that
       a bit: seems better to take care of all similar features that are really
       just built-time conveniences automatically inferred at the same time.
    nikodemus committed May 19, 2008
Commits on May 17, 2008
  1. fix bug #206 -- SB-FLUID build works once more

     * Thanks to Sidney Markowitz for tracking down the bad INLINE
    nikodemus committed May 17, 2008
  2. fix Windows build, hopefully

     * Make OS-ATTR part of the thread object only on threaded platforms.
    nikodemus committed May 17, 2008
  3. improved TIME output

     * Print measured times using fixed-width decimal output with the
       measured precision, instead of converting to floats for printing.
     * Report processor cycle counts on x86 and x86-64.
       ** Since Intel doesn't seem to consider it necessary to issue a
          CPUID both before and after RDTSC, maybe we don't need to do
          that either.
       ** New feature, :CYCLE-COUNTER, for platforms that implement
     * Instead of reporting %EVAL calls, report "interpreted forms", which means
       both %EVAL and SIMPLE-EVAL-IN-LEXENV.
     * Report "lambdas converted" for the compiler, not counting TL-XEPs.
     * Report CPU percentage (computed from real and run time.)
     * Report total run time separately. Condence run time output slightly
       by reporting total, user, and system on the same line.
     * Report non-GC time as well.
     * Condence output by omitting page faults, converted lambdas, and
       interpreted forms when they are zero.
    nikodemus committed May 17, 2008
Commits on May 16, 2008
  1. Remove global STACK-ALLOCATE-VALUE-CELLS proclamation in m…

    * introduced a new optimization quality to control the stack-allocation
      of value cells. All the places in the code base where it was needed now declare
      it explicitly.
    pkhuong committed May 16, 2008
  2. UNION and NUNION work with :TEST-NOT again

     * Patch by Eric Marsden. Broken at by yours truly.
    nikodemus committed May 16, 2008
Commits on May 15, 2008
  1. revert ANY-REG from registers for primitive type T on x86oids

     * While register sets for DESCRIPTOR-REG and ANY-REG are identical on
       x86 and x86-64, the compiler reasons about them a bit differently
       -- so the earlier change is wrong, and caused a regression.
     * Test-case to catch the regression, reduced from Elephant sources.
     * Record the bug the earlier change tried to address as #427.
    nikodemus committed May 15, 2008
  2. --control-stack-size runtime argument

     * Align thread spaces using the larger of BACKEND_PAGE_SIZE and
     * Take care of aligning both ends of the control stack when setting
       up the thread struct -- that way pthread_attr_setstack doesn't have
       to worry about alignment.
     * Simplify stack setup in on x86oid platforms in
       call_into_lisp_first_time: instead of having the nasty window where
       ESP/RSP is right at the end of the stack, use pull out the control
       stack end right out of the thread struct.
     * Minimal documentation.
     Not strictly related to --control-stack-size:
     * Refactor thread post mortem cleanups to share as much code as
       possible and reduce conditionalization. The core functions in the
       new world are plan_thread_post_mortem, schedule_thread_post_mortem,
       and perform_thread_post_mortem.
     * Malloc thread attributes, and destroy them before freeing thread
       stacks. (pthread_attr_setstack seems to say that we are not allowed
       to free stacks that have attributes referring to them -- hopefully
       pthread_attr_destroy gives us the licence we need, and since it is
       not entirely clear we are allowed to destroy the attr before the
       thread has finished, do it only after pthread_join.)
    nikodemus committed May 15, 2008
  3. couple of small Darwin cleanups

     * Add -lpthread os OS_LIBS on x86 builds as well, since malloc()
       may not be thread-safe without it (but with it it apparently should
     * Pass -arch x86_64 to the C compiler in when doing
       64 bit builds on Darwin, since x86 is the default there.
    nikodemus committed May 15, 2008
Commits on May 12, 2008
  1. workaround for bug 419

     * Require an explicit SB-C::STACK-ALLOCATE-VALUE-CELLS optimize
       declaration before stack allocating value cells to prevent
       returning garbage values from hairy user code.
    nikodemus committed May 12, 2008
Commits on May 11, 2008
  1. Update asdf contrib to latest upstream CVS (1.117)

    	Disables the LOAD-PREFERENCES mechanism, which could interfere
    	with SBCL builds.
    csrhodes committed May 11, 2008
Commits on May 8, 2008
  1. function-ify ERROR-CALL and GENERATE-ERROR-CODE on x86-64

     * Port of to x86-64.
    nikodemus committed May 8, 2008
  2. dx allocation thru CAST nodes

     * Allow DX allocation of LVARs thru cast nodes without type checks.
     * Since it is not obvious to me that all uses of CAST-VALUE must be
       in the same component as the cast itself, AVER that.
     * Results of MAKE-ARRAY can once more be stack allocated. Regression
       caused by different handling of TRULY-THE introducing cast nodes
       where there previously were none.
     * Tests.
    nikodemus committed May 8, 2008
  3. restore buildability on threaded x86-64

     * GENERATE-ERROR-CODE is still a macro on x86-64, so no quoting
    nikodemus committed May 8, 2008
  4. slightly more verbose errors for SB-FOO symbols in genesis

     * ...faster to fix when the error tells you what the problematic
       symbol was.
    nikodemus committed May 8, 2008
  5. type-inconsistencies in HASH-TABLE accessors

     * DEFKNOWN types did not match the slot types. Change the defknowns
       to match the DEFSTRUCT.
    nikodemus committed May 8, 2008
  6. FIXED-ALLOC to use MAYBE-PSEUDO-ATOMIC on x86 and x86-64.

     * PA is not needed with stack allocation.
     * Also rename the first argument to MAYBE-PSEUDO-ATOMIC to
       NOT-REALLY-P to avoid confusion.
    nikodemus committed May 8, 2008
  7. lose informatively when the tls is full

      Instead of eventually producing a segv or some random corruption:
      (progv (loop for i below 5000
                   collect (make-symbol (format nil "xxx~D" i)))
             (loop for i below 5000 collect i))
    Gabor Melis committed May 8, 2008
Commits on May 6, 2008

    Make it a bit less misleading about the actual treatment of
    Gabor Melis committed May 6, 2008
  2. Fixes to get clisp through host-1

    	Just a couple of ignores and code rearrangements.
    csrhodes committed May 6, 2008
Commits on May 5, 2008
  1. log bug #426: inlining failure involing multiple nested calls

     * Not a regression, but apparently of CMUCL vintage.
    nikodemus committed May 5, 2008
Commits on May 4, 2008
  1. Use declared element type in AREF short-circuit transform

    	The short-circuit transformation introduced in
    	removed the system's understanding of the declared array element
    	type (as opposed to the upgraded array element type).
    	Reintroduce the cleverness, and hope that the use of type=
    	doesn't remove all the slowdown.
    	(Issue noted by vy on #lisp afternoon 2008-05-04 BST)
    csrhodes committed May 4, 2008
  2. fix TRANSFORM-LIST-ITEM-SEEK for ADJOIN with constant list…

    … arg
     * Urk, missed a spot. There is probably little sense to open code ADJOIN
       like ASSOC and MEMBER, so let's not.
     * Tests.
    nikodemus committed May 4, 2008
Commits on Apr 29, 2008

    	Fix compiler warning.
    Thiemo Seufer committed Apr 29, 2008

     * Now that the freeze was cancelled, do this properly...
    nikodemus committed Apr 29, 2008