Permalink
Browse files

Major GC refactor and generalization.

Push knowledge about almost all specific data types out of the GC
core. We replace the static type table with a pointer to a 'gc_op' struct
as the type tag in the heap. This will use up slightly more space, but is
really much cleaner.

We reimplement the Scheme data types in a new external interface,
scgc.[ch].

# Please enter the commit message for your changes.
# (Comment lines starting with '#' will not be included)
# On branch generalize-gc
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#	modified:   Makefile
#
  • Loading branch information...
1 parent 29c7f8b commit 63e76743fb365db8545d524271689df487025b0c @nelhage committed Dec 29, 2008
Showing with 441 additions and 675 deletions.
  1. +1 −1 Makefile
  2. +106 −309 gc.c
  3. +53 −37 gc.h
  4. +0 −279 read.c
  5. +0 −19 read.h
  6. +203 −0 scgc.c
  7. +39 −0 scgc.h
  8. +7 −6 symbol.c
  9. +1 −1 symbol.h
  10. +31 −23 tests.c
View
@@ -1,6 +1,6 @@
CC=gcc
CFLAGS=-g -Wall $(DEFS)
-OBJECTS=gc.o symbol.o read.o
+OBJECTS=gc.o scgc.o symbol.o
TEST_CFLAGS=$(shell pkg-config check --cflags)
TEST_LIBS=$(shell pkg-config check --libs)
Oops, something went wrong.

0 comments on commit 63e7674

Please sign in to comment.