(This is a trivial placeholder which is just preparation for stripping tabs, and otherwise canonicalizing whitespace, in most of the sources.) Later today I plan to change the whitespace style in most of the system's source files. Thus, this version will be either the last or very very close to the last version where "cvs annotate" conveniently and cleanly runs back to the dawn of time. Thus, after this commit I will run "cvs tag tabby".
* fixed 32bitness in some places * untangled waitqueues, mutexes and spinlocks * updated the user manual * removed target-unithread.lisp and target-multithread.lisp and put everything into target-thread.lisp mainly for OOAO the docstrings, but also to provide as much as possible of the thread interface in unithread builds
* enable-debugger: set *debug-io* to *query-io*
Fix for memory fault error in foreign.test.sh ... we need to be able to have two different linkage-table entries for "address of data" and "instructions to jump to address" (DATAP=NIL/T) ... use a cons as the hash key rather than just the name ... (this area is not my speciality, so this fix may be suboptimal. Adjust as necessary)
* bug fix: inner with-recursive-lock no longer releases the mutex
* bug fix: run-program is now thread safe(r) * enable debugger in threads.impure.lisp for the duration of the debugger test
...thanks to Thiemo Seufer.
* bug fix: debugger doesn't hang on session lock if interrupted at an inappropriate moment (added another without-interrupts until a better solution is found)
Oops. Revert broken 0.9.2.6 change. Record a BUG for posterity. ...fix the run-tests.sh script while we're at it, too.
* rename one more call to FOREIGN-SYMBOL-ADDRESS-AS-INTEGER * fix foreign.test.sh to actually fail when we can't load stuff properly.
* made the debugger omit printing the thread in unithread builds * fixed a ppc gcc4 compilation problem
* bug fix: don't halt on infinite error in threads if possible * use invoke-debugger instead of internal-debug on infinite errors * don't halt after the 50th successfully handled infinite error
* rename FOREIGN-SYMBOL-ADDRESS => FOREIGN-SYMBOL-SAP, FOREIGN-SYMBOL-ADDRESS-AS-INTEGER => FOREIGN-SYMBOL-ADDRESS, and so forth. Follow this scheme consistently, calling foreign saps saps, and addresses addresses. * split GET-DYNAMIC-FOREIGN-SYMBOL-ADDRESS into FIND-DYNAMIC-FOREIGN-SYMBOL-ADDRESS and ENSURE-DYNAMIC-FOREIGN-SYMBOL-ADDRESS. * new function: FIND-FOREIGN-SYMBOL-ADDRESS, which doesn't enter the symbol to linkage table. Use it in SB-POSIX to detect the presence of foreign symbols. * merge patch by David Lichteblau: ENSURE-DYNAMIC-FOREIGN-SYMBOL-ADDRESS keeps track of used foreign symbols in hash-tables instead of lists.
* use a fresh read buffer for non-recursive reads to allow for nested and thread safe reading * killed read-from-string's string-input-stream and stringify-object's string-output-stream cache mainly for thread safety reasons * as a side-effect potentially huge buffers do not linger
Better docstring lambda-list treatment (FSVO "better", but at least gets sb-sprof:with-profiling right) ... also add .cvsignore to internals manual directory
* fill slots in TYPE-ERRORs from COERCE. * classes are type designators and must be accepted by MAKE-CONDITION. * MULTIPLE-VALUE-SETQ returns the primary value of the values form. * COMPILE must not return NIL.
Merge THSpatch "Minor mips code cleanup" (sbcl-devel 2005-06-19) ... make the code a little prettier.
Merge THS patches for MOVE and branch delay scheduling (3 parts, "Mips branch delay slot audit" sbcl-devel 2005-06-19) ... prefer MOVE to INST MOVE; ... be more careful with branch delay slots; ... preschedule where possible.
Better LOGNOR on fixnums for MIPS (THS sbcl-devel 2005-05-22) ... just subtract the mask
Merge THS patch "Fix headerptr initialization for cheneygc" ... use the dynamic space that's in use. ... (this is in something called from ldb -- not surprising no-one noticed)
* print the cell name for CELL-ERRORs when *PRINT-ESCAPE* is true. * print just the filename, not the SHARED-OBJECT structure for failed LOAD-SHARED-OBJECT. * improve our Darwin dlerror(3)-shim reporting; also clean up warnings from ppc-darwin-dlsim.c and reindent it for 80 columns. * move reporting of failed contribs to make-target-contrib.sh, and re-add --disable-debugger, which had accidentally fallen off.
* contrib/sb-aclrepl/repl.lisp: update KILL-CMD for new thread objects.
* missing VOPs from arith.lisp are here, I hope.
* contrib/sb-aclrepl/repl.lisp: PROCESSES-CMD now recognizes that threads are objects, not numbers.
Make it build, at least, on sparc.
* Add constant folding of ARRAY-HEADER-P for complex-array argument (fixes spurious warning reported by Eduardo Mu\~noz). * FOREIGN-SYMBOL-ADDRESS-AS-INTEGER does not loose second result (fix bug reported by Luis Oliveira). * Don't run external format checks on SBCL without Unicode support.
* bug fix: no more highly sporadic "couldn't check whether ~S is readable" when reading a stream and an interrupt hits in the middle of a select system call * added with-restarted-syscall macro * added abcl support to build scripts
Document in an internalsy kind of way the various string types that exist.
* threads for x86-64
* Public interface changes ** proper thread objects instead of thread ids ** (MAKE-THREAD FN &KEY NAME) => THREAD ** (THREAD-NAME THREAD): threads have names (useful for debugging, logging) ** (THREAD-ALIVE-P THREAD) ** *CURRENT-THREAD* special is bound in each thread ** (LIST-ALL-THREADS) returns a list of all active threads * Notes ** thread-init moved earlier in cold-init and reinit ** the lisp side does not ever use os_thread_t (it was problematic due to pthread_t being opaque) but struct thread * ** threads are reaped (i.e. the thread is pthread_joined and struct thread* is freed) by the thread object's finalizer. This makes it easy to implement resetting threads. Running threads are kept in sb-thread::*all-threads*. ** threads block all blockable signals when going down: interrupt-thread and others cannot catch it at an inappropriate moment, for instance calling quit outside the catch %end-of-the-world ** target-thread.lisp renamed target-multithread.lisp, target-thread.lisp now contains the generic thread support ** new file early-thread.lisp: define *current-thread* ** removed thread state STOPPING that was only used for assertions and complicated matters ** renumbered thread states ** sb-thread::release-spinlock now releases the locks with non-fixnum value, but is no longer safe to call multiple times ** much simplified locking for threads and gc ** fixed deadlocking bugs introduced by the pthread merge
Make interactive-stream-p a generic function so Gray streams can specialize on it.
Enable slightly more efficient operations with 32-bit constants on PPC. This reduces our instruction count in the inner loop of SB-MD5 by nearly 10% and brings us closer to the code that GCC generates.
Fix ASH to fold away shifts of zero based on the actual derived type, not just the constancy of the arg.