Commit graph

22 commits

Author SHA1 Message Date
Alex Shinn
d4f97c40d5 initial plan9 work 2009-06-27 20:28:04 +09:00
Alex Shinn
6941ada64f Was unintentionally using the same name 'sexp_types' for the sexp
type definitions and for the sexp type enum.  They shouldn't conflict,
since the enum is in the enum namespace, but apparently they do in
mscv.  Chaging the defs to sexp_type_specs.
2009-06-23 11:49:26 +09:00
Alex Shinn
cafb396745 fixing output-string ports on linux 2009-06-21 04:14:09 -04:00
Alex Shinn
b9f4668027 linux portability fixes 2009-06-21 01:12:20 -04:00
Alex Shinn
24d9bfc950 switching to linking as a library 2009-06-20 21:57:28 +09:00
Alex Shinn
56dcf497de various fixes, gc can handle running the whole test suite
in a loop hundreds of times.  the heuristics for growing
the heap still cause it to grow very slowly over time,
but nonetheless slower than boehm.
2009-06-19 17:57:40 +09:00
Alex Shinn
9e6a0c1300 adding immediate flonum support 2009-06-18 16:15:56 +09:00
Alex Shinn
7e3014ba38 cleanup, removing mid-function returns which could corrupt
the gc_var trace.
2009-06-18 00:36:39 +09:00
Alex Shinn
39fdd89474 not trying to adjust the heap, just keeping a linked list
of heap chunks.  expanding the heap thus works now, so i've
removed all the debugging utils from gc.c, except the conservative
checks which are now a config option.
2009-06-17 22:37:21 +09:00
Alex Shinn
ba484795d1 considering adjusting heap a dead-end for now 2009-06-15 19:04:44 +09:00
Alex Shinn
c725c48f74 switching to data-driven sexp_mark 2009-06-15 17:34:26 +09:00
Alex Shinn
d6b850b5aa fixing some gc var preservation bugs 2009-06-14 23:41:00 +09:00
Alex Shinn
bddbaedfa7 test suite now passes with new gc, even starting
with a tiny heap and causing multiple allocations.
pointer adjusting after a moved realloc still segfaults.
2009-06-13 21:16:49 +09:00
Alex Shinn
cce116bc0a progress 2009-06-11 23:02:30 +09:00
Alex Shinn
bafd9ebd29 merging adjacent free chunks during the sweep phase 2009-06-10 15:17:15 +09:00
Alex Shinn
54baeaca36 don't sweep the free-list elements!
implementing heap expansion w/ realloc.
realloc is always giving back the same pointer right now,
so pointer adjusting not tested yet.
2009-06-10 00:38:15 +09:00
Alex Shinn
d65e7255f8 stack is now a data type (maybe merge w/ vector),
new gc seems initially functional
2009-06-08 02:06:24 +09:00
Alex Shinn
a85d80038c while still working towards the precise gc, reordering the
context argument to all functions
2009-05-08 23:27:04 +09:00
Alex Shinn
28d5775bbe string and vector data is now packed, no longer allocing arbitrary
blocks of untagged data, string and vector reads use an initial
buffer to reduce allocations
2009-05-06 22:43:24 +09:00
Alex Shinn
89d282ef9d gc allocation working, need to fix garbage collecting 2009-05-05 15:15:50 +09:00
Alex Shinn
4d78a28d8c passing context through all calls that can allocate memory
in preparation for a native, thread-safe gc.
2009-05-05 03:16:09 +09:00
Alex Shinn
e26fc9af80 initial gc outline 2009-04-30 18:47:26 +09:00