Commit graph

1623 commits

Author SHA1 Message Date
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