Commit [3bb2fb] Maximize Restore History

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.

Daniel Barlow Daniel Barlow 2003-02-27

1 2 > >> (Page 1 of 2)
changed src/code/gc.lisp
changed src/code/purify.lisp
changed src/compiler/generic/genesis.lisp
changed src/compiler/x86/macros.lisp
changed src/runtime/GNUmakefile
changed src/runtime/alloc.c
changed src/runtime/breakpoint.c
changed src/runtime/coreparse.c
changed src/runtime/dynbind.c
changed src/runtime/gc-common.c
changed src/runtime/gc-internal.h
changed src/runtime/gc.h
changed src/runtime/gencgc-internal.h
changed src/runtime/gencgc.c
changed src/runtime/globals.c
changed src/runtime/interr.c
changed src/runtime/interrupt.c
changed src/runtime/monitor.c
changed src/runtime/parse.c
changed src/runtime/print.c
changed src/runtime/purify.c
changed src/runtime/runtime.c
changed src/runtime/save.c
changed src/runtime/search.c
changed src/runtime/x86-arch.c
src/code/gc.lisp Diff Switch to side-by-side view
Loading...
src/code/purify.lisp Diff Switch to side-by-side view
Loading...
src/compiler/generic/genesis.lisp Diff Switch to side-by-side view
Loading...
src/compiler/x86/macros.lisp Diff Switch to side-by-side view
Loading...
src/runtime/GNUmakefile Diff Switch to side-by-side view
Loading...
src/runtime/alloc.c Diff Switch to side-by-side view
Loading...
src/runtime/breakpoint.c Diff Switch to side-by-side view
Loading...
src/runtime/coreparse.c Diff Switch to side-by-side view
Loading...
src/runtime/dynbind.c Diff Switch to side-by-side view
Loading...
src/runtime/gc-common.c Diff Switch to side-by-side view
Loading...
src/runtime/gc-internal.h Diff Switch to side-by-side view
Loading...
src/runtime/gc.h Diff Switch to side-by-side view
Loading...
src/runtime/gencgc-internal.h Diff Switch to side-by-side view
Loading...
src/runtime/gencgc.c Diff Switch to side-by-side view
Loading...
src/runtime/globals.c Diff Switch to side-by-side view
Loading...
src/runtime/interr.c Diff Switch to side-by-side view
Loading...
src/runtime/interrupt.c Diff Switch to side-by-side view
Loading...
src/runtime/monitor.c Diff Switch to side-by-side view
Loading...
src/runtime/parse.c Diff Switch to side-by-side view
Loading...
src/runtime/print.c Diff Switch to side-by-side view
Loading...
src/runtime/purify.c Diff Switch to side-by-side view
Loading...
src/runtime/runtime.c Diff Switch to side-by-side view
Loading...
src/runtime/save.c Diff Switch to side-by-side view
Loading...
src/runtime/search.c Diff Switch to side-by-side view
Loading...
src/runtime/x86-arch.c Diff Switch to side-by-side view
Loading...
1 2 > >> (Page 1 of 2)