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.
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
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.
Juho Snellman [Tue, 7 Feb 2006 03:32:01 +0000 (03:32 +0000)]
0.9.9.19:
Fix build.
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.
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.
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).
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".
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).
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)
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)
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.
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.
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).
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.
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
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)
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.
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.
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.
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
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.
William Harold Newman [Thu, 26 Jan 2006 19:29:11 +0000 (19:29 +0000)]
0.9.9:
release, tagged as sbcl_0_9_9
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".
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)
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
Rudi Schlatte [Thu, 19 Jan 2006 15:15:07 +0000 (15:15 +0000)]
0.9.8.45
Briefly document bivalent streams.
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)
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
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.
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.
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.
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.
Juho Snellman [Fri, 13 Jan 2006 11:32:46 +0000 (11:32 +0000)]
0.9.8.38:
Log a BUG.
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
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...
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.
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.
Christophe Rhodes [Wed, 11 Jan 2006 13:33:20 +0000 (13:33 +0000)]
0.9.8.33:
From James Bielman: dirname() for win32.
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?
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).
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)
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.
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.
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.
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.
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.
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.
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.
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.
Juho Snellman [Sun, 8 Jan 2006 00:59:34 +0000 (00:59 +0000)]
0.9.8.21:
Oops.
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.
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.
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.
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.
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.
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.
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
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
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)
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
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)
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.
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
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.
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.
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.
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)
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
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
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.
William Harold Newman [Tue, 27 Dec 2005 17:18:54 +0000 (17:18 +0000)]
0.9.8:
release, tagged as sbcl_0_9_8
Christophe Rhodes [Thu, 22 Dec 2005 10:10:47 +0000 (10:10 +0000)]
0.9.7.35:
Document the "SYS" logical host, as required by ANSI.
Alexey Dejneka [Wed, 21 Dec 2005 13:00:49 +0000 (13:00 +0000)]
0.9.7.34:
* New bug.
Christophe Rhodes [Mon, 19 Dec 2005 10:49:33 +0000 (10:49 +0000)]
0.9.7.33:
Merge patch (Daisuke Homma sbcl-devel 2005-12-19) for stack
exhaustion on x86/SunOS.
Gabor Melis [Sat, 17 Dec 2005 22:38:17 +0000 (22:38 +0000)]
0.9.6.32:
* added support for (EQL LAMBDA-VAR LVAR) constraints
* fixed bug #233.b by paying attention to said constraints
Christophe Rhodes [Fri, 16 Dec 2005 15:06:09 +0000 (15:06 +0000)]
0.9.7.31:
Merge essentially as "Pathname goodness" from CSR sbcl-devel
2005-12-15.
... define pathname host-specific PARSE-NATIVE and
UNPARSE-NATIVE methods.
... define NATIVE-PATHNAME, NATIVE-NAMESTRING and
PARSE-NATIVE-NAMESTRING in a direct analogy with
PATHNAME, NAMESTRING and PARSE-NAMESTRING.
... use NATIVE-PATHNAME both on what POSIX-GETCWD/ returns and
on files the user has asked us to load at the command
line. (Fixes bug #296 and *DEFAULT-PATHNAME-DEFAULTS*
being wrong when a component of the current
directory contains a pathname metacharacter in
"[*?\\")
... don't create a string from --load (and --disable-debugger)
that just gets read again; instead allow
process-eval-options to deal with non-strings too.
... tease *physical-host* (the default physical host on the
platform) and *unix-host* apart ever so slightly, with
obvious knock-on benefits for ports to non-Unixoid
platforms.
... sb-posix no longer needs its own implementation of
NATIVE-FILENAME.
... delete unused UNIX-MAYBE-PREPEND-DIRECTORY.
... some tests and some documentation.
Nikodemus Siivola [Thu, 15 Dec 2005 22:08:38 +0000 (22:08 +0000)]
0.9.7.30: robustify sb-introspect when used with extended function names
...so that (find-definition-sources-by-name '(setf foo) :class) will
return NIL instead of signaling an error.
...this makes it simpler to support M-. for SETF-names in Slime.
Juho Snellman [Thu, 15 Dec 2005 20:18:09 +0000 (20:18 +0000)]
0.9.7.29:
Oops, fix cheneygc build (thanks to Jon Allen Boone).
Juho Snellman [Wed, 14 Dec 2005 03:39:23 +0000 (03:39 +0000)]
0.9.7.28:
Make MAP-ALLOCATED-OBJECTS use gencgc pagetable information to
skip over free dynamic space regions.
* More accurate ROOM results (previously all empty space up to
the fake allocation pointer would get counted as conses)
* Usually faster
* Needed for some GC work that might get committed in the future
* Genesify the GENCGC page size, while since it's now needed
in Lisp
Juho Snellman [Wed, 14 Dec 2005 02:02:11 +0000 (02:02 +0000)]
0.9.7.27:
Oops. Off-by-one in 0.9.5.68 meant that the shorter MOV instruction
wasn't getting used quite as often as possible. Use a check for
(signed-byte 32) instead of (signed-byte 31) to pick between the
C7 and B8 opcodes. Shrinks the x86-64 core by 70k.
Christophe Rhodes [Tue, 13 Dec 2005 13:56:00 +0000 (13:56 +0000)]
0.9.7.26:
Log a bug in fill-pointer streams, from tichy on sbcl-help.
Juho Snellman [Sun, 11 Dec 2005 04:23:04 +0000 (04:23 +0000)]
0.9.7.25:
Miscellanea.
* Don't return structures from FIND-DEFINITION-SOURCE-BY-NAME when
asking for classes
* Fix typo in error message for --eval '1 2' (reported by ignas
on #lisp)
* Add a couple of comments
* Add myself to the initials glossary
Thiemo Seufer [Sat, 10 Dec 2005 22:27:59 +0000 (22:27 +0000)]
0.9.7.24:
Don't flush icaches for each moved code vector when using
cheneygc, it is more efficient to do that once for the whole
dynamic space.
Christophe Rhodes [Fri, 9 Dec 2005 15:57:43 +0000 (15:57 +0000)]
0.9.7.22:
Oops II. Make (SETF CLASS-NAME) and (SETF
GENERIC-FUNCTION-NAME) return the right values.
Christophe Rhodes [Fri, 9 Dec 2005 11:02:28 +0000 (11:02 +0000)]
0.9.7.22:
Whoops. Make (setf class-name) and (setf generic-function-name)
generic functions again; AMOP may not specify it, but ANSI
does...
... also log some bugs
Christophe Rhodes [Thu, 8 Dec 2005 18:12:59 +0000 (18:12 +0000)]
0.9.7.21:
Make SB-PCL::MAP-ALL-CLASSES hit each class Once And Only Once.
Christophe Rhodes [Thu, 8 Dec 2005 17:43:45 +0000 (17:43 +0000)]
0.9.7.20:
Add documentation of the various SLOT-VALUEish optimizations
performed.
... and some FIXMEs where either (a) I'm not sure what's going on
or (b) something fishy is happening.
Christophe Rhodes [Wed, 7 Dec 2005 15:57:21 +0000 (15:57 +0000)]
0.9.7.19:
Merge patch (DL "external-formats problem..." 2005-12-03
sbcl-devel)
... and (fixed) test case 2005-12-07
Christophe Rhodes [Wed, 7 Dec 2005 15:24:41 +0000 (15:24 +0000)]
0.9.7.18:
Merge patch (David Lichteblau sbcl-devel
"define-optimization-quality compute-debug-fun" 2005-12-03)
Christophe Rhodes [Wed, 7 Dec 2005 14:20:04 +0000 (14:20 +0000)]
0.9.7.17:
Document what we've learnt about discriminating functions
in the internals manual
... now we depend on dot (graphviz) to draw pretty state
transition graphs.
... lots o' text. I hope it's clear.
(it would be good to upload this to the web somewhere, in
order to be the top hit for e.g. "PCL CONSTANT-VALUE" on search
engines, so that the next person to hit the swamp has a chance
to get out before it's too late. Hack the Makefile enough so
that we can build an html version of an internals manual.)
Christophe Rhodes [Mon, 5 Dec 2005 18:01:27 +0000 (18:01 +0000)]
0.9.7.16:
More PCL smallification.
... the ACCESSOR-SLOT-VALUE optimization creates a generic
function (using load-time-value) when it sees
a form like (slot-value x 'constant). That's fine,
but...
... these generic functions are also created at class
initialization time, three per slot. This hurts
now that we're creating classes eagerly (so that the
mop functionality works) as even condition classes
and structure classes cause these gfs to come into
being.
... so, rearrange things so that only those generic functions
which are needed are created. Never create one with
a slot-missing method, as the automatically-generated
method will fall through to the full call and get there
eventually, anyway.
... this causes slot-missing from slot-value outside of methods
to be slower if (and only if) no slot of that name
exists in the image anywhere. We could potentially
improve fall-through-to-slot-missing performance.
(this shaves off 2.5Mb from sbcl.core on my x86)
Thiemo Seufer [Sun, 4 Dec 2005 23:24:13 +0000 (23:24 +0000)]
0.9.7.15:
Mark as foreing function call before the first tagged Lisp
register gets clobbered.
Thiemo Seufer [Sun, 4 Dec 2005 23:07:13 +0000 (23:07 +0000)]
0.9.7.14:
Stray whitespace.
Thiemo Seufer [Sun, 4 Dec 2005 22:52:40 +0000 (22:52 +0000)]
0.9.7.13:
Implement gc_assert_verbose, and use it in a few cases.
Thiemo Seufer [Sun, 4 Dec 2005 22:25:07 +0000 (22:25 +0000)]
0.9.7.12:
Properly close the output line before we die.
Thiemo Seufer [Sun, 4 Dec 2005 19:54:54 +0000 (19:54 +0000)]
0.9.7.11:
gc_assert/gc_abort are already defined in gc-internal.h.
Christophe Rhodes [Fri, 2 Dec 2005 22:53:04 +0000 (22:53 +0000)]
0.9.7.10:
PCL smallification...
... no more (SB-PCL::CLASS-PREDICATE FOO). (Oh, the irony: the
case which made me implement generalised function names
was completely unused :-)
... deletes one slot, one generic function and two methods per
class.
... some minor rearrangements of the braid/bootstrap.
This exposes a code path which could never possibly have worked:
now that we're not creating a class-predicate, we end up in a
different place for creating the cell of a class slot added by a
mop user. Fix the embarrassingly wrong code (and yay for
automated tests).
Christophe Rhodes [Fri, 2 Dec 2005 14:30:13 +0000 (14:30 +0000)]
0.9.7.9:
Fix bug #392: yet another hole in MAKE-INSTANCES-OBSOLETE
... make the classoid-based invalidation of layouts clear (set
to 0) the clos-hash slots of the layout, as well as
setting depthoid to -1 and layout-invalid to t.
... this intertwingling is kind of odd, and also kind of
unnecessary. Maybe step 1 of an integrated PCL would
merge layouts and wrappers and centralize their
handling?
... fix genesis never to dump layouts with hash-slots of 0.
... one or two explanatory comments.
Juho Snellman [Thu, 1 Dec 2005 04:16:00 +0000 (04:16 +0000)]
0.9.7.8:
X86-64 floating point changes:
* Create FP zeroes with XORPS/XORPD on instead of MOVQ XMM15.
* Don't zero XMM15 after every foreign call (not needed anymore
thanks to previous change)
* Add SQRTSS/SQRTSD instructions
* Use SQRTSD for implementing %SQRT, instead of calling to C
* Replace &REST in SC-CASE lambda list with &BODY (for better
Slime indentation)