Switch branches/tags
Commits on Apr 19, 2005

    Alexey Dejneka committed 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).
Commits on Apr 17, 2005
  1. Fixes for OS X 10.4 "Tiger"

    Brian Mastenbrook committed Apr 17, 2005
      * 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!)

    Alexey Dejneka 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.
Commits on Apr 16, 2005

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

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

    csrhodes committed 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.
  3. "oops" -- that wasn't an optimization!

    nikodemus committed Apr 15, 2005
     * 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.

    jsnell 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.
Commits on Apr 14, 2005

    telent committed 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
  3. implement optimization #25

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

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

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

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

    bdowning committed 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
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 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 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 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
  1. trivial micro-optimization of SXHASH: remove &OPTIONAL from

    nikodemus committed 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.
  3. minor compiler output cleanup

    nikodemus committed Apr 8, 2005
      * when summarizing a compilation unit print the final newline
         outside the logical block.
  4. 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