0.7.13.5
authorDaniel Barlow <dan@telent.net>
Thu, 27 Feb 2003 00:49:57 +0000 (00:49 +0000)
committerDaniel Barlow <dan@telent.net>
Thu, 27 Feb 2003 00:49:57 +0000 (00:49 +0000)
commit3bb2fb5b9ecdeebecaded4ac6e5af0f653be8867
tree99ec19c99a27a5324ffcd387414e51fd7bbac540
parentf294da03824843f07d781e655d5a5e70c2c4851e
0.7.13.5
Committed patch for gencgc refactoring based on work done
on threads branch.

... to make header file management a lot simpler, and allow
the use of interesting typedefs in genesis :C-TYPE slot
options, we split runtime.h into lots of smaller files that
can be (semi-)independently included.

... all GC and GCish functions now have the same interface,
so no need for (eq *internal-gc* #'collect-garbage) test in
SUB-GC

... current_region_end_addr and current_region_free_pointer
go away, eliminating potential for weird bugs when they're
not synchronized properly.  Yay OAOO

... disabled (actually, removed) inline allocation, as it
depended on old current_region_* (see above) and appears
to make not a lot of actual difference to run times anyway

pseudo-atomic support is now always compiled in.  I can see
no good reason for not having it

... much code in alloc() collapsed.  Also alloc() no longer
attempts to drop its PA and do a collection in the middle of
allocation - instead it uses the existing maybe_gc flag to
indicate that collection should happen when the allocation is
done.  Possibly this has bad effects when trying to allocate
an object bigger than available dynamic space, but that would
fit if a GC were done first.  Given the (complete lack of)
error handling for out-of-memory conditions in this and all
previous SBCL versions, it would be a foolish programmer who
was depending on this anyway, though.
31 files changed:
make-genesis-2.sh
make-host-1.sh
src/code/gc.lisp
src/code/purify.lisp
src/compiler/generic/genesis.lisp
src/compiler/x86/macros.lisp
src/runtime/GNUmakefile
src/runtime/alloc.c
src/runtime/breakpoint.c
src/runtime/coreparse.c
src/runtime/dynbind.c
src/runtime/gc-common.c
src/runtime/gc-internal.h
src/runtime/gc.h
src/runtime/gencgc-alloc-region.h [new file with mode: 0644]
src/runtime/gencgc-internal.h
src/runtime/gencgc.c
src/runtime/globals.c
src/runtime/interr.c
src/runtime/interrupt.c
src/runtime/monitor.c
src/runtime/parse.c
src/runtime/primitive-objects.h [new file with mode: 0644]
src/runtime/print.c
src/runtime/purify.c
src/runtime/runtime.c
src/runtime/save.c
src/runtime/search.c
src/runtime/x86-arch.c
src/runtime/x86-assem.S
version.lisp-expr