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