William Harold Newman [Tue, 28 Nov 2006 15:43:09 +0000 (15:43 +0000)]
0.9.18.75:
more correct handling of wide characters in debug info (merged
patch by Juho Snellman for bug reported by Attila Lendvai)
Gabor Melis [Mon, 27 Nov 2006 08:54:16 +0000 (08:54 +0000)]
0.9.18.74:
Fix hash tests on non-threaded platforms (patch for Brian Mastenbrook)
Nikodemus Siivola [Sun, 26 Nov 2006 22:16:29 +0000 (22:16 +0000)]
0.9.18.73: fix undefined function backtraces on PPC
* undefined_tramp needs to set reg_CODE, and must have an object
header. This was a regression as of 0.9.17.8. Current code adapted
from MIPS, as I don't understand how the old magic header was
supposed to work.
Nikodemus Siivola [Fri, 24 Nov 2006 10:38:49 +0000 (10:38 +0000)]
0.9.18.72: fix FreeBSD 4 build
* ...no Unix98 ptys there either. Thanks to Niimi Satoshi.
Nikodemus Siivola [Thu, 23 Nov 2006 15:11:26 +0000 (15:11 +0000)]
0.9.18.71: fix build on Darwin 7.9.0 (OS X 10.3)
* Unix98 pty api not supported here: don't add the ldso-stubs for it.
(Not needed in the presence of linkage-table anyways. After 1.0 the
conditionalization should be changed to :linkage-table.)
* ...which still leaves us with the alien definitions. They are
harmless even if the Unix98 api is not supported, as the code path
where they live is executed only if we can open /dev/ptmx. They
will, howver, cause undefined alien style-warnings on startup.
Since we presumably want to try to keep the same core working on
both older and newer Darwins, we must detect its support at
runtime.
So just muffle undefined alien style warnings from the linkage
table at startup -- presumably user-code can face similar
situations, so this is probably TRT anyways.
* Whitespace damage.
This commit message is longer then the patch.
Nikodemus Siivola [Thu, 23 Nov 2006 12:42:30 +0000 (12:42 +0000)]
0.9.18.70: fix Win32 build with version 3.8 WinAPI headers from MinGW
* Conflicting boolean types. Report and patch by Pierre Mai.
Still in freeze, damn.
Juho Snellman [Thu, 23 Nov 2006 04:00:15 +0000 (04:00 +0000)]
0.9.18.69:
Fix DISASSEMBLE after a SB-SPROF:RESET (regression since 0.9.18,
reported by Zach Beane).
Christophe Rhodes [Wed, 22 Nov 2006 22:35:28 +0000 (22:35 +0000)]
0.9.18.68:
Living dangerously...
... fix the (function-lambda-expression #'gf) problem;
... add test cases.
Juho Snellman [Wed, 22 Nov 2006 11:37:21 +0000 (11:37 +0000)]
0.9.18.67:
Fix build with gcc 2.95 (regression from 0.9.18, patch by James
Knight).
Juho Snellman [Tue, 21 Nov 2006 12:24:59 +0000 (12:24 +0000)]
0.9.18.66:
Replace the REPLACE introduced in .64 with a "Spirit of
11.1.2.1.1"-compliant CONTINUE. (This is sort of a regression,
so I'm committing it during early freeze).
Christophe Rhodes [Tue, 21 Nov 2006 10:29:09 +0000 (10:29 +0000)]
0.9.18.65:
Minimally document the FreeBSD/x86 threads.
Juho Snellman [Mon, 20 Nov 2006 10:27:59 +0000 (10:27 +0000)]
0.9.18.64:
Add a REPLACE restart for the annoying "FOO already names an ordinary
function or a macro" error for DEFGENERIC.
Juho Snellman [Mon, 20 Nov 2006 09:46:16 +0000 (09:46 +0000)]
0.9.18.63:
Fix the manual build (missed a file in a previous commit).
Cyrus Harmon [Mon, 20 Nov 2006 04:51:37 +0000 (04:51 +0000)]
0.9.18.62:
FreeBSD threads fixes, based on the patches from NIIMI Satoshi
on the sbcl-devel mailing list. This makes FreeBSD threads "work",
finally, at least experimentally.
* added lutex_trylock routine.
* fix the sb-lutex and (not wait-p) case of get-lutex.
* add pthred_mutexattr_t field to the lutex lisp object.
* use libthr (1:1 threading) instead of libpthread (m:n threading)
which supposedly doesn't work.
* use PTHREAD_MUTEX_ERRORCHECK when attribute locking mutexes
* create a dedicated cleanup thread to free threads
* put a mutex around creating threads
* use load_fs instead of the inline asm stubs
Christophe Rhodes [Sun, 19 Nov 2006 17:45:28 +0000 (17:45 +0000)]
0.9.18.61:
Callbacks for Linux/PPC, based on the patch from Joshua Ross
(joslwah sbcl-devel 2006-11-19).
... massage some of the comments into slightly better shape;
... rework the test case rather strongly.
Christophe Rhodes [Sun, 19 Nov 2006 11:26:15 +0000 (11:26 +0000)]
0.9.18.60:
Fix build on ppc/darwin (and probably also on ppc/linux)
... GNU make appears not to like the quotation marks around
the GC_SRC assignments. The symptom was a silent
stop in the build after ldso-stubs.S.
Juho Snellman [Sun, 19 Nov 2006 01:47:32 +0000 (01:47 +0000)]
0.9.18.59:
Bump fasl-file-version (at least CLOS calling convention changes).
Juho Snellman [Fri, 17 Nov 2006 02:15:47 +0000 (02:15 +0000)]
0.9.18.58:
Further SB-SPROF improvements.
* Allocation profiling on gencgc. When the profiler is running in
allocation profiling mode, the gc will signal profiler ticks
when new allocation regions are opened.
* Add :LOOP keyword argument to WITH-PROFILING, to allow specifying
whether the body should be evaluated repeatedly until the maximum
sample count is reached.
* Improve merging of code-components with multiple debug-funs,
better handling of multiple functions with the same name
* More documentation
* Also update the stepper documentation
Nathan Froyd [Thu, 16 Nov 2006 04:18:55 +0000 (04:18 +0000)]
0.9.18.57:
Add missing 'return'.
Juho Snellman [Thu, 16 Nov 2006 03:24:07 +0000 (03:24 +0000)]
0.9.18.56:
Fix SB-POSIX build on Windows (broken by largefile support). Thanks
to Yaroslav Kavenchuk.
Nathan Froyd [Wed, 15 Nov 2006 16:35:17 +0000 (16:35 +0000)]
0.9.18.55:
Fix a 32/64-bit confusion.
Nathan Froyd [Wed, 15 Nov 2006 16:31:00 +0000 (16:31 +0000)]
0.9.18.54:
Unbreak #!-linkage-table builds by adding some forgotten calls
in ldso-stubs.lisp.
Nathan Froyd [Wed, 15 Nov 2006 16:19:56 +0000 (16:19 +0000)]
0.9.18.53:
Optimize MAP and MAP-INTO with vector arguments.
* Introduce new optimization quality, INSERT-ARRAY-BOUNDS-CHECKS;
* Use it in the %MAP and MAP-INTO transforms. (We needed something
more fine-grained than (SAFETY 0), because we still want
any necessary type-checking to take place. But we know that
eliminating the bounds checks are safe.)
Nathan Froyd [Tue, 14 Nov 2006 22:15:20 +0000 (22:15 +0000)]
0.9.18.52:
If possible, use a shorter XOR instruction on x86-64 when we zero
a register.
Thiemo Seufer [Tue, 14 Nov 2006 20:23:33 +0000 (20:23 +0000)]
0.9.18.51:
Fix GC-unsafe temporary variable.
Juho Snellman [Tue, 14 Nov 2006 03:59:52 +0000 (03:59 +0000)]
0.9.18.50:
Various improvements to SB-SPROF (more speed, reliability and
usability, less consing and source code).
* Do the pc -> debug-info mapping in the signal handler, rather
than just storing the PCs and waiting until REPORT is called.
* Remove huge swathes of code for adjusting the PCs after GCs
(I don't think this had actually worked in quite a while, anyway).
This removes the slowdowns for long profiling runs.
* Show samples from assembly routines in the report, rather than
just grouping them all under "no debug information".
* Clean up SB-C::TL-XEPs etc. from function names
* Add an UNWIND-PROTECT to ensure WITH-PROFILING always stops
profiling.
* Make sigprof-handler mostly non-consing. (There's still a
few words of consing / signal handler invocation, but that happens
for all Lisp-side signal handlers).
For the last point, some core SBCL changes are also needed:
* Make a bunch of signal-context accessors inlineable to reduce
SAP to pointer conversions
* Restructure x86-call-context to always return SAPs in certain
return value positions, to allow the compiler to keep them
in registers. Rewrite recursion with a local function.
Juho Snellman [Mon, 13 Nov 2006 16:03:29 +0000 (16:03 +0000)]
0.9.18.49:
Fix Linux/x86 build after a clean.sh.
* Write the target features to genesis/Makefile.features, included
into other makefiles.
* Remove the disgusting shell/grep tricks for feature-based
conditionalizing in Makefiles
Juho Snellman [Mon, 13 Nov 2006 07:20:20 +0000 (07:20 +0000)]
0.9.18.48:
Make calling methods with &OPTIONALs or &KEYs faster and non-consing.
* Change fast method functions to use the normal Lisp argument
passing convention, rather than the CLOS-style "required arguments
as normal Lisp arguments, non-required ones passed as one
list" convention.
* Don't do argument parsing manually in the FMFs generated by
MAKE-METHOD-INITARGS-FORM-INTERNAL1
* Use &MORE instead of &REST in DFUN lambda lists.
* Clean up the lambda-list generation mess in cache.lisp / dlisp.lisp
Juho Snellman [Mon, 13 Nov 2006 06:10:15 +0000 (06:10 +0000)]
0.9.18.47:
Faster &MORE-handling VOPs on x86 and x86-64.
* The performance of LOOP is really bad on modern x86, rewrite
the loops in %LISTIFY-REST-ARGS and %MORE-ARG-VALUES to do
the index manipulation and branching explicitly.
* REP MOVS isn't very good for copying small blocks of memory, use
an explicit loop in COPY-MORE-ARG.
* Rewrite the x86-64 COPY-MORE-ARG to take advantage of the extra
registers.
* Implement %MORE-ARG (exists on all other platforms).
Juho Snellman [Sun, 12 Nov 2006 23:04:57 +0000 (23:04 +0000)]
0.9.18.46:
Support files >2GB on Linux/x86.
* Compile the runtime (and the C type grovelers) with various flags
to enable a 64-bit off_t.
* Add C-side wrappers for various POSIX functions, so that we can
reliably get the largefile versions of them from Lisp-side.
Rudi Schlatte [Sun, 12 Nov 2006 21:42:27 +0000 (21:42 +0000)]
0.9.18.45
"Patch to update Japanese external formats" (NIIMI Satoshi, 2006-11-10)
* New external format: Shift-JIS
Christophe Rhodes [Sun, 12 Nov 2006 09:20:19 +0000 (09:20 +0000)]
0.9.18.44:
Patch from Zach Beane for sb-posix support for time, utime and
utimes.
Juho Snellman [Thu, 9 Nov 2006 21:30:20 +0000 (21:30 +0000)]
0.9.18.43:
Signal an error for attempts to displace an array to an array with
a different element type (patch by Mario Mommer).
Also mark a couple of float tests as passing on FreeBSD (patch
by NIIMI Satoshi).
Juho Snellman [Thu, 9 Nov 2006 20:34:30 +0000 (20:34 +0000)]
0.9.18.42:
TRANSLATE-PATHNAME was selecting the version component from
FROM-WILDCARD rather than SOURCE. (Reported by Josip Gracin,
apparently causing trouble for cl-darcs).
Nikodemus Siivola [Wed, 8 Nov 2006 06:18:57 +0000 (06:18 +0000)]
0.9.18.41: add Nikodemus Siivola / Steel Bank Studio Ltd to SUPPORT
Christophe Rhodes [Tue, 7 Nov 2006 11:04:38 +0000 (11:04 +0000)]
0.9.18.40:
Update the manual's description of threading to reflect
currently supported platforms.
Christophe Rhodes [Tue, 7 Nov 2006 10:51:39 +0000 (10:51 +0000)]
0.9.18.39:
ASDF update: better SBCL_HOME handling.
Juho Snellman [Tue, 7 Nov 2006 10:22:09 +0000 (10:22 +0000)]
0.9.18.38:
Typechecking for CLOS instance slots, based on the earlier
clos-typechecking branch by Christophe Rhodes.
To get the typechecking right, especially when considering
inheritance where the slots in subclasses can have tighter
:TYPEs than in the superclass, some major PCL optimizations
need to be disabled. This slows down slot writes significantly.
Typechecking is thus only enabled for safe code.
* Store a function in each slot-definition with a non-T :TYPE, which
checks whether its parameter is of the proper type for the slot.
* Store in each class knowledge about whether the class was defined
in an environment with (SAFETY 3) policy.
* Don't do PV optimization for SETF of SLOT-VALUE in safe code.
* When generating writer methods for classes defined in safe code,
fetch the appropriate slotd for the instance and call its
type-checking-function (if one exists) before doing the slot write.
* Do the same in the slow path of SET-SLOT-VALUE
* When generating a ctor for a MAKE-INSTANCE call in safe code,
check the types of the supplied initargs.
* Fix declaration handling for some binding forms in SB-WALK
* Remove dead accessor-call optimization code
* Tests
Nathan Froyd [Tue, 7 Nov 2006 01:08:24 +0000 (01:08 +0000)]
0.9.18.37:
Commit Lutz Euler's "Patch: Fix symbol counts in DESCRIBE on
packages", sbcl-devel 2006-11-05.
Nathan Froyd [Tue, 7 Nov 2006 01:06:02 +0000 (01:06 +0000)]
0.9.18.36:
Commit Ossi Herrala's "Small nuisance with NetBSD", sbcl-devel
2006-11-06.
Nathan Froyd [Tue, 7 Nov 2006 01:02:50 +0000 (01:02 +0000)]
0.9.18.35:
Commit Matthew Swank's "patch to allow compiler dependent doc to
build under cygwin/win32", sbcl-devel 2006-11-06.
Thiemo Seufer [Sat, 4 Nov 2006 22:34:32 +0000 (22:34 +0000)]
0.9.18.34:
Fix build failure with texinfo from debian/unstable.
Thiemo Seufer [Sat, 4 Nov 2006 18:56:10 +0000 (18:56 +0000)]
0.9.18.33:
Build fix for cheneygc.
Nikodemus Siivola [Fri, 3 Nov 2006 19:56:36 +0000 (19:56 +0000)]
0.9.18.32: room test that was supposed to be in 0.9.18.31
Nikodemus Siivola [Fri, 3 Nov 2006 19:53:59 +0000 (19:53 +0000)]
0.9.18.31: room fix
* Type-error: SHIFT in VECTOR-TOTAL-SIZE had a bogus declaration,
masked by SAFETY 0. Remove the offending declaration and increase
safety.
* A more aggressive ROOM test.
Juho Snellman [Fri, 3 Nov 2006 11:47:56 +0000 (11:47 +0000)]
0.9.18.30:
Fix x86-64 build (dodgy assertion, no real bug).
Nikodemus Siivola [Thu, 2 Nov 2006 17:18:36 +0000 (17:18 +0000)]
0.9.18.29: --dynamic-space-size command-line switch
* Based on the patch by David Lichteblau. Default size of the
dynamic space is the same as it used to be, but can be altered
at startup.
* Delete dead variables: stop_the_world and
*INITIAL-DYNAMIC-SPACE-FREE-POINTER*.
* Rewrote --help output to more typical usage format.
Nikodemus Siivola [Thu, 2 Nov 2006 15:35:12 +0000 (15:35 +0000)]
0.9.18.28: allow read-only space to be placed in higher addresses on PPC
* Rewrite jumps encoding addresses to read-only space with a spare
register so that the address range is not limited.
* This means that fix-rospace magic can go away. (But the real reason for
this is the forthcoming adjustable dynamic-space-size and
relocation, which in conjunction with the rospace magic make me
uncomfortable).
Nikodemus Siivola [Thu, 2 Nov 2006 15:11:25 +0000 (15:11 +0000)]
0.9.18.27: fix darwin build
* Deal with missing FPE_FOO constants.
Juho Snellman [Thu, 2 Nov 2006 14:18:23 +0000 (14:18 +0000)]
0.9.18.26:
Err... Also including the 64-bit input routines might make the
64-bit output routines somewhat more useful.
Juho Snellman [Thu, 2 Nov 2006 13:24:00 +0000 (13:24 +0000)]
0.9.18.25:
Support u-b 64 / s-b 64 streams with native endianity on 64-bit
platforms.
Juho Snellman [Thu, 2 Nov 2006 12:55:51 +0000 (12:55 +0000)]
0.9.18.24:
Fix SB-EXECUTABLE on win32. (Patch by Marko Kocic, sbcl-devel
"sb-executable mingw patch" on 2006-08-29).
* Yes, SB-EXECUTABLE is mostly useless, since nobody uses it
for making "executables". But there are libraries that load
SB-EXECUTABLE for the unfortunately exported COPY-STREAM
function.
* Oops, whitespace damage from 0.9.18.23.
Juho Snellman [Thu, 2 Nov 2006 12:10:40 +0000 (12:10 +0000)]
0.9.18.23:
Fix SB-POSIX:STAT and friends on NetBSD. (Patch by Richard
Kreuter, sbcl-devel "Request for advice re sb-posix:stat on
NetBSD" on 2006-10-15)
Juho Snellman [Thu, 2 Nov 2006 12:00:30 +0000 (12:00 +0000)]
0.9.18.22:
Use the si_code field for mapping FP exceptions to conditions
on Posix platforms (Patch by NIIMI Satoshi, sbcl-devel "Patch to handle
floating point exception" on 2006-10-30).
Juho Snellman [Thu, 2 Nov 2006 11:17:56 +0000 (11:17 +0000)]
0.9.18.21:
Fix DEFUN-CACHED thread/interrupt-safety issues. It was
possible for FOO-CACHE-ENTER to modify a region in the cache
vector while FOO-CACHE-LOOKUP had only partially read it.
* Instead of storing all the data in one vector, the main
cache vector will only contain references to bucket vectors,
which contain the real data. FOO-CACHE-ENTER will always
allocate a new bucket, old buckets are never modified. Thus
FOO-CACHE-LOOKUP consistently sees either a pre- or post-
FOO-CACHE-ENTRY state.
Nikodemus Siivola [Wed, 1 Nov 2006 13:00:40 +0000 (13:00 +0000)]
0.9.18.20: correct step-frame logic on non-x86oids
* Single-stepping tests now pass on ppc/darwin, at least.
Nikodemus Siivola [Wed, 1 Nov 2006 11:48:39 +0000 (11:48 +0000)]
0.9.18.19: oops, tests hang!
* Something wrong with stepping, make it at least finish the tests.
Nikodemus Siivola [Mon, 30 Oct 2006 11:15:03 +0000 (11:15 +0000)]
0.9.18.18: SAVE-LISP-AND-DIE vs multiple threads
* Check that only a single thread exists after *SAVE-HOOKS* have been
run -- or signal an error.
Nikodemus Siivola [Mon, 30 Oct 2006 10:53:45 +0000 (10:53 +0000)]
0.9.18.17: Hyperbolic functions for Win32
* Lisp-side definitions for %TANH, %ASINH, %ACOSH, and %ATANH.
* One sequence test tweaked to make it run on Windows.
Nikodemus Siivola [Mon, 30 Oct 2006 08:11:49 +0000 (08:11 +0000)]
0.9.18.16: disassembly of funcallable instances
* Pull out the funcallable-instance-fun using %FUN-FUN.
* Test.
Nikodemus Siivola [Sun, 29 Oct 2006 21:05:58 +0000 (21:05 +0000)]
0.9.18.15: fix adjust-array :fill-pointer buglet, plus housekeeping
* Reported by Lars Brinkhoff: "An error of type error is signaled if
fill-pointer is supplied and non-nil but array has no fill pointer."
* Test-case.
* Improve the localtime/gmtime KLUDGE for Windows: instead of
flipping the sign of time, use zero -- still arbitrary, but
slightly less so. "Where there timezones before 1970, geez!"
* Oops! Broken test-case from 0.9.18.12 fixed.
Thiemo Seufer [Sun, 29 Oct 2006 20:19:27 +0000 (20:19 +0000)]
0.9.18.14:
Define CAUSEF_BD in the file, Linux 2.6.18 stopped exporting
the define.
Thiemo Seufer [Sun, 29 Oct 2006 20:14:26 +0000 (20:14 +0000)]
0.9.18.13:
More .cvsignores.
Nikodemus Siivola [Sun, 29 Oct 2006 19:44:45 +0000 (19:44 +0000)]
0.9.18.12: valid/already-dumped confusion in the file compiler/
* A constant is not already dumped just because it is in the valid
table.
* Fopcompiler was validating the wrong object occasionally.
Unfortunately the *DUMP-ONLY-VALID-STRUCTURES* binding still
needed. Couple of FIXME's pertaining to that added.
* Useless WHEN in EMIT-MAKE-LOAD-FORM deleted.
* Record a bug.
Nikodemus Siivola [Sat, 28 Oct 2006 09:57:00 +0000 (09:57 +0000)]
0.9.18.11: whitespace
* Undo whitespace damage from Window commits.
Andreas Fuchs [Fri, 27 Oct 2006 21:44:42 +0000 (21:44 +0000)]
0.9.18.11: Remove unused (probably wrong) definition of malloc from sb-bsd-sockets
Nikodemus Siivola [Thu, 26 Oct 2006 16:17:15 +0000 (16:17 +0000)]
0.9.18.10: Win32 get_timezone robustness
* Windows localtime & gmtime functions don't like negative times.
Nikodemus Siivola [Thu, 26 Oct 2006 16:07:52 +0000 (16:07 +0000)]
0.9.18.9: Pathname Love on Win32
* Namestring simplification (was UNIX-SIMPLIFY-PATHNAME) is now
function of the host. Shamelessly cargo-culted Win32 version from
the Unix version.
* Kludged %ENUMERATE-DIRECTORIES to work with :WILD-INFERIORS on
Win32.
* Fix UNPARSE-NATIVE-WIN32-NAMESTRING to handle #P"X:\\FOO" case
correctly. ("X:\\FOO", not "X:\\\\FOO")
* Missing NEWS entry for 0.9.18.8.
* Correct order of arguments to MERGE-PATHNAMES in SYSINIT-PATHNAME.
* Couple of WITH-TEST additions to test-suite.
Nikodemus Siivola [Thu, 26 Oct 2006 11:37:56 +0000 (11:37 +0000)]
0.9.18.8: LET* and VALUES declaration
* Wrong arguments to PROCESSING-DECLARATIONS in the LET*
ir1-translator.
* Test-case.
Nikodemus Siivola [Thu, 26 Oct 2006 10:29:47 +0000 (10:29 +0000)]
0.9.18.7: Win32 RUN-PROGRAM :WAIT T tweak
* Only -1 as result means the spawn failed: other negative
return values are error codes.
Nikodemus Siivola [Thu, 26 Oct 2006 08:38:49 +0000 (08:38 +0000)]
0.9.18.6: Win32 get-internal-real-time improved
* The old version was accurate only to the second, new one gets
milliseconds right.
* Move unix/win32 implementation bodies of GET-INTERNAL-*-TIME to
unix.lisp and win32.lisp (less conditionalization).
* Move *GC-RUN-TIME* zeroing to GC-REINIT.
* Initialize the system epoch to start time, not to time of first
call to GET-INTERNAL-REAL-TIME, document system epoch in
GET-INTERNAL-REAL-TIME.
* Sort the stub function calls in src/runtime/win32.c nicely.
Brian Downing [Thu, 26 Oct 2006 04:26:20 +0000 (04:26 +0000)]
0.9.18.5: Support DISASSEMBLE for interpreted functions.
* Support DISASSEMBLE for interpreted functions, by compiling (but
not installing) the function beforehand.
* Add tests to interface.impure.lisp for the above.
Brian Downing [Thu, 26 Oct 2006 03:55:20 +0000 (03:55 +0000)]
0.9.18.4: Fix non-x86 builds.
* Make :precision :53-bit in *saved-floating-point-modes*
conditional upon #!+x86.
Brian Downing [Thu, 26 Oct 2006 03:22:21 +0000 (03:22 +0000)]
0.9.18.3: Canonicalize whitespace.
Nikodemus Siivola [Wed, 25 Oct 2006 17:07:53 +0000 (17:07 +0000)]
0.9.18.2: Win32 exceptions
* Floating point exceptions.
* Stack exhaustion exception.
* Rename FIND-INTERRUPTED-NAME to FIND-INTERRUPTED-NAME-AND-FRAME.
* Commentary (questionary?) on the Win32 exception magic.
* More groveling.
Alert: grovel-headers.c/defconstant uses now unsigned long, not long.
Works on Linux/x86, Win32, and Darwin/ppc. If breaks elsewhere then
define_signed_const and define_unsigned_const needed.
Nikodemus Siivola [Wed, 25 Oct 2006 16:24:43 +0000 (16:24 +0000)]
0.9.18.1: Small floating point related tweaks
* Introduce FLOAT-COLD-INIT-OR-REINIT fixing a couple of
COLD-INIT/REINIT FIXME's for more OAOO.
* Save floating point modes in core, and restore them on startup.
* Move SET/GET-FLOATING-POINT-MODES documentation from comments to
docstrings.
William Harold Newman [Wed, 25 Oct 2006 14:58:40 +0000 (14:58 +0000)]
0.9.18:
release, will be tagged as sbcl_0_9_18
Nikodemus Siivola [Mon, 23 Oct 2006 13:45:51 +0000 (13:45 +0000)]
0.9.17.18: fix windows build, MAKE-ALIEN compiler note muffled fully
* Win32 build needs MAKE-ALIEN much earlier then other platforms,
so restore MAKE-ALIEN to its old place in target-alieneval.lisp,
and muffle the %SAP-ALIEN note from there unconditionally.
Brian Downing [Sat, 21 Oct 2006 07:23:13 +0000 (07:23 +0000)]
0.9.17.17:
* Support INTERPRETED-FUNCTIONs in SB-INTROSPECT:FUNCTION-ARGLIST.
Problem reported by <baronsamdi@verizon.net>.
Nathan Froyd [Thu, 19 Oct 2006 02:06:12 +0000 (02:06 +0000)]
0.9.17.16:
Delete dead checked-cell-ref VOP in x86oid backends.
Nikodemus Siivola [Wed, 18 Oct 2006 13:59:21 +0000 (13:59 +0000)]
0.9.17.15: silence %SAP-ALIEN compiler-note for MAKE-ALIEN in default policy
* Uses of MAKE-ALIEN are a common source of unavoidable notes about
unoptimized %SAP-ALIEN, which only serve to mask the ones the user
can do something about.
William Harold Newman [Wed, 18 Oct 2006 13:47:06 +0000 (13:47 +0000)]
0.9.17.14:
a bit of OAOOification in the way tests/run-tests.sh code
invokes SBCL, so that now it consistently ignores
.sbclrc again, so tests succeed even when .sbclrc
contains (BREAK)
Nikodemus Siivola [Wed, 18 Oct 2006 11:42:26 +0000 (11:42 +0000)]
0.9.17.13: SB-POSIX:CFSET*SPEED, SB-POSIX:CFGET*SPEED, and related constants
* Patch by Max-Gerd Retzlaff. cfsetspeed left out as non-portable,
cfgetispeed and cfgetospeed added.
* Tests -- which have not been properly run, and aren't run as part
of the SB-POSIX suite, since they require serial port access.
Nikodemus Siivola [Mon, 9 Oct 2006 16:53:35 +0000 (16:53 +0000)]
0.9.17.12: restore win32 and x86-darwin buildability
* trivial assembler directive fixes
Christophe Rhodes [Mon, 9 Oct 2006 14:56:43 +0000 (14:56 +0000)]
0.9.17.11:
Scribble some notes on funcallable instances before I forget.
Gabor Melis [Fri, 6 Oct 2006 11:44:20 +0000 (11:44 +0000)]
0.9.17.10: async unwind for specials
* in UNBIND zero the symbol before the value
* in UNBIND-TO-HERE zero the value even if the symbol is zero
Christophe Rhodes [Fri, 6 Oct 2006 11:24:47 +0000 (11:24 +0000)]
0.9.17.9:
One missing include directive which got through the net.
Christophe Rhodes [Fri, 6 Oct 2006 10:54:09 +0000 (10:54 +0000)]
0.9.17.8:
MORE THREADSAFE FUNCALLABLE-INSTANCE
... in a threaded world, we can't set the function and lexenv
of a funcallable instance separately, because some other
thread might inconveniently funcall the object 'twixt
the one and the other.
... instead, make the funcallable-instance-function a
fully-fledged slot, and give a funcallable-instance a
trampoline which knows how to call it.
... which means implementing this strategy for $n$
architectures. Tested on x86, x86-64, ppc, alpha and
sparc; completely untested on mips, and unimplemented
on hppa.
This removes some of the complexity in calling closures (the
closure-self slot is now redundant, as is the extra
indirection). Other miscellaneous fixes:
* extract-fun-type worked only by accident;
* new magic :init :funcallable-instance-tramp for primitive
objects
* verify_space() need no longer worry its little brain about
undefined_tramp and closure_tramp (I think)
* test case for threaded funcallable-instance interaction.
Juho Snellman [Mon, 2 Oct 2006 14:43:16 +0000 (14:43 +0000)]
0.9.17.7:
Implementation of STEP-OUT was completely bogus.
* Only do the *STEP-OUT* binding / handling only around the STEP-INTO
branch in the step-around wrapper, not around the STEP-NEXT /
CONTINUE / OUT branch.
* Detect attempts to STEP-OUT when there is no matching STEP-IN
also in STEP-FORM, not just in the debugger repl
* Test
Juho Snellman [Mon, 2 Oct 2006 13:43:19 +0000 (13:43 +0000)]
0.9.17.6:
Cleanup.
* Fix formatting of sub-items in 0.9.17 NEWS (thanks to Kevin Reid)
* gc.lisp whitespace canonicalization
Juho Snellman [Mon, 2 Oct 2006 11:34:30 +0000 (11:34 +0000)]
0.9.17.5:
The debugger tends to not show all variables regardless of the
optimization policy. Fix the most common reason for that happening.
* When compiling with a high debug quality, don't do substitution for
variables that are only used once.
* Except for variables introduced in DEFTRANSFORM inline
lambdas, since they're not going to very interesting for the
debugger.
Juho Snellman [Mon, 2 Oct 2006 11:34:25 +0000 (11:34 +0000)]
0.9.17.5:
The debugger tends to not show all variables regardless of the
optimization policy. Fix the most common reason for that happening.
* When compiling with a high debug quality, don't do substitution for
variables that are only used once.
* Except for variables introduced in DEFTRANSFORM inline
lambdas, since they're not going to very interesting for the
debugger.
Juho Snellman [Mon, 2 Oct 2006 06:38:35 +0000 (06:38 +0000)]
0.9.17.4:
Fix the STORE-VALUE restart for CHECK-TYPE on non-variable places
(DO considered harmful).
Juho Snellman [Mon, 2 Oct 2006 05:15:44 +0000 (05:15 +0000)]
0.9.17.3:
Fix negation of character-set types (reported by Anton Kazennikov
on comp.lang.lisp).
Nikodemus Siivola [Wed, 27 Sep 2006 11:03:17 +0000 (11:03 +0000)]
0.9.17.2: fix two potential GC deadlocks
* Dying threads used to grab session and all-threads locks
with GC inhibited, which was bad:
1. T1 has the lock, GC not inhibited
T2 in HANDLE-THREAD-EXIT waiting for the lock, GC inhibited
2. GC is triggered
3. T1 stopped while holding the lock
T2 deadlocks waiting for T1 to release the lock.
* Mark threads dead while holding the *ALL-THREADS-LOCK*, so that
(unless (thread-alive-p th)
(assert (not (member th (list-all-threads)))))
cannot fail.
* Since dying threads can now trigger GCs, don't run after-gc hooks
and finalizers if the thread has been marked as dead.
* Move all thread cleanup logic to HANDLE-THREAD exit.
Thiemo Seufer [Tue, 26 Sep 2006 23:10:02 +0000 (23:10 +0000)]
0.9.17.1:
Improve thread safety.
William Harold Newman [Tue, 26 Sep 2006 17:26:55 +0000 (17:26 +0000)]
0.9.17:
release, will be tagged as sbcl_0_9_17
Juho Snellman [Sun, 24 Sep 2006 15:47:27 +0000 (15:47 +0000)]
0.9.16.46:
Fix regressions:
* Installation was broken with non-bash /bin/sh (thanks to
Niimi Satoshi for the patch)
* DEFAULT-EXTERNAL-FORMAT would now try to print a warning for
an invalid external format before streams had been initialized,
causing an infinite error loop (reported by Hannu Koivisto).
Temporary fix is just not printing the warning, a better fix
will wait until after the freeze.
* Also stop autodetecting the external format from the locale
on non-unicode builds. Having a default external format that's
incompatible with CHARACTER doesn't seem very sensible, especially
now that the external formats are also used for SB-ALIEN:C-STRING
instead of just streams.
Juho Snellman [Wed, 20 Sep 2006 18:18:19 +0000 (18:18 +0000)]
0.9.16.45:
Fix building with CMUCL (typo in the name of an IGNOREd variable
in !DEFSTRUCT-WITH-ALTERNATE-METACLASS).
Juho Snellman [Wed, 20 Sep 2006 18:05:02 +0000 (18:05 +0000)]
0.9.16.44:
Stepper tweaks:
* Inhibit stepping while calling the stepper hook.
* Make the body of STEP steppable
* Signal a STEP-FINISHED-CONDITION when STEP returns