Switch branches/tags
Commits on Apr 11, 2005

    csrhodes committed Apr 11, 2005
    	How to lose friends and alienate people...
    	... actually make constant-folding failure a full warning in the
    		cross-compiler (but not the target).
    	... fix the problem this reveals on x86-64.
    	Meanwhile, "uname -p"?  Change to -m.
Commits on Apr 10, 2005
  1. make doctrings.lisp understand embedded examples better

    nikodemus committed Apr 10, 2005
     ... sufficiently well to make less of a hogwash of the FINALIZE
         documentation at any rate.
  2. improvement for the space reservation mechanism on OS X

    Brian Mastenbrook
    Brian Mastenbrook committed Apr 10, 2005
      * The C runtime is no longer relinked after running nm, which should avoid
        some cases where symbols moved when linking in the read-only space reservation
    	object. This was previously observed as segfaults in target-2 and could be worked
    	around by choosing a different C compiler.
      * Space is now reserved for each of our fixed-address spaces on OS X, currently:
          * read-only space
    	  * static space
    	  * dynamic-1 and dynamic-2 spaces
    	  * linkage table space
    	Should Apple ever decide to move the malloc heap again, none of these spaces will be picked
    	because their virtual memory ranges will have been reserved by the linker.
  3. tweak finalizers, thighten spec further

    nikodemus committed Apr 10, 2005
     * sprinkle WITHOUT-GCING around, so that we won't enter GC while
        holding the lock on finalizer store.
     * specify that finalizers run in an unpredictable dynamic scope and
        must be fully re-entrant. Add a few examples for good measure.
     * add finalizer, weak pointer, and after gc hook documentation to the

    Alexey Dejneka
    Alexey Dejneka committed Apr 10, 2005
            * Fix misc.548: weakening of (VALUES (MEMBER A B C) &OPTIONAL)
              produces (VALUES &OPTIONAL SYMBOL) with different number of
              required/optional parameters.
            * Fix DATA-VECTOR-SET-C/SIMPLE-BIT-VECTOR on Alpha-32: srl-sll
              does not clean up upper bit (found by regression tests).
Commits on Apr 9, 2005

    jsnell committed Apr 9, 2005
    	TRACE :ENCAPSULATE NIL was broken by a recent function signature
            change in the debugger internals. Fix this, and add support for
            :ENCAPSULATE NIL on x86-64.
            * Pass stream to PRINT-FRAME-CALL from ntrace.lisp.
    	* Port over some of Daniel Barlow's fixes to x86-64-assem.S from
              amd64-pthreads-branch, fix fun_end_breakpoint_guts.
            * Fixed some magic constants in the x86-64 runtime
    	* Various 64-bit cleanups, #ifdef cleanups in the runtime

    Alexey Dejneka
    Alexey Dejneka committed Apr 9, 2005
            * Constant folding of undefined function now causes full
              warning in the cross-compiler as suggested by CSR.
            * Define cross-compiler versions of all modular functions.
            * Fix a constant reference in a type specifier.
Commits on Apr 8, 2005

    csrhodes committed Apr 8, 2005
    	Fix for "Apparent memory leak in (eval '(lambda () ...))" (Kevin
    	Reid sbcl-devel 2004-02-26
    	... don't name the EVAL-TMP function.
  2. minor compiler output cleanup

    nikodemus committed Apr 8, 2005
      * when summarizing a compilation unit print the final newline
         outside the logical block.
  3. rewritten SUB-GC & finalization

    nikodemus committed Apr 8, 2005
      * last vestiges of before GC hooks have been removed.
      * after GC hooks are now left for user-code.
      * call UNSAFE-CLEAR-ROOTS before GC proper as the moral replacement
         of old before GC hooks for internal use only: on unithread SBCL
         scrub the stack and clear ctype-of cache, on threaded just scrub the
      * finalizers and after GC hooks moved outside the GC proper, with
         interrupts enabled and all threads[1] running; it is now safe to
         allocate in them as re-entry to GC is possible.
      * put a lock on the global finalizers list, as per Gabor Mellis'
         patch. Gratuitiously change the name of the selfsame global variable
         to flush out anyone diddling with it.
      * tighten the finalizer spec with a note that they may run in any
      * add a stress-test for finalizers.
     [1. Not actually tested on threaded SBCL.]
Commits on Apr 7, 2005

    csrhodes committed Apr 7, 2005
    	Maybe make two-dimensional array type testing faster.
  2. fix & share EXTERN-ALIEN-NAME logic (fixes bug #373)

    nikodemus committed Apr 7, 2005
     * move e-a-n from SB-VM to SB-SYS, and from target/vm.lisp
        to foreign.lisp.
     * move all e-a-n calls to FIND-FOREIGN-SYMBOL-IN-TABLE and
     * reader conditionalize e-a-n behaviour on :ELF and :MACH-O; explicitly
        add the relevant feature for each OS in
     * delete unused file ppc/print.lisp (duplicates ppc/show.lisp).
     * increment fasl-format number.
     note: affects all backends; tested on ppc/darwin, x86/freebsd, and
Commits on Apr 6, 2005

    telent committed Apr 6, 2005
    	Patch SLEEP to use nanosleep() and to restart the sleep if
    	interrupted e.g. by a signal, instead of returning early.  Thanks
    	to Gabor Melis (ref sbcl-help, "Oddity with make-thread and sleep")

    jsnell committed Apr 6, 2005
    	* Merge more x86-64 disassembler improvements from Lutz Euler.
              (sbcl-devel "Re: Improving the x86-64 disassembler" on
            * Bump compact-info-env-entries-bits to allow purify on images with
              large amounts of functions (sbcl-devel "purify failure when
              compact-info-env-entries-bits is too small" on 2005-03-26
              by Cyrus Harmon).
Commits on Apr 5, 2005

    csrhodes committed Apr 5, 2005
    	Patch from Thiemo Seufer / Peter van Eynde for MIPS assembly code
    	... maybe fixes stability problems.

    csrhodes committed Apr 5, 2005
    	Fix fixnum / sb!xc:fixnum xc bug (as in discussion with Bruno Haible
    	sbcl-devel 2005-03/2005-04)
    	... don't use the CL:FIXNUM type in immediate-constant-sc;
    	... write and use a test in before-xc.
Commits on Apr 4, 2005

    csrhodes committed Apr 4, 2005
    	Merge Teemu Kalvas' latest patch;
    	... add a terribly minimal test file for external-format issues
Commits on Apr 3, 2005
  1. minor rollback

    nikodemus committed Apr 3, 2005
      * don't put WITH-COMPILATION-UNIT in EVAL after all.
Commits on Apr 2, 2005

    csrhodes committed Apr 2, 2005
    	By popular request (hi Zach), make the banner inert.

    Alexey Dejneka
    Alexey Dejneka committed Apr 2, 2005
            * The 1st of April is over, so it's time to be able to build
              SBCL again: remove call of EVAL in MAKE-SAETP.
            * Define cross-versions of some modular funs.
Commits on Apr 1, 2005
  1. compiler message fixes

    nikodemus committed Apr 1, 2005
     * print "caught FOO" messages and error summaries to *ERROR-OUTPUT*,
       not to *STANDARD-OUTPUT*.
     * wrap EVAL guts in WITH-COMPILATION-UNIT so that multiple subforms
       requiring compilation have their output condenced.
     * clean up compilation summary newline handling.

    nikodemus committed Apr 1, 2005
      * print null lexenvs as #<NULL-LEXENV>, making for more compact
         backtraces. Non-null lexenvs still print as structures.
      * add TYPE-WARNING to cross-conditions for comfort, and try to
         embarrass the next one to diddle there into solving the larger

    csrhodes committed Apr 1, 2005
    	Merge (second) patch from Teemu Kalvas to reorganize the
    	encoding error restarts.

    csrhodes committed Apr 1, 2005
    	Improved startup banner, reflecting the chemical substances used
    	by Carnegie and Mellon to eliminate the competition (and also
    	by students at the university they founded with their ill-gotten
Commits on Mar 30, 2005

    jsnell committed Mar 30, 2005
    	Building a 64-bit target with a 32-bit host works again.
            * most-positive-fixnum -> sb!xc:most-positive-fixnum in
Commits on Mar 29, 2005

    Alexey Dejneka
    Alexey Dejneka committed Mar 29, 2005
            * Fix infinite looping of ALIEN-FUNCALL, compiled with (DEBUG
              3) as reported by Baughn on #lisp.
            * Replace BIT-BASH-COPY in CONCATENATE transformation for
              strings with UB8-BASH-COPY.

    jsnell committed Mar 29, 2005
    	Fix some x86-64 issues:
            * DOUBLE-FLOAT-{HIGH,LOW}-BITS on doubles stored on the stack
              had a off-by-one error on x86-64. (Discovered using Paul Dietz'
              random type propagation tester).
            * Fix a thinko in the pointer detection code of MAKE-VALID-LISP-OBJ.
              This was causing creation of invalid lispobjs under some
              rare circumstances, followed by failing GC assertions. (Discovered
              using Paul Dietz' random type propagation tester).
            * The disassembly done by the compiler if *COMPILER-TRACE-OUTPUT*
              is set was erroring out on x86-64 RIP addressing. Add a
            * Add missing case to !DEFINE-BYTE-BASHERS for a bitsize of 64.
Commits on Mar 28, 2005

    Nathan Froyd
    Nathan Froyd committed Mar 28, 2005
    	Enable faster REPLACE on declared specialized arrays.
    	Overview of necessary machinery:
    	* New %VECTOR-RAW-BITS and %SET-VECTOR-RAW-BITS functions/VOPs
    	  which automatically take into account VECTOR-DATA-OFFSET
    	  (eliminates tedium associated with previous bit-bashing code
    	   and makes things slightly faster).  It's not clear if the
    	  old %RAW-BITS and %SET-RAW-BITS functions need to remain;
    	* Generalize the old bit-bashing code to generate bit-bashers
    	  for differently sized "bytes" (1-bit, 2-bit, 4-bit, etc.);
    	* Add REPLACE transforms for most specialized array types
    	  (those with elements not larger than the word size);
    	* Replace various incantations of COPY-FROM-SYSTEM-AREA,
    	  COPY-TO-SYSTEM-AREA, BIT-BASH-COPY, etc. with their new
    	  width-aware equivalents (this accounts for the bulk of the
    	  changed files, if not the changed lines);
    	* Add systematic tests for UB*-BASH-{FILL,COPY};
    	* Add generalized SUBSEQ and COPY-SEQ transforms while we're
    	  at it (FILL would be nice to have, but is a little bit
    	  trickier to do in the general case).
    	These changes also open up the possibility of removing %BYTE-BLT
    	  from the sources.  Benefits: decrease in the number of
    	  WITHOUT-GCING forms required, less calling out to C, more of
    	  the system in Lisp, etc.  %BYTE-BLT remains in this version,
    	  but may be removed if there is sufficient support for its

    Nathan Froyd
    Nathan Froyd committed Mar 28, 2005
    	When determining the absolute pathname of an object file, make
    	  COMPILE-STEM more tolerant of object files that already exist.
    	Fix NEWS entry from last commit.  *sigh*

    Nathan Froyd
    Nathan Froyd committed Mar 28, 2005
    	Remove traces of the '--noprogrammer' option from the sources.
Commits on Mar 27, 2005

    csrhodes committed Mar 27, 2005
    	Merge mainly MISC fixes held over from pre-freeze

    Alexey Dejneka
    Alexey Dejneka committed Mar 27, 2005
            * Fix inference of the upper bound of an iteration variable.
              (reported by Rajat Datta).
            * Fix MISC.549 and similar: in cast merging in IR1
              finalization set the node derived type directly, not through
              DERIVE-NODE-TYPE, which could try to optimize code.
  3. 0.8.21:

    William Harold Newman
    William Harold Newman committed Mar 27, 2005
    	release, tagged as sbcl_0_8_21