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
d374a7e185
preserving file names during load in main
2009-06-14 23:49:39 +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
b636225da7
fixing some stack pointer management bugs
2009-06-12 17:35:57 +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
378cdff8e3
preserving gc vars in generate_lambda
2009-05-09 02:34:51 +09:00
Alex Shinn
0ebdc170cf
complifying make_opcode_procedure
2009-05-09 02:07:52 +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
8cf371cfe5
merged
2009-04-30 18:48:33 +09:00
Alex Shinn
e26fc9af80
initial gc outline
2009-04-30 18:47:26 +09:00
Alex Shinn
b5f07e6da6
fixing syntax-rules.scm
2009-04-14 21:28:21 +09:00
Alex Shinn
3533043f71
about to release
2009-04-09 00:57:53 +09:00
Alex Shinn
609ca8df2e
preparing for preview release
2009-04-09 00:46:21 +09:00
Alex Shinn
b4aaf9b386
fixes for linux
2009-04-08 10:19:16 -04:00
Alex Shinn
8a5cfbddc0
allowing unhygienic insertion
2009-04-08 23:07:19 +09:00
Alex Shinn
60a435825d
adding unhygiene tests
2009-04-08 22:44:24 +09:00
Alex Shinn
90280258d0
fixing bug in return IP for exceptions
2009-04-08 18:02:47 +09:00
Alex Shinn
b36c0d2e3a
exceptions don't print by default
2009-04-08 17:04:48 +09:00
Alex Shinn
820c13e752
reporting calling procedure name for exceptions
2009-04-08 11:55:38 +09:00
Alex Shinn
fad4e3976e
r5rs test suite, various bugfixes
2009-04-08 10:16:26 +09:00
Alex Shinn
3f98dd5035
need to quote literals in syntax-rules
2009-04-04 00:02:02 +09:00
Alex Shinn
78de2d1394
fixing bug in cond with => patterns
2009-04-03 23:53:18 +09:00
Alex Shinn
ca9e391ee3
fixing tail-call bug when the new frame is larger.
...
allowing (error x) for any object x.
vm tracing is now a compile-time option with -DDEBUG_VM.
2009-04-03 23:27:01 +09:00
Alex Shinn
b207ef5604
top-level isn't a tail-call
2009-04-03 19:11:57 +09:00
Alex Shinn
d33c766823
fixing parameter separation between environments
2009-04-03 19:02:29 +09:00
Alex Shinn
55841679e8
detecting undefined variables
2009-04-03 17:58:03 +09:00
foof
636502de73
fixing to work on linux
2009-04-02 13:28:31 -04:00
Alex Shinn
26c7d669b2
playing with linux fmemopen
2009-04-03 02:23:07 +09:00
Alex Shinn
2983b10af1
switching to chained buckets for symbol table
2009-04-03 02:02:59 +09:00
Alex Shinn
9a816f504f
string->number and number->string
2009-04-03 01:26:38 +09:00
Alex Shinn
177003299e
mutable parameters
2009-04-03 01:04:46 +09:00
Alex Shinn
72886b897f
updating make rules
2009-04-03 00:24:17 +09:00
Alex Shinn
4736dcaa6d
let-syntax and letrec-syntax
2009-04-02 23:58:48 +09:00
Alex Shinn
7130f38e76
string-ports
2009-04-02 20:03:46 +09:00
Alex Shinn
2e55517108
string utilities
2009-04-02 18:35:08 +09:00
Alex Shinn
a27fe20de9
handling variadic comparison opcodes
2009-04-02 17:02:40 +09:00
Alex Shinn
26eacabad9
handling exact/inexact distinction better
2009-04-02 16:19:52 +09:00
Alex Shinn
553ac63a18
adding expt and char utils
2009-04-02 14:38:23 +09:00
Alex Shinn
ee5f33c9fb
flushing out library
2009-04-01 17:25:47 +09:00
Alex Shinn
51352245b2
adding more macros
2009-04-01 13:02:49 +09:00
Alex Shinn
63d337491a
adding explicit renaming macros and a bunch of library code
2009-04-01 02:44:53 +09:00