sbcl Log

Commit Date  
[d1873c] by Gabor Melis Gabor Melis handling of potential corruptions

- add corruption_warning_and_maybe_lose that prints a warning and
loses depending on lose_on_corruption_p (false by default)
- use corruption_warning_and_maybe_lose when the control stack is
exhausted and on memory faults
- use corruption_warning_and_maybe_lose on the lisp handlers of
SIGILL, SIGBUS and SIGEMT, as invoking them is surely not a good
- add --lose-on-corruption as a runtime option
- add --disable-ldb as a runtime option
- update the man page and the user manual
- exit pseduo atomic properly and do pending interrupt if needed
- signalling HEAP-EXHAUSTED in a WITHOUT-INTERRUPTS is dangerous
- use --lose-on-corruption in make-target*.sh

Also, block blockable signals on lose() to prevent other threads,
timers and such from interfering. If only all threads could be stopped

2009-02-16 21:36:13 Tree
[c26d6a] by Gabor Melis Gabor Melis test util: print names, status

2009-02-16 21:32:58 Tree
[f81f78] by Gabor Melis Gabor Melis small test fixes

- mop-6 test: use keywords in test name

... because symbols from the mop-6 package cannot read later from
the file containing test results.

- fix gc deadlock test

Instead of with-all-threads-lock, it was using with-mutex that
enables interrupts.

2009-02-16 21:32:24 Tree
[ce027a] by Gabor Melis Gabor Melis it's only SHOW

- fix compilation with QSHOW

- SHOW prints thread id on threaded builds

- SHOWing os_threads

- do not print pthread_self() that's the job of SHOW
- always print thread ids with %lu
- states with %x

- add more SHOW to ease debugging

- gc_stop_the_world: don't flood with FSHOW_SIGNAL when waiting for
another thread to change states

- signal safe SHOW

(if QSHOW_SAFE is defined)

2009-02-16 21:31:32 Tree
[faba0f] by Gabor Melis Gabor Melis kill runtime warnings

2009-02-16 21:29:41 Tree
[b5b365] by Gabor Melis Gabor Melis minor stylistics changes in the runtime

2009-02-16 21:28:24 Tree
[f7e3e7] by Gabor Melis Gabor Melis less compilation warnings

2009-02-16 21:27:26 Tree
[dc9fb9] by Gabor Melis Gabor Melis comments

2009-02-16 21:25:44 Tree
[f815f8] by Gabor Melis Gabor Melis 80 chars, trailing space

2009-02-16 21:18:36 Tree
[15db95] by Gabor Melis Gabor Melis fix debugger on non-x86oids

(regression from that broke TOP-FRAME)

2009-02-11 13:56:26 Tree
[866367] by Alastair Bridgewater Alastair Bridgewater Remove unused SIZE slot from catch-block structure.

2009-02-11 12:46:19 Tree
[e5c7bd] by Richard M Kreuter Richard M Kreuter Commit version.lisp-expr, missed in last commit. (Oops.)

2009-02-05 23:03:36 Tree
[d2b9d8] by Richard M Kreuter Richard M Kreuter Fix package locks checks for local functions in the interpeter.

* Package lock checks were being performed in the function binding form's
body's lexical environment, causing lossage for forms like

(locally (declare (disable-package-locks foo:bar))
(flet ((foo:bar ...))
(declare (enable-package-locks foo:bar))

In particular, this broke some TRACE extensions.

2009-02-05 18:27:31 Tree
[3cbc1e] by Gabor Melis Gabor Melis INVOKE-WITH-SAVED-FP-AND-PC changes

On x86/x86-64 we stash away the fp and the pc when calling an alien
function in order to allow the debugger to get back at the lisp frames
even if the alien frames confuse the frame parsing heuristics.

This commit optimizes INVOKE-WITH-SAVED-FP-AND-PC to cancel much of
the slowdown caused by and it makes its use conditional on
(<= speed debug).

2009-02-05 09:56:46 Tree
[30d61c] by Gabor Melis Gabor Melis fix sxhash bug

... brought to light by Declare hashes to be of type HASH
(not INDEX).

Note that INDEX still is used to mean different things:

- a valid index: (integer 0 (array-dimension-limit))

- a "bound" such as the :START arguments: (integer 0 array-dimension-limit)

- a "dimension" as in (make-array 10): (integer 0 array-dimension-limit)

which leads to all kinds of nastiness with array near the limit.

2009-02-04 14:10:22 Tree
[ebe41e] by Richard M Kreuter Richard M Kreuter Muffle style-warnings around lambda list parsing in the interpeter.

2009-02-03 20:22:04 Tree
[4a9c5a] by Alastair Bridgewater Alastair Bridgewater Reunite x86oid and non-x86oid sub-{access,set}-debug-var-slot

Merged the x86oid and non-x86oid versions of sub-access-debug-var-slot
and sub-set-debug-var-slot, reducing the size of debug-int.lisp but
arguably making the conditionalization worse.

2009-02-03 04:27:08 Tree
[097126] by Alastair Bridgewater Alastair Bridgewater genesis descriptor-intuit-gspace cleanups

Minor refactoring and major commentary updates to

2009-02-03 04:17:47 Tree
[84cc79] by Alastair Bridgewater Alastair Bridgewater genesis load-time-value cleanup

* Added a :load-time-value pseudo-gspace for use by descriptors
created by fop-funcall instead of the existing (undocumented)
scheme of using a null gspace and a not-null offset within a gspace
to indicate such descriptors.

* Fixed up some comments.

2009-02-03 04:16:23 Tree
[1589f3] by Alastair Bridgewater Alastair Bridgewater earlier x86 code-object fixup envectorization

In order to be able to relocate code-objects, the x86 port has to keep
track of the locations of certain fixups within the objects (these
fixups being relative fixups pointing to addresses outside the
code-object and absolute fixups pointing to addresses within the
code-object). Since time immemorial, the build process involved having
genesis dump a record of each fixup to be recorded as a cold-toplevel,
and cold-init passing such cold-toplevel information to

* Change genesis to create fixup-vectors directly, instead of dumping
the fixup information as cold-toplevels.

* Strip out the (now dead) code for envectoring cold-toplevels during

2009-02-03 04:15:13 Tree
[960367] by Alastair Bridgewater Alastair Bridgewater Eliminate untagged pointers to heap space in cold-init

Load-time value fixups encountered by genesis are added as a kind of
toplevel form to be patched during cold-init. The reference to the
location to fix up was being dumped as a SAP pointing to the correct
point in heap space. Instead of dumping a SAP, we now dump the
containing object and an offset within the object, thus removing one
obstacle to running the GC or doing other heap-space relocation prior
to running the cold-toplevels.

2009-02-03 04:13:13 Tree
[3d87ba] by Alastair Bridgewater Alastair Bridgewater x86-64 code fixup recording for gc / slash-and-burn

x86-64 code segments do not have absolute references to within
themselves, nor do they have relative references to without themselves,
making them relocatable without patching. The GC has long since been
updated to reflect this, but the fixup recording code originally part
of the x86 port had been retained.

* Removed x86-64 code-object fixup recording code everywhere.

* Added some commentary to x86iod fixup handling in genesis.

2009-02-03 04:11:05 Tree
[b888c3] (sbcl_1_0_25) by Juho Snellman Juho Snellman

1.0.25: release, will be tagged as sbcl_1_0_25

2009-02-03 02:49:12 Tree
[395c46] by Juho Snellman Juho Snellman Do explicit sign-extension of small signed alien return values

* gcc 4.3 has a different interpretation of the ABI, and
zero-extends signed chars, shorts and (on x86-64) ints.

2009-01-26 01:54:47 Tree
[2ff7f7] by Christophe Rhodes Christophe Rhodes Fix regression with enums in structs.

This is not the most elegant of fixes, but arrange to return the old
structure where applicable, and make incompatible mentions cause a
CERROR with clobber continue semantics, to parallel what I think is the
logic in the union/struct case.

2009-01-21 17:29:08 Tree
Older >