Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

Commit [dc5d8c] Maximize Restore History

1.0.16.31: --control-stack-size runtime argument

* THREAD_CONTROL_STACK_SIZE becomes DEFAULT_CONTROL_STACK_SIZE.

* Align thread spaces using the larger of BACKEND_PAGE_SIZE and
CONTROL_STACK_ADJUSTMENT_BYTES.

* Take care of aligning both ends of the control stack when setting
up the thread struct -- that way pthread_attr_setstack doesn't have
to worry about alignment.

* Simplify stack setup in on x86oid platforms in
call_into_lisp_first_time: instead of having the nasty window where
ESP/RSP is right at the end of the stack, use pull out the control
stack end right out of the thread struct.

* Minimal documentation.

Not strictly related to --control-stack-size:

* Refactor thread post mortem cleanups to share as much code as
possible and reduce conditionalization. The core functions in the
new world are plan_thread_post_mortem, schedule_thread_post_mortem,
and perform_thread_post_mortem.

* Malloc thread attributes, and destroy them before freeing thread
stacks. (pthread_attr_setstack seems to say that we are not allowed
to free stacks that have attributes referring to them -- hopefully
pthread_attr_destroy gives us the licence we need, and since it is
not entirely clear we are allowed to destroy the attr before the
thread has finished, do it only after pthread_join.)

Nikodemus Siivola Nikodemus Siivola 2008-05-15

changed doc/manual/start-stop.texinfo
changed doc/sbcl.1
changed src/compiler/generic/objdef.lisp
changed src/runtime/gc-common.c
changed src/runtime/globals.h
changed src/runtime/runtime.c
changed src/runtime/thread.c
changed src/runtime/thread.h
changed src/runtime/validate.h
changed src/runtime/x86-64-assem.S
changed src/runtime/x86-assem.S
changed NEWS
changed version.lisp-expr
doc/manual/start-stop.texinfo Diff Switch to side-by-side view
Loading...
doc/sbcl.1 Diff Switch to side-by-side view
Loading...
src/compiler/generic/objdef.lisp Diff Switch to side-by-side view
Loading...
src/runtime/gc-common.c Diff Switch to side-by-side view
Loading...
src/runtime/globals.h Diff Switch to side-by-side view
Loading...
src/runtime/runtime.c Diff Switch to side-by-side view
Loading...
src/runtime/thread.c Diff Switch to side-by-side view
Loading...
src/runtime/thread.h Diff Switch to side-by-side view
Loading...
src/runtime/validate.h Diff Switch to side-by-side view
Loading...
src/runtime/x86-64-assem.S Diff Switch to side-by-side view
Loading...
src/runtime/x86-assem.S Diff Switch to side-by-side view
Loading...
NEWS Diff Switch to side-by-side view
Loading...
version.lisp-expr Diff Switch to side-by-side view
Loading...