Alex Shinn
41f54a7f41
initial windows mingw support patch from felix winkelmann
2009-07-07 19:58:28 +09:00
Alex Shinn
e8985cd84c
Reporting a more sensible error when the initialization
...
file isn't found, per issue #2 :
http://code.google.com/p/chibi-scheme/issues/detail?id=2
2009-07-07 19:36:59 +09:00
Alex Shinn
b1c0ea895b
committing initial bignum support, still needs more thorough testing.
...
can disable with USE_BIGNUMS=0 - the interactions between this and
USE_FLONUMS are messy, so they will likely be merged into a single
option in the near future (i.e. you either have only fixnums, or a
full range of numeric types).
adding rationals based on this would be easy and is a likely future
feature. adding native support for complex numbers is unlikely.
2009-07-07 19:16:23 +09:00
felix
7df9ff823a
merged with upstream commits
2009-07-01 18:30:13 +02:00
felix
cf9ec69fd3
more mingw fixes in Makefile
2009-06-30 09:54:28 +02:00
felix
bf598f6ee5
basic mingw support
2009-06-30 09:50:32 +02:00
Alex Shinn
fc04f16b1d
merging plan9 work
2009-06-30 13:45:47 +09:00
Alex Shinn
55a8a38e62
DESTDIR patch from sladegen
2009-06-30 11:38:05 +09:00
Alex Shinn
78ceffdee4
making literals immutable
2009-06-28 19:07:19 +09:00
Alex Shinn
343303f408
cleaning up plan9 mkfile and providing install target
2009-06-28 17:46:37 +09:00
Alex Shinn
f1e7c3a2db
reporting source file and line number for compile-time errors
2009-06-28 14:52:52 +09:00
Alex Shinn
ab2cbe12f7
gc preserving read errors
2009-06-28 13:19:12 +09:00
Alex Shinn
cca8727354
fixing hex char and number syntax, adding support for n/d numbers
...
as floats
2009-06-28 13:10:34 +09:00
Alex Shinn
e40fdb3b73
using a separate sexp_free_list type, so we don't need the
...
overhead of the sexp tag and should thus fit in any aligned
block on 64bit architectures. this also removes a lot of
ugly casts, making the code more readable.
2009-06-28 02:31:11 +09:00
Alex Shinn
69ab0d02d9
using names from type specs for unreadable objects in sexp_write
2009-06-28 02:05:13 +09:00
Alex Shinn
63b8f63fec
need to close string ports
2009-06-28 01:48:12 +09:00
Alex Shinn
baa8b07d63
don't want -l in link rule for chibi-scheme
2009-06-27 23:54:48 +09:00
Alex Shinn
32838c1f9b
only using our own buffering for string ports
2009-06-27 23:46:03 +09:00
Alex Shinn
d4f97c40d5
initial plan9 work
2009-06-27 20:28:04 +09:00
Alex Shinn
86ce8fbc15
hygiene fix for nested macros, still need to clean this up
2009-06-24 00:47:49 +09:00
Alex Shinn
09114aa45d
using -fPIC on object files, running ldconfig on install if available
2009-06-24 00:45:54 +09:00
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