Commit graph

139 commits

Author SHA1 Message Date
Alex Shinn
ddf866ee27 adding basic call/cc tests 2009-06-23 11:53:06 +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
956b451cdd Updating resume/cc needs to jump to the start of the procedure
bytecode plus the offset on the stack (not directly to the offset
on the stack).  Need to add a call/cc test to the r5rs-tests to
catch this next time.
2009-06-23 11:46:56 +09:00
Alex Shinn
eb629f4381 Added tag 0.2 for changeset 7591a4f48a8c 2009-06-22 21:54:18 +09:00
Alex Shinn
097d6705de fixes for alternate compile options 2009-06-22 21:30:14 +09:00
Alex Shinn
3d46acee56 putting back in -O2 2009-06-21 17:38:26 +09:00
Alex Shinn
a60cc1e98c fixing bug in loading init.scm file 2009-06-21 17:26:36 +09:00
Alex Shinn
cafb396745 fixing output-string ports on linux 2009-06-21 04:14:09 -04:00
Alex Shinn
450548e3e2 store difference between ip and bytecode start instead of the
raw ip, which may overflow the integer range.
2009-06-21 16:37:58 +09:00
Alex Shinn
b9f4668027 linux portability fixes 2009-06-21 01:12:20 -04:00
Alex Shinn
6f9e9c1321 cleaning up build 2009-06-21 11:58:55 +09: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
8a8e7c165e preparing for 0.2 release 2009-06-18 00:49:59 +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
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