Alex Shinn
4e1ff91cbb
patch for plan9 build from raingloom
2020-10-11 21:31:42 +09:00
Alex Shinn
60c4007e6f
adding thread-interrupt! so that (chibi repl) can preserve continuations (issue #686 )
2020-08-25 14:09:29 +09:00
Alex Shinn
60ee6d70d0
move remaining fields to start of types
2020-07-30 00:19:21 +09:00
Alex Shinn
23e62275df
fixing scheme bytevector for 32bit arch
2020-07-28 15:09:40 +09:00
Alex Shinn
edcddd7299
fixing 64-bit uvectors
2020-07-27 16:08:24 +09:00
Alex Shinn
2bdaebe8c7
wrap uncaught non-exceptions (issue #664 )
2020-07-06 16:20:40 +09:00
Alex Shinn
2b82ef68d4
fix placement of dl in context (issue #657 )
2020-06-09 01:13:28 +09:00
Alex Shinn
4ec2167f62
making the abi a little more stable by default
2020-06-08 00:54:36 +09:00
Alex Shinn
6caca77426
adding (scheme bytevector)
2020-05-31 23:24:51 +09:00
Vitaliy Mysak
5726c2e490
Prevent stack overflow in sexp_mark_one (issue #601 )
...
Replace explicit recursion by heap allocations
in sexp_mark_one code.
This prevents crashes caused by stack overflow.
In particular, fixes issue #601 .
As an optimization, allocate a fixed sized stack buffer first,
which should be enough for "normal" uses.
When that stack overflows, switch to heap.
Also, store "ranges" on the stack, instead of the actual sexp's,
using the fact that sexp's of a single parent are continous in memory.
This patch doesn't remove recursion on the context saves
because it didn't seem like they overflow in practice.
But changing that is simple having the stack interface.
2020-05-15 20:11:50 +02:00
Alex Shinn
89201a4e20
remove bad redefinition of sexp_context_gc_count (issue #632 )
2020-05-12 10:39:27 +09:00
Alex Shinn
83e82f55a7
tweaks for fixed-size heaps, fix issue #632
2020-05-11 10:43:36 +09:00
Alex Shinn
e3db106f96
instrumenting alloc times and sizes
2020-05-06 23:39:01 +09:00
Alex Shinn
9100909ae1
better defaults and debugging for fixed size chunks
2020-05-05 00:41:20 +09:00
Lassi Kortela
2dc4353604
Avoid compiler warning about mismatched printf types
...
Under Unix with SEXP_64_BIT defined, sexp_sint_t is defined as 'long'.
But we would get the equivalent format specifier SEXP_PRIdFIXNUM from
the OS-defined PRId64 in <inttypes.h>. MacOS defines it as "lld". This
causes the clang printf checker to emit a warning about the 'long' and
'long long' mismatch.
Fix by avoiding system-defined PRId32 and PRId64 format specifiers and
always defining SEXP_PRIdFIXNUM as "d", "ld" or "lld" according to our
definition of sexp_sint_t as int, long or long long. This also means
we don't need to include <inttypes.h> any more.
2019-04-24 12:26:01 +03:00
Alex Shinn
a94a2c7902
uvector fixes
2019-02-25 23:01:35 +08:00
Alex Shinn
9569460a58
add compile-time option to store precomputed index->cursor tables for strings
2019-01-26 05:35:27 +08:00
Alex Shinn
d24d75621d
fixing nofeature build
2019-01-16 08:33:04 +08:00
Alex Shinn
2b4394ea74
adding initial support for SRFI 160 uniform vectors
2019-01-15 23:43:50 +08:00
Alex Shinn
2c37dfedd3
Merge pull request #500 from mnieper/syntax-case
...
Implement syntax-case
2018-12-09 04:08:31 +08:00
Alex Shinn
9af77c9b4f
adding CHIBI_IGNORE_SYSTEM_PATH=1 env var (fixes issue #501 )
2018-12-06 00:54:21 +08:00
Marc Nieper-Wisskirchen
152b20f244
Implement syntax-case
2018-12-01 13:48:25 +01:00
Alex Shinn
0efa071672
use PRId64/32 where available for printing fixnums (issue #479 )
2018-06-29 22:44:16 +08:00
okuoku
432b763555
cmake: Use SEXP_64BIT on Win64
...
Do not override SEXP_64BIT on Win64 as now we have custom-long-long for
it.
2018-06-20 21:16:40 +09:00
Bertrand Augereau
952d7c806b
More portable bignums that don't have to rely on gcc 128bit arithmetics extension
...
SEXP_USE_CUSTOM_LONG_LONGS currently needs SEXP_64_BIT
2018-06-19 04:46:05 +02:00
Alex Shinn
9e4eb03fb4
only use ape/limits.h on plan9
2018-01-13 22:01:36 +09:00
joe9
b85201f81d
patch to compile on 9front
2018-01-12 19:26:17 -07:00
okuoku
1cba43a220
SRFI-151: Fix bit-set? on Win64 which uses long long
...
Most "1UL" references on bitwise operations should be replaced with
explicit C cast.
2017-12-14 18:03:23 +09:00
okuoku
e45f142b6a
sexp.h: chmod -x
2017-12-13 17:20:53 +09:00
okuoku
e092923aac
Win32: Fix win32 port
...
Try to fix win32 port. Now it runs both on Win32/Win64.
Win64 port currently depends on 128bits arithmetic thus it does not run on
MSVC.
Makefile now have EXCLUDE_POSIX_LIBS knob to exclude posix related library
from build.
Introduce msys PLATFORM for Makefile.detect to use MSYS's POSIX
emulation layer. It is intended for linking against MSYS tools; it is
not for embedding to Win32 applications.
2017-11-11 04:31:06 +09:00
Alex Shinn
d4e45dc260
avoid left shifts for string cursors
2017-10-06 22:40:28 +09:00
Alex Shinn
8f635161d6
#define _REENTRANT to enable lgamma_r from math.h
2017-08-29 22:58:55 +09:00
Alex Shinn
8a9d8c0979
don't arithmetic shift signed ints (fixed issue #425 )
2017-08-29 22:47:44 +09:00
Alex Shinn
d3c2306220
check bignum type before deref in sexp_[su]int_value (issue #410 )
2017-05-18 22:36:33 +09:00
Alex Shinn
260f55adec
Use a context global instead of a static C global for the default random source.
...
Fixes issue #385 .
2017-01-20 00:49:11 +09:00
Alex Shinn
0fa1179c2f
add -T option to disable TCO
2017-01-14 16:51:07 +09:00
Alex Shinn
0281c590f0
Don't use flexible array member syntax when compiling with C++.
...
Fixes issue #378 .
2016-10-27 21:29:13 +09:00
Jasu
0bb88f97ed
Remove a spurious semi-colon from the macro sexp_make_vector
2016-07-27 19:27:37 +03:00
Alex Shinn
08494037ea
making features a context global
2016-06-12 14:25:46 +09:00
Alex Shinn
bb636b9b83
PRIoff is also "%lld" for cygwin64 (issue #358 )
2016-06-08 07:22:09 +09:00
Alex Shinn
ab3f3ad3a0
PRIoff is also "%lld" for Win64. Fixes issue #358 .
2016-06-07 22:36:01 +09:00
Alex Shinn
8ac14b5f91
Fixing printing of x-0.0i (issue #352 ).
2016-06-06 22:18:47 +09:00
Alex Shinn
78e8a04dd6
Conditionally defining PRIoff for off_t printf.
...
Fixes issue #320 .
2016-04-09 20:09:57 +09:00
Alex Shinn
0c80f38a19
making string-cursors a disjoint type
2016-03-29 22:25:09 +09:00
Alex Shinn
207ae1f24e
making syntactic closure free variable handling agree with mit-scheme
2016-02-27 16:06:20 +09:00
Alex Shinn
11ad0c3e3d
fixing boehm build, excluding image code when not used
2016-02-20 23:49:28 +09:00
Chris Walsh
2005c19ea0
Added full support for packed images, both for static and dynamic libraries.
2016-02-15 21:12:58 -05:00
Alex Shinn
2c2ff588df
Smarter polling in blocked output without threads, enable polling in blocked input.
...
Fixes issue #295 .
2015-12-30 14:07:50 +09:00
Frère Jérôme
2f19dc69b1
Exclude socket.h on Windows (unless using Cygwin)
2015-11-19 09:55:23 +01:00
Alex Shinn
830b016276
removing declarations for sexp_display, now implemented in scheme
...
Fixes issue #275 .
2015-08-10 22:22:07 +09:00