sbcl.git
18 years agoIn aliencomp.c #+(and ppc darwin) should be #!+(and ppc darwin), which
Cyrus Harmon [Thu, 2 Mar 2006 05:21:16 +0000 (05:21 +0000)]
In aliencomp.c #+(and ppc darwin) should be #!+(and ppc darwin), which
allows ppc builds to be able to cross-compile to other
architectures. This bug was originially introduced by yours truly in
the process of bringing the VOPs in question and this call to the over
from CMUCL.

18 years ago0.9.10.9:
Christophe Rhodes [Wed, 1 Mar 2006 09:10:32 +0000 (09:10 +0000)]
0.9.10.9:
Another try at the COPY-MORE-ARGS microoptimization, which was
in fact reverted inadvertantly by the ppc/gencgc merge.
... this time, schedule the instructions by hand to try to
avoid a stall.
... (whitespace.  *sigh*.)

18 years ago0.9.10.8:
Christophe Rhodes [Tue, 28 Feb 2006 14:22:54 +0000 (14:22 +0000)]
0.9.10.8:
Maybe fix some gc problems on ppc/gencgc?
... there's a workaround for non-descriptors in descriptor
registers which was previously !GENCGC but in fact should
have been !CONSERVATIVE or possibly !PARTITIONED_REGISTERS.
... whitespace in target-char.lisp

18 years ago0.9.10.7: oops. re-version last
Nikodemus Siivola [Tue, 28 Feb 2006 05:01:20 +0000 (05:01 +0000)]
0.9.10.7: oops. re-version last

18 years ago0.9.10.6: fix non-unicode build
Nikodemus Siivola [Tue, 28 Feb 2006 04:58:55 +0000 (04:58 +0000)]
0.9.10.6: fix non-unicode build
 ...I was _sure_ I'd tested this...

18 years ago0.9.10.6:
Juho Snellman [Tue, 28 Feb 2006 04:47:50 +0000 (04:47 +0000)]
0.9.10.6:
        Restore the old behaviour of never using mmap-tricks for memory
        zeroing on Solaris/gencgc, since doing so was causing GC crashes
        on Solaris/x86.

        Also some whitespace canonicalization.

18 years ago0.9.10.5: correct CONSTANTP
Nikodemus Siivola [Mon, 27 Feb 2006 15:03:08 +0000 (15:03 +0000)]
0.9.10.5: correct CONSTANTP
 * fix thinko in interactions between PROGV & IF and add a test to catch
    it.

18 years ago0.9.10.4: better CONSTANTP
Nikodemus Siivola [Mon, 27 Feb 2006 13:12:34 +0000 (13:12 +0000)]
0.9.10.4: better CONSTANTP
 * Recognizes constant argument calls to foldable functions and also
    deals with some simple special forms like.
 * Replace a ton of EVAL calls with CONSTANT-FORM-VALUE.

18 years ago0.9.10.3: Faster function calls via constant symbols
Nikodemus Siivola [Mon, 27 Feb 2006 11:07:31 +0000 (11:07 +0000)]
0.9.10.3: Faster function calls via constant symbols
 * Compile (FUNCALL 'FOO) as (FUNCALL (SB-C::GLOBAL-FUNCTION FOO))
    which is like (FUNCALL (FUNCTION FOO)) except that inline
    functions are not expanded and the lexical functions are ignored.

18 years ago0.9.10.2:
Christophe Rhodes [Mon, 27 Feb 2006 11:02:11 +0000 (11:02 +0000)]
0.9.10.2:
Fix remaining slot name publicness in standardized classes.
... be cowardly and just rename TYPE to %TYPE, but write a
comment about why this isn't really good enough.
... now we can test for our interpretation.
... document it, too

18 years ago0.9.10.1: Unicode character names -- aka More Bloat
Nikodemus Siivola [Mon, 27 Feb 2006 05:13:29 +0000 (05:13 +0000)]
0.9.10.1: Unicode character names -- aka More Bloat
 * Make CHAR-NAME and NAME-CHAR aware of the Unicode names when building
   with :SB-UNICODE.

18 years ago0.9.10:
William Harold Newman [Mon, 27 Feb 2006 03:08:03 +0000 (03:08 +0000)]
0.9.10:
release, tagged as sbcl_0_9_10

18 years ago0.9.9.38:
Christophe Rhodes [Wed, 22 Feb 2006 12:11:26 +0000 (12:11 +0000)]
0.9.9.38:
gencgc/ppc fixups
... fix the allocator/gc on threaded builds.  Whoops.
... STACK_GROWS_DOWNARD
... in pa_alloc/gencgc/!x86, actually do the stack manipulation
more plausibly.  (Don't carefully write the value we
want to preserve past the end of the stack, for one)
... whitespace.

18 years ago0.9.9.37:
Juho Snellman [Tue, 21 Feb 2006 23:40:36 +0000 (23:40 +0000)]
0.9.9.37:
        Implement os_get_runtime_exexutable_path() on Solaris
        (patch by Daisuke Homma).

        Move the os_get_runtime_exexutable_path() FreeBSD version
        check from compile-time to runtime (patch by NIIMI Satoshi).

18 years ago0.9.9.36:
Christophe Rhodes [Tue, 21 Feb 2006 22:59:29 +0000 (22:59 +0000)]
0.9.9.36:
Merge Cyrus Harmon's 7th gencgc merge candidate
... with the addition of idempotent implementations of
arch_clear_pseudo_atomic_interrupted() for
sparc, mips, alpha and hppa.  (the last three completely
untested).
... many, many changes, most of which are documented in
doc/internals-notes/GENCGC-PORTING-NOTES

(This commit may break horribly.  Please read, please test)

18 years ago0.9.9.35:
Nathan Froyd [Fri, 17 Feb 2006 20:56:26 +0000 (20:56 +0000)]
0.9.9.35:
Eliminate calls to GENERIC-< in SUBTRACT-BIGNUM-BUFFERS{,-WITH-LEN}
  by declaring a few types.

18 years ago0.9.9.34:
Christophe Rhodes [Fri, 17 Feb 2006 17:49:36 +0000 (17:49 +0000)]
0.9.9.34:
Merge fix from Peter Van Eynde (sbcl-devel 2006-02-11 "cosmetic
room bug") for a cosmetic room bug.
... also fix a distinctly non-cosmetic scrub-control-stack bug
resulting from the same issue.  This scrubbing failure
appeared to cause heap corruption in powerpc/gencgc
test builds; I think I understand why.

The Cheney GC zeros the unused parts of the lisp control stack
after it has completed the garbage collection.  This ensures
that, if the active stack had no garbage pointers at the start
of the collection, there is no region in the entire control
stack (used or unused) which contains a garbage pointer, since
every entry has either been scavenged or zeroed.  But since by
assumption we start off with no garbage pointers, by
mathematical induction we never scavenge one, so everything is
safe.

GENCGC doesn't perform this zeroing.  (Why?)  However,
SCRUB-CONTROL-STACK does, before a GC.  This is slightly more
dangerous, because we could in fact have incomplete stack frames
        lying below the stack pointer with an entry from a previous
        iteration of the heap, but I think it's OK by the same
        reasoning as before.  Failure to zero the stack, however, does
        leave the possibility of bogus pointers open when stack frames
        are extended but not every stack slot has yet been written to.
        This wasn't so much of an issue when the stack is
        scanned conservatively and ambiguous roots caused pinning, but
        under a precise stack scanning regime disaster ensues.

18 years ago0.9.9.33:
Christophe Rhodes [Fri, 17 Feb 2006 17:32:37 +0000 (17:32 +0000)]
0.9.9.33:
Fix the gencgc verification code for raw-slot-at-end
structure layout.

18 years ago0.9.9.32:
Christophe Rhodes [Fri, 17 Feb 2006 17:15:34 +0000 (17:15 +0000)]
0.9.9.32:
Fix hideously embarrassing ppc assembly bug in reg_LRA
computation.
... no longer go wrong if bit 15 of lra is set.

(The symptoms from this have been reported many, many times:
segmentation faults in the first triggered GC.  Kevin Rosenberg
reported it first from my trawl on sbcl-devel, but I think it's
been known for longer than that.  Previously it had been
dismissed as gcc miscompilation problems, because the problem
disappeared when using a different version of gcc, for any
individual developer: in retrospect, the fact that it was our
bug after all is pretty obvious from the fact that we were never
able to characterize particular versions of gcc which were bad.)

18 years ago0.9.9.31:
Nathan Froyd [Tue, 14 Feb 2006 19:38:38 +0000 (19:38 +0000)]
0.9.9.31:
Add a declaration to GET-LATIN-BYTES to silence some efficiency
  notes.  Makes the code smaller, too.

18 years ago0.9.9.30:
Nathan Froyd [Tue, 14 Feb 2006 19:30:12 +0000 (19:30 +0000)]
0.9.9.30:
PPC micro-optimization of COPY-MORE-ARG VOP.  Use LWZU/STWU to
  avoid ADDI instructions.

18 years ago0.9.9.29
Gabor Melis [Tue, 14 Feb 2006 17:14:59 +0000 (17:14 +0000)]
0.9.9.29
  * fixed type= and csubtypep for arrays of unknown-type

18 years ago0.9.9.28:
Christophe Rhodes [Tue, 14 Feb 2006 09:27:20 +0000 (09:27 +0000)]
0.9.9.28:
Whoops.  SB-INTROSPECT is (was) using one of the symbols I
renamed in 0.9.9.27...

18 years ago0.9.9.27:
Christophe Rhodes [Mon, 13 Feb 2006 15:59:16 +0000 (15:59 +0000)]
0.9.9.27:
Fix most use of slot-names colliding with external symbols /
symbols accessible from CL-USER
... prefix most such slots by %;
... rename METHOD-COMBINATION-TYPE to -TYPE-NAME (as in AMOP
FIND-METHOD-COMBINATION)
... only the TYPE slot in SPECIALIZER left to go, which is more
complicated because in fact it's not a TYPE at all; more
like a specifier (or maybe a typeoid)

18 years ago0.9.9.26:
Christophe Rhodes [Mon, 13 Feb 2006 10:56:29 +0000 (10:56 +0000)]
0.9.9.26:
Move the Linux/ppc heap around again, in an attempt to find a space
that everyone can use...
... lichtblau on #lisp reported that his ppc mapped stuff at
#x30000000
... also some whitespace unbreakification.

18 years ago0.9.9.25:
Christophe Rhodes [Fri, 10 Feb 2006 15:02:10 +0000 (15:02 +0000)]
0.9.9.25:
Fix bug in method-metacircle/discriminating function update.
... start defining SAFE-FOO variants of method- and
generic-function- accessors, concentrating the
horribleness.  At the moment, we have separate SAFE-FOO
and EARLY-FOO logic; at some time in the future it might
be worth coalescing the two.
... test cases.  Include both Jean and Pascal's variants of the
method code, and write similar generic-function code
(which, admittedly, seemed to pass anyway).

18 years ago0.9.9.24:
Christophe Rhodes [Thu, 9 Feb 2006 10:09:18 +0000 (10:09 +0000)]
0.9.9.24:
Fix build on ppc (sb- -> sb!)

18 years agoFixed buffer overrun in resync restart for variable width external formats.
Teemu Kalvas [Wed, 8 Feb 2006 19:41:10 +0000 (19:41 +0000)]
Fixed buffer overrun in resync restart for variable width external formats.

18 years ago0.9.9.23:
Nathan Froyd [Wed, 8 Feb 2006 19:19:28 +0000 (19:19 +0000)]
0.9.9.23:
More fixes courtesy of PFD's ansi-tests:
...%LOGBITP had its arglist reversed.  Oops;
...be more proactive in declaring the types of constant arguments
   in the %LOGBITP VOPs to avoid bogosity.

18 years ago0.9.9.22:
Christophe Rhodes [Tue, 7 Feb 2006 17:55:22 +0000 (17:55 +0000)]
0.9.9.22:
PPC64 build fixes
... uname returning ppc64 should give us an SBCL_ARCH of ppc;
... move the spaces around for MORE HEAP (512Mb vs 128Mb);
... turn on linkage tables on Linux/PPC.

18 years ago0.9.9.21:
Christophe Rhodes [Tue, 7 Feb 2006 17:44:43 +0000 (17:44 +0000)]
0.9.9.21:
Make disassembly on PowerPC (at least) less hideously ugly, by
removing weird WORD #x00000000 overflowingness

18 years ago0.9.9.20:
Nathan Froyd [Tue, 7 Feb 2006 16:23:41 +0000 (16:23 +0000)]
0.9.9.20:
Oops.  Add functions for constant folding purposes and fix AVER
  in the x86 backend.  Add tests from (where else?) ansi-tests.

18 years ago0.9.9.19:
Juho Snellman [Tue, 7 Feb 2006 03:32:01 +0000 (03:32 +0000)]
0.9.9.19:
        Fix build.

18 years ago0.9.9.18:
Nathan Froyd [Tue, 7 Feb 2006 02:35:25 +0000 (02:35 +0000)]
0.9.9.18:
Introduce new vm-support-routine COMBINATION-IMPLEMENTATION-STYLE
  for letting the backend have a crack at implementing certain
  functions directly (cf. OPTIMIZATIONS, #29);
...implement a few efficient cases for PPC and x86.

18 years ago0.9.9.17:
Nathan Froyd [Tue, 7 Feb 2006 02:21:43 +0000 (02:21 +0000)]
0.9.9.17:
Unbreak the test suite by exporting SBCL_HOME from run-tests.sh.
  SB-POSIX is now found as one might expect.

18 years ago0.9.9.16:
Juho Snellman [Sun, 5 Feb 2006 23:29:15 +0000 (23:29 +0000)]
0.9.9.16:
        Fix tests that modify constant data (patch by Lutz Euler).

18 years ago0.9.9.15:
Juho Snellman [Sun, 5 Feb 2006 23:14:08 +0000 (23:14 +0000)]
0.9.9.15:
        Make some variables in the code code generated by
        ALIEN-CALLBACK-LISP-WRAPPER-LAMBDA ignorable to get rid of
        spurious warnings, as suggested by James Bielman on sbcl-devel
        "Unused variable warnings in SB-ALIEN::ALIEN-LAMBDA".

18 years ago0.9.9.14:
Juho Snellman [Sun, 5 Feb 2006 22:26:11 +0000 (22:26 +0000)]
0.9.9.14:
        Canonicalize some whitespace (the upstream version of
        asdf.lisp committed last week).

18 years ago0.9.9.13:
Juho Snellman [Sun, 5 Feb 2006 22:22:01 +0000 (22:22 +0000)]
0.9.9.13:
        Support for finding the executable path on FreeBSD. (thanks to
        NIIMI Satoshi)

18 years ago0.9.9.12:
Juho Snellman [Sun, 5 Feb 2006 22:03:00 +0000 (22:03 +0000)]
0.9.9.12:
        New SAVE-LISP-AND-DIE keyword argument :EXECUTABLE can be used
        for bundling the runtime and the core file into one executable
        binary. This feature is not currently supported on all SBCL
        platforms.  (thanks to James Bielman)

18 years ago0.9.9.11:
Christophe Rhodes [Wed, 1 Feb 2006 10:27:54 +0000 (10:27 +0000)]
0.9.9.11:
Change the way we find our asdf-based contribs, using a custom
*system-definition-search-function* rather than symlinks.
... $SBCL_HOME/systems directory can go away;
... various changes in build and install scripts.

18 years ago0.9.9.10:
Christophe Rhodes [Sun, 29 Jan 2006 22:15:26 +0000 (22:15 +0000)]
0.9.9.10:
Fix a bug in ctor optimization reported by kpreid on #lisp
... quote the ctor-initarg keys in the fallback (unoptimized)
constructor too.

18 years ago0.9.9.9:
Juho Snellman [Sun, 29 Jan 2006 22:04:14 +0000 (22:04 +0000)]
0.9.9.9:
Don't signal an error on (DOCUMENTATION 'FOO 'STRUCTURE) when
        there's no structure named 'FOO (reported by Glenn Ehrlich).

18 years ago0.9.9.8:
Alexey Dejneka [Sat, 28 Jan 2006 08:52:35 +0000 (08:52 +0000)]
0.9.9.8:
        * Merge a patch by Ivan Boldyrev fixing character code
          conversions for OCTETS-TO-STRING and STRING-TO-OCTETS.

18 years ago0.9.9.9:
Christophe Rhodes [Fri, 27 Jan 2006 22:42:55 +0000 (22:42 +0000)]
0.9.9.9:
Fix bug #399 (gwking on #lisp / paste 16110; reduced case by
NJF)
... we need to be able to derive DATA-VECTOR-REF's return type
when we have a SIMPLE-STRING, even if the array's type
isn't represented directly as an ARRAY-TYPE

18 years ago0.9.9.6:
Nathan Froyd [Fri, 27 Jan 2006 20:42:19 +0000 (20:42 +0000)]
0.9.9.6:
Place yet another obstacle in the way of version 1.0.  (bug #399)

18 years ago0.9.9.5:
Nathan Froyd [Fri, 27 Jan 2006 15:53:19 +0000 (15:53 +0000)]
0.9.9.5:
Reduce storage requirements for error trap information:
... shuffle around ANY-REG and DESCRIPTOR-REG storage classes
    to make their SC-NUMBERs small, which makes SC-OFFSETs smaller,
    which cuts down the size of SC-OFFSETs in error trap
    information from three bytes to one byte;
... saves ~250KB in core files on PPC/OS X;
... only applies to RISCy platforms, as x86oid SC-OFFSETs already
    fit into a single byte due to having a smaller number of
    registers.

Bump the fasl file version, too.

18 years ago0.9.9.4:
Andreas Fuchs [Thu, 26 Jan 2006 23:29:07 +0000 (23:29 +0000)]
0.9.9.4:
        Fix memory fault in sb-bsd-sockets:get-protocol-by-name.

        Patch by Stelian Ionescu, sbcl-devel 2006-01-22.

        * Also export unsupported-protocol condition
        * Add 3 test cases.

18 years ago0.9.9.3:
Juho Snellman [Thu, 26 Jan 2006 23:16:13 +0000 (23:16 +0000)]
0.9.9.3:
        Make the handling of errors outside WITH-TEST forms more
        robust.

18 years ago0.9.9.2:
Juho Snellman [Thu, 26 Jan 2006 23:06:04 +0000 (23:06 +0000)]
0.9.9.2:
        Test cleanups.

        * Mark some tests as expected to fail on various platforms, based
          on information from test reports on sbcl-devel
        * Disable the failing external-format test completely, since it
          was sometimes failing in unexpected ways due to WITH-TIMEOUT
          races
        * Try to avoid running TEST-BIG-BIT-VECTORS on platforms where
          the big vector doesn't fit into the dynamic space

18 years ago0.9.9.1:
Juho Snellman [Thu, 26 Jan 2006 21:51:31 +0000 (21:51 +0000)]
0.9.9.1:
        Use an opt-in strategy for SSE. By default use the base version
        of fast_bzero unconditionally. The cpuid-based detection is only
        enabled when we have reason to believe that the operating system
        supports SSE. Patch by NIIMI Satoshi.

18 years ago0.9.9:
William Harold Newman [Thu, 26 Jan 2006 19:29:11 +0000 (19:29 +0000)]
0.9.9:
release, tagged as sbcl_0_9_9

18 years ago0.9.8.48:
Juho Snellman [Sun, 22 Jan 2006 18:55:05 +0000 (18:55 +0000)]
0.9.8.48:
Disable fast_bzero_sse for FreeBSD systems with kernels that
        don't have SSE support. Patch by NIIMI Satoshi on sbcl-devel,
        "Re: upcoming sbcl-0.9.9 release".

18 years ago0.9.8.47:
Juho Snellman [Fri, 20 Jan 2006 08:34:56 +0000 (08:34 +0000)]
0.9.8.47:
        Clear the direction flag on Lisp -> C transitions, as
        required by the x86-64 ABI. Fixes mysterious GC crashes on
        SuSE. (reported by Andrej Grozin and Hendrik Maryns)

18 years ago0.9.8.46
Rudi Schlatte [Thu, 19 Jan 2006 17:02:33 +0000 (17:02 +0000)]
0.9.8.46
    Merge patch "Charsets: latin-N, N=2,...,8" from Ivan Boldyrev,
    sbcl-devel 2006-01-17

18 years ago0.9.8.45
Rudi Schlatte [Thu, 19 Jan 2006 15:15:07 +0000 (15:15 +0000)]
0.9.8.45
  Briefly document bivalent streams.

18 years ago0.9.8.44:
Christophe Rhodes [Wed, 18 Jan 2006 12:57:46 +0000 (12:57 +0000)]
0.9.8.44:
Fix for (truename #p"/") (reported by tomppa on #lisp)

18 years ago0.9.8.43:
Christophe Rhodes [Wed, 18 Jan 2006 11:28:28 +0000 (11:28 +0000)]
0.9.8.43:
Commit patch from Luis Oliveira for alignment on #!+win32

18 years ago0.9.8.42:
Christophe Rhodes [Mon, 16 Jan 2006 15:39:57 +0000 (15:39 +0000)]
0.9.8.42:
Merge "first round of i/o fixes" (sbcl-devel 2006-01-13
from James Bielman)
... some extended horribleness, mostly isolated horribleness.

18 years ago0.9.8.41:
Christophe Rhodes [Mon, 16 Jan 2006 15:10:24 +0000 (15:10 +0000)]
0.9.8.41:
Fix the mop/sb-posix/interface.pure.lisp/PCL metacircularity
problem.
... treat GF-DFUN-STATE and (SETF GF-DFUN-STATE) specially.
... thanks to everyone who thought very hard about it!
... also make interface.pure.lisp actually pure.

18 years ago0.9.8.40:
Christophe Rhodes [Mon, 16 Jan 2006 14:45:46 +0000 (14:45 +0000)]
0.9.8.40:
Merge patch from Luis Oliveira "stdcall support for alien-funcall"
sbcl-devel 2006-01-12
... factor set-fpu-word-for-{c,lisp} out from number-stack-space
manipulating vops.
... magic to adjust for calling convention.

18 years ago0.9.8.39:
Andreas Fuchs [Sat, 14 Jan 2006 20:01:07 +0000 (20:01 +0000)]
0.9.8.39:
        make sb-posix's asd file load sb-grovel with asdf

        This change should make it possible to run tests even
        if sb-grovel is not in $SBCL_HOME.

18 years ago0.9.8.38:
Juho Snellman [Fri, 13 Jan 2006 11:32:46 +0000 (11:32 +0000)]
0.9.8.38:
        Log a BUG.

18 years ago0.9.7.37:
Andreas Fuchs [Thu, 12 Jan 2006 13:26:41 +0000 (13:26 +0000)]
0.9.7.37:
        Make asdf-install use bivalent streams

        * Fix warnings and style-warnings when compiling a-i/installer.lisp:
          remove undefined variables / exported symbols *verify-gpg-signatures*
          and *safe-url-prefixes*, add a few ignored declarations.
        * Add :element-type :default to stream opening forms that need it
        * Allow sb-executable's copy-stream to deal with bivalent streams:
          Add an element-type &key argument that should be passed when copying
          bivalent streams

18 years ago0.9.8.36:
Christophe Rhodes [Thu, 12 Jan 2006 09:31:21 +0000 (09:31 +0000)]
0.9.8.36:
->pure, not ->slots[15] in purify
... independent of whether 7 clos-hash slots get deleted, this
might prevent future maintainers making the same kind of
fool of themselves as I did with my "inconsequential
modifications" error...

18 years ago0.9.8.35:
Nathan Froyd [Wed, 11 Jan 2006 21:32:19 +0000 (21:32 +0000)]
0.9.8.35:
Add getpwnam and getpwuid to SB-POSIX...
* ...in a fit of frustration ("why does this work in sb-bsd-sockets
  and the exact same thing not work here?"), remove the
  SB-POSIX-INTERNAL package and throw everything into SB-POSIX.
  No more lurking issues with packages.

18 years ago0.9.8.34:
Christophe Rhodes [Wed, 11 Jan 2006 14:28:35 +0000 (14:28 +0000)]
0.9.8.34:
Merge patch from nyef for load-shared-object on win32.
... there's a scary amount of duplication between
win32-foreign-load and foreign-load; hope some
gardening takes place at some point.
... attempt to make make-config.sh put the relevant target
features in place.

18 years ago0.9.8.33:
Christophe Rhodes [Wed, 11 Jan 2006 13:33:20 +0000 (13:33 +0000)]
0.9.8.33:
From James Bielman: dirname() for win32.

18 years ago0.9.8.32:
Christophe Rhodes [Wed, 11 Jan 2006 11:58:59 +0000 (11:58 +0000)]
0.9.8.32:
Sucks to be me.
... insert missing semicolon in win32-os.c.  Why?  Why why why?

18 years ago0.9.8.31:
Christophe Rhodes [Tue, 10 Jan 2006 17:39:28 +0000 (17:39 +0000)]
0.9.8.31:
Implement (following James Bielman) unix-access for windows.
... use access() not _access(); no, I have no idea why this
makes sense (in either direction).

18 years ago0.9.8.30:
Christophe Rhodes [Tue, 10 Jan 2006 16:17:04 +0000 (16:17 +0000)]
0.9.8.30:
Fix for --load on Win32 (patch from James Bielman)

18 years ago0.9.8.29:
Juho Snellman [Mon, 9 Jan 2006 23:13:19 +0000 (23:13 +0000)]
0.9.8.29:
        Kill a couple of obsolete x86 instructions (illegal in 64-bit
        mode).  Patch from sbcl-devel "Tidying up
        src/compiler/x86-64/insts.lisp" by Lutz Euler on 2006-01-08.

18 years ago0.9.8.28:
Juho Snellman [Mon, 9 Jan 2006 22:46:14 +0000 (22:46 +0000)]
0.9.8.28:
        Oh, the embarrassment. x86-64 was using full calls to GENERIC-< and
        GENERIC-> for (UN)SIGNED-BYTE-64-P and CHECK-(UN)SIGNED-BYTE-64.
        Fix it.

        * Conditionalize type predicate, type predicate wrapper and
          typecheckfun creation on N-WORD-BITS. Add missing 64-bit
          cases.
        * Add missing SIGNED-BYTE-64 VOPs.
        * Nuke the now-unused 32-bit VOPs.

18 years ago0.9.8.27:
Christophe Rhodes [Mon, 9 Jan 2006 13:00:17 +0000 (13:00 +0000)]
0.9.8.27:
Merge patch from James Bielman fixing self-build under Win32.
... a little bit of an accident ensued; I ran
canonicalize-whitespace on .sh files, which seemed to
work (except on wc.sh) until it scribbled all over
make.sh, confusing the shell interpreter utterly.
... the resulting files have built the system, nevertheless.

18 years ago0.9.8.26:
Christophe Rhodes [Mon, 9 Jan 2006 12:45:47 +0000 (12:45 +0000)]
0.9.8.26:
Merge patch from James Bielman fixing use of GNAME on
fast_bzero* assembly functions.

18 years ago0.9.8.25:
Christophe Rhodes [Sun, 8 Jan 2006 22:39:03 +0000 (22:39 +0000)]
0.9.8.25:
Merge patch from Luis Oliviera (sbcl-devel 2006-01-08) fixing
probe-file on Win32.

18 years ago0.9.8.24:
Juho Snellman [Sun, 8 Jan 2006 06:31:23 +0000 (06:31 +0000)]
0.9.8.24:
        It's x86-64 sign-extension time, once again. The
        SB!VM:SIGN-EXTEND VOP wasn't getting selected, causing a full
        call for every use. Luckily it's only used only for alien
        calls whose return value is declared as a signed byte of 32 or
        fewer bits.

18 years ago0.9.8.23:
Juho Snellman [Sun, 8 Jan 2006 03:06:11 +0000 (03:06 +0000)]
0.9.8.23:
        Add x86-64 support for passing alien callback parameters on the stack.

18 years ago0.9.8.22:
Juho Snellman [Sun, 8 Jan 2006 02:01:42 +0000 (02:01 +0000)]
0.9.8.22:
        Some x86-64 SAP-REF setter VOPs for floats were trying to use
        the MOVE macro on float registers, causing compile errors in
        rare circumstances. Extend x86-64 MOVE to also handle
        SINGLE-REG and DOUBLE-REG SCs.

18 years ago0.9.8.21:
Juho Snellman [Sun, 8 Jan 2006 00:59:34 +0000 (00:59 +0000)]
0.9.8.21:
        Oops.

18 years ago0.9.8.20:
Juho Snellman [Sun, 8 Jan 2006 00:33:13 +0000 (00:33 +0000)]
0.9.8.20:
        Final batch from sbcl-devel "Changes to GENCGC memory zeroing"
in 2005-12).  Use hand-coded assembly for zeroing memory in
GENCGC instead of the platform memset/bzero.

        * Use MOVNTDQ on x86-64
        * Use MOVNTDQ on x86 that supports SSE2 (basically Pentium 4 and
          newer)
        * Difference to the version posted on sbcl-devel: Do *not* use
          the MMX MOVNTQ for x86 that supports MMX but not
          SSE2. MOVNTQ apparently had very bad performance on K7
          Athlons/Durons.
        * Use REP STOSL on remaining x86.

18 years ago0.9.8.19:
Juho Snellman [Sat, 7 Jan 2006 18:53:39 +0000 (18:53 +0000)]
0.9.8.19:
        Changes to GENCGC memory zeroing behaviour that give a big
        performance boost, especially on modern processors.

        * Instead of zeroing memory by remapping memory with
          munmap/mmap at GC time, pages are just marked as needing
          zeroing and zeroed with memset when they're added to a new
          allocation region. This reduces GC latency both for the
          common and worst cases.

        * To keep the memory footprint down, clear the pages by
          remapping after major GCs (arbitrarily defined as a
          collection of generation 2 or older).  The memory freed from
          a minor GC is just going to get used again immediately , so
          releasing them back to the OS would make little sense.

        * Add a GENCGC mode (#define READ_PROTECT_FREE_PAGES) for
          catching attempts to read unallocated pages

        * See sbcl-devel "Changes to GENCGC memory zeroing" in 2005-12
          for more details and performance measurements. (Note
          that many parts of this patch have already been committed
          piecemeal over the last month, this is just the most
          significant chunk).

        * Performance effect on BSDs (which used a different zeroing
          strategy than Linux before this) is unknown.

18 years ago0.9.8.18:
Juho Snellman [Sat, 7 Jan 2006 18:22:58 +0000 (18:22 +0000)]
0.9.8.18:
        Rearrange the GENCGC "struct page" a bit to for a more compact
        memory representation. Saves memory (about 15MB on x86-64
        where the page table is large, a couple of MB on x86). Also
        a minor performance improvement thanks to cache issues.

        TODO: The size could be still improved by another 15MB on x86-64
        by defining the ill-named first_object_offset as an int
        instead of long (4 bytes less data and 4 bytes less of padding).
        The naive implementation would then limit the maximum region size
        to 4GB. Since some low bits in the field are guaranteed to be
        zero, a smart implementation could do some shifts and store even
        more data. It remains to be seen whether this would be worthwhile.

18 years ago0.9.8.17:
Christophe Rhodes [Fri, 6 Jan 2006 16:44:59 +0000 (16:44 +0000)]
0.9.8.17:
Fix a bug in ENSURE-DIRECTORIES-EXIST: merge in
*DEFAULT-PATHNAME-DEFAULTS*.
... this fix may also include a mostly-working set of pathname
functions for Win32.  Or it may not.  You have been
warned.

18 years ago0.9.8.16:
Juho Snellman [Fri, 6 Jan 2006 03:31:26 +0000 (03:31 +0000)]
0.9.8.16:
        Merge sbcl-devel "Some assembler improvements for x86-64" by
        Lutz Euler on 2006-01-05.

        Quote from the email:

          1. a reduction in core size of 190 KB due to shorter encodings
             for common forms of the MOV instruction, and
          2. for robustness, better checking of dword-sized immediate
             arguments in the assembler with respect to their implicit
             sign-extension.

18 years ago0.9.8.15:
Juho Snellman [Fri, 6 Jan 2006 02:37:06 +0000 (02:37 +0000)]
0.9.8.15:
        More with-testage. Merge sbcl-devel "[PATCH] callback tests"
        by Cyrus Harmon on 2006-01-06.

18 years ago0.9.8.14:
Juho Snellman [Fri, 6 Jan 2006 01:11:07 +0000 (01:11 +0000)]
0.9.8.14:
        Fix saving a core with callbacks on x86 and x86-64, as
        discussed on sbcl-devel "CFFI Callbacks on SBCL" on
        2005-12-31. Essentially the problem is that the address of
        #'ENTER-ALIEN-CALLBACK is hard-coded into the assembly callback
        wrappers, and the address of the function can change when
        saving a non-purified core.

        * Define a static symbol that contains #'ENTER-ALIEN-CALLBACK
          in the value slot.
        * Change the x86 / x86-64 wrappers to indirect through the
          slot.
        * Add minimal test case
        * Add a make-config.sh-detected :alien-callbacks feature

18 years ago0.9.8.13:
Gabor Melis [Thu, 5 Jan 2006 20:00:39 +0000 (20:00 +0000)]
0.9.8.13:
  * don't flood the system with GCs in the :BINDING-STACK-GC-SAFETY
    test as SLEEP totally loses track of time (really hurts on true
    multiprocessor systems)
  * log SLEEP bug

18 years ago0.9.8.12:
Gabor Melis [Thu, 5 Jan 2006 14:13:14 +0000 (14:13 +0000)]
0.9.8.12:
  * NetBSD has a different bug in SA_NODEFER, detect it (patch by
    Richard M Kreuter)

18 years ago0.9.8.11:
Gabor Melis [Thu, 5 Jan 2006 14:04:23 +0000 (14:04 +0000)]
0.9.8.11:
  * fix compiler looping on #p"" when compiled with high debug
    settings (thanks to Xophe support)
  * add the tests missed in .10

18 years ago0.9.8.10:
Gabor Melis [Thu, 5 Jan 2006 11:17:58 +0000 (11:17 +0000)]
0.9.8.10:
  * bug fix: allow non-simple string symbol names (reported by Paul
    Dietz)

18 years ago0.9.8.9:
Nathan Froyd [Wed, 4 Jan 2006 14:52:29 +0000 (14:52 +0000)]
0.9.8.9:
Merge "updated ppc callback patch and tests", Cyrus Harmon,
  sbcl-devel 2006-01-01;
* ...with a fix from Heiner Schwarte, sbcl-devel 2005-12-25.

18 years ago0.9.8.8
Rudi Schlatte [Tue, 3 Jan 2006 14:45:54 +0000 (14:45 +0000)]
0.9.8.8
Add reference to isatty() ; successful cross-build with this change

18 years ago0.9.8.7:
Christophe Rhodes [Tue, 3 Jan 2006 09:52:37 +0000 (09:52 +0000)]
0.9.8.7:
Merge "merge candidate 1" for SBCL/Win32.
... a lot done, a lot left to do.

18 years ago0.9.8.6:
Juho Snellman [Fri, 30 Dec 2005 00:21:40 +0000 (00:21 +0000)]
0.9.8.6:
        Make the count of fasl header counted strings a 32-bit value
        also on 64-bit platforms.  This ensures that a x86-64 SBCL can
        gracefully detect an error when trying to read a x86 fasl
        instead of choking on a ridiculously long counted string.

18 years ago0.9.8.5:
Juho Snellman [Thu, 29 Dec 2005 22:48:01 +0000 (22:48 +0000)]
0.9.8.5:
        Merge sbcl-devel "segmentation fault on recent FreeBSD-current"
        by NIIMI Satoshi, 2005-28-12 (with minor changes).

        Add comments to document the reasoning behind a couple of
        odd constructs in the 0.9.8.3 EQUAL changes to make them
        look less like CMUCL-style black magic.

18 years ago0.9.8.4:
Christophe Rhodes [Thu, 29 Dec 2005 16:08:31 +0000 (16:08 +0000)]
0.9.8.4:
Beginnings of a Win32 merge.
... rearrange the build scripts to use input from files rather
than <<HERE documents.
... (no other changes; just working to get the meaty changes
isolated from the fluff)

18 years ago0.9.8.3:
Juho Snellman [Wed, 28 Dec 2005 22:37:14 +0000 (22:37 +0000)]
0.9.8.3:
Make EQUAL faster (about 50% improvement for short lists on x86-64).
        As amazing as it might seem, there are actually real-world
        applications where significant time is spent in EQUAL.

        * Inline EQL in EQUAL
        * Rearrange things a bit to enable the inlining
        * Rewrite EQUAL to use a local helper function

18 years ago0.9.8.2: constraint propagation
Gabor Melis [Wed, 28 Dec 2005 13:56:23 +0000 (13:56 +0000)]
0.9.8.2: constraint propagation
  * add (EQL LAMBDA-VAR LAMBDA-VAR) constraints on BIND and CSET
  * add cast and test constraints to all eql lambda vars
  * calculate the intersection of two lambda-var types when
    encountering (IF (EQL X Y) ...) and neither X or Y is a subtype of
    the other
  * there is now only one invocation of FIND-AND-PROPAGATE-CONSTRAINTS
  * since GEN depends on IN there is no COMPUTE-BLOCK-OUT shortcut
    anymore, a full FIND-CONSTRAINTS-IN-BLOCK is done
  * for blocks whose constraints won't be recalculated after the
    prepass (see LEADING-COMPONENT-BLOCKS) do what
    USE-RESULT-CONSTRAINTS would do is done on the prepass to save
    time
  * support test constraint propagation for blocks with with multiple
    predecessors

18 years ago0.9.8.1:
Juho Snellman [Wed, 28 Dec 2005 12:39:12 +0000 (12:39 +0000)]
0.9.8.1:
        Make LDB quit on a ^D from a TTY instead of just ignoring the EOF.

        * More consistent with the normal REPL
        * The old behaviour would occasionally cause an infinite loop
          of printing the LDB prompt, trying to read input, finding that
          the tty was closed, printing the prompt again, etc.