Switch branches/tags
Commits on Apr 24, 2005
  1. 0.9.0:

    	release, tagged as sbcl_0_9_0
    William Harold Newman committed Apr 24, 2005
Commits on Apr 19, 2005

            * Changed implementation on ALLOCATE-VECTOR on X86:
            ... two VOPs: A-V-ON-HEAP and A-V-ON-STACK;
            ... choice between them is made with LTN-ANALYZEr;
            ... A-V-ON-STACK always fills vector with zeroes (fixes bug
                reported by Brian Downing).
    Alexey Dejneka committed Apr 19, 2005
Commits on Apr 17, 2005
  1. Fixes for OS X 10.4 "Tiger"

      * Binaries built on OS X 10.4 will not run on OS X 10.2.8 "Jaguar"
      * Add a . at the end of a gethostbyname test in sb-bsd-sockets to both work around a resolver bug on Tiger and robustify the test
      * Thanks to Gary Byers for the alternate sigreturn bug fix
      * Bump the upcoming version number in NEWS to 0.9.0 (woohoo!)
    Brian Mastenbrook committed Apr 17, 2005

            * As suggested by CSR, when (> SAFETY 0) allocate vector on
              stack only when it provably fits in one page.
            * Properly order *POLICY-DEPENDENT-QUALITIES*: later qualities
              may refer earlier.
    Alexey Dejneka committed Apr 17, 2005
Commits on Apr 16, 2005

    	Merge patch (from Wendall Marvel) for unchecked method group
    	when there is a single group with pattern *
    csrhodes committed Apr 16, 2005

            * On X86 simple forms of MAKE-ARRAY can allocate result on
            ... ALLOCATE-VECTOR is now a VOP on X86.
    Alexey Dejneka committed Apr 16, 2005
Commits on Apr 15, 2005

    	Merge patch (Zach Beane sbcl-devel 2005-04-13) for redefining
    	classes whose previous definition had an accessor which collided
    	with a function.
    csrhodes committed Apr 15, 2005

    	Fix bug reported by Cyrus Harmon sbcl-devel 2005-04-14
    	... remove AVER CLASS and AVER BUILT-IN-TYPE, because those
    		can be tickled by wrong but well-intentioned user code.
    csrhodes committed Apr 15, 2005
  3. "oops" -- that wasn't an optimization!

     * don't transform EQL to EQ if either argument is known to
        be a fixnum, as we have backend magic to deal with that. The
        effect of the previous "improvement" was rather horrible
        for bignums. Still apply the transform if the fixnumness is
        in question.
    nikodemus committed Apr 15, 2005

    	Fix bug in scoping of free special declarations. CLHS 3.3.4:
            "The scope of free declarations specifically does not include
            initialization forms for bindings established by the form
            containing the declarations."
            * Add a :BINDING-FORM-P parameter to PROCESS-DECLS. If true,
              return a list of the VARs created by PROCESS-SPECIAL-DECL
              for free bindings instead of adding them into the lexenv
            * PROCESSING-DECLS optionally uses :BINDING-FORM-P and
              binds the list to a supplied variable in the PROCESSING-DECLS
            * Calls to PROCESS-DECLS / PROCESSING-DECLS related to binding
              forms use the above changes.
            * The VAR list is threaded through a bunch of IR1 lambda
              translation utility functions, all of which sooner or later
              end up calling IR1-CONVERT-AUX-BINDINGS.
            * Before IR1-CONVERT-AUX-BINDINGS converts the body, add the
              variables in the list to the lexenv.
    jsnell committed Apr 15, 2005
Commits on Apr 14, 2005

    	Various cleanup to remove (a) code used only in the pre-futex
    	queue system, (b) some threading code copied blindly from
    	the x86 backend to x86-64 but is unlikely ever to actually
    	work there
    telent committed Apr 14, 2005

    	Add TRACE-FILE to the allowed options in build-order.lisp-expr.
    	This causes a foo.trace file to be emitted containing grungey
    	VOP/template/assembly/etc information which may help when
    	debugging a backend
    telent committed Apr 14, 2005
  3. implement optimization #25

     * transform EQL to EQ when at least other argument is known to be
    nikodemus committed Apr 14, 2005
  4. fix bug 211e

     * mark duplicate keyword arguments as ignored in CONVERT-MORE-CALL.
    nikodemus committed Apr 14, 2005
Commits on Apr 13, 2005
  1. fix bug 305

     * annotate the inline/notinline fun with type-restrictions from the
    nikodemus committed Apr 13, 2005
  2. TRACE :ENCAPSULATE NIL broken on ppc/darwin

     * record bug.
     * add test-case for other platform.
     * test normal trace for good measure.
    nikodemus committed Apr 13, 2005
Commits on Apr 12, 2005

            PPC allocate-vector fix, plus OpenMCL buildability ...
            ... write a 0 at the end of the allocated vector to ensure
                all of its pages are unprotected.  Otherwise if one is
                passed off to C (by READ-N-BYTES for example) the GC
                trigger can be hit in foreign code.  (Compare to SPARC)
            ... revert "#+cmu #+cmu a b" back to "#+cmu a #+cmu b",
                as OpenMCL and ACL's readers have buggy implementations
                of CLHS
    bdowning committed Apr 12, 2005
Commits on 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.
    csrhodes committed Apr 11, 2005
Commits on Apr 10, 2005
  1. make doctrings.lisp understand embedded examples better

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

      * 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.
    Brian Mastenbrook committed Apr 10, 2005
  3. tweak finalizers, thighten spec further

     * 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
    nikodemus 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).
    Alexey Dejneka committed Apr 10, 2005
Commits on 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
    jsnell 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.
    Alexey Dejneka committed Apr 9, 2005
Commits on Apr 8, 2005
  1. trivial micro-optimization of SXHASH: remove &OPTIONAL from

    nikodemus 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.
    csrhodes committed Apr 8, 2005
  3. minor compiler output cleanup

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

      * 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.]
    nikodemus committed Apr 8, 2005
Commits on Apr 7, 2005

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

     * 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
    nikodemus committed Apr 7, 2005
Commits on 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")
    telent 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).
    jsnell committed Apr 6, 2005
Commits on 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.
    csrhodes committed Apr 5, 2005