Commit Graph

65 Commits

Author SHA1 Message Date
Matthew Flatt
59c772ba48 add make-ephemeron-eq-hashtable, etc.
Revert the use of ephemeron pairs in weak hashtables, since the
difference is visible via guardians. Add hashtable based on ephemerons
(to avoid key-in-value problems) as an explicit variant.

original commit: 31ac6d78592e1a9ba6bfbe802260e3d56d4cf772
2017-07-06 16:27:23 -06:00
Bob Burger
fd7606ca05 added casts to c/new-io.c to eliminate compiler warnings in Windows
original commit: 1014ac6b273203a5965e66dee4bacb8399097d87
2017-06-27 12:35:35 -04:00
Bob Burger
0af9c2bbbf fixed typo in S_abnormal_exit
original commit: 53780b295c876f524ca73b6e93ab27960808622d
2017-06-27 12:26:22 -04:00
Matthew Flatt
1932612543 add bytevector-compress and bytevector-decompress
original commit: aa062c09c9f0d129250db84aeb0a5190647c5574
2017-06-21 17:52:28 -06:00
Graham Watt
62055ddbf6 Merge branch 'master' into no-implicit-fallthrough
* master:
  fix reference to libc.so to be libc.so.7 for FreeBSD (machine types i3fb, ti3fb, a6fb, ta6fb)   foreign.ms
  adds entry to LOG
  fixes wrong type for iconv
  support Windows build on Bash/WSL
  Add CC option to configure

original commit: 05ddaf8c994a20450104819e06d7c987bbc0acaa
2017-06-20 19:02:16 -04:00
Andy Keep
0d4c6b6f21 Merge branch 'master' into configure-cc
original commit: 33765fae75faf4a0ccc21f95416694999ce35f1d
2017-06-18 23:08:00 -04:00
Andy Keep
0c8853d68f Merge branch 'master' into master
original commit: 347151369c25253b322c36eacbf4bbb621fe4645
2017-06-18 11:57:34 -04:00
Bob Burger
f2a40d192b Merge branch 'wsl' of git://github.com/mflatt/ChezScheme into master
# Conflicts:
#	LOG

original commit: 178f8c5bedb94acb1b81eac8d6ebe897142f42d1
2017-06-16 11:50:54 -04:00
Graham Watt
5eb4eabc3f Disable warning for implicit fallthrough
original commit: e0d965aab30a745157a0c89010bbf5017901d4a7
2017-06-13 20:53:18 -04:00
Sam Tobin-Hochstadt
0e41c9d8be Add date-dst? and date-zone-name procedures
Accesses existing-but-hidden DST information in date records,
and adds support for getting a name of the current time zone
when a time zone offset is not explicitly provided.

original commit: 3c8be62d12a8197018fb6c5aae182fd75da14fe8
2017-06-08 11:21:39 -04:00
Mohamed Akram
7c69fa159d Merge branch 'master' into configure-cc
original commit: dd610cebce89e3283b00880c676dbd82a07b80b4
2017-06-05 07:56:05 +04:00
Daniel Brunner
ce437c7488 fixes wrong type for iconv
This fixes issue #178, on FreeBSD the type should be `char **`.

original commit: cc60b7d951770b0635186333f1c55d1704686630
2017-06-02 16:18:04 +02:00
dyb
2bc65b5d6d check_dirty_ephemeron now puts ephemerons whose keys haven't yet
been seen on the pending list rather than the trigger lists.
  gc.c
removed scan of space_ephemeron from check_heap because check_heap
as written can't handle the two link fields properly.
  gcwrapper.c
in the ephemerons mat that checks interaction between mutation and
collection, added generation arguments to the first two collect
calls so they always collect into the intended generation.
  4.ms
updated allx and bullyx patches
  patch*

original commit: 43b54f64949cf992e52cf18bacc2a09f4a199227
2017-05-29 20:21:01 -04:00
Matthew Flatt
da7a81e8cd improve some function names, comments, and declarations
original commit: 795c391b8417d6aec3d7888e292efbac415029f7
2017-05-24 09:38:59 -06:00
Matthew Flatt
28f98ebc0b fix typo in comment
original commit: 001603fdf9c171e36d620999d5e4760ab333f119
2017-05-24 09:38:59 -06:00
Matthew Flatt
211fe4cbd7 tests and docs for ephemerons
original commit: 2ea7dcdfca1dea2c89c51c7e9ccd692ba673ba22
2017-05-24 09:38:58 -06:00
Matthew Flatt
0d5340c061 fix interaction of ephemerons and generations; use for weak hashtables
original commit: 6f7147e505aae5c2b9139eea6df8a9c25a35289d
2017-05-24 09:38:24 -06:00
Matthew Flatt
18cdcd977e add ephemerons
original commit: 8a09c2c3f032e6e30b1ef393d2334963aa70507e
2017-05-24 09:38:24 -06:00
Matthew Flatt
2d63f03442 support Windows build on Bash/WSL
original commit: 7e4782db08210cbacd1bbe46b3a5e166d8dbe20f
2017-05-02 08:25:09 -06:00
Mohamed Akram
d7fcd8e57b Add CC option to configure
original commit: 1a65f0bef4c2af6016c328f7f1151e6d10e342fa
2017-04-28 16:01:09 +04:00
Bob Burger
cbae4b9d77 mutexes and conditions are now freed when no longer used
added $close-resurrected-mutexes&conditions and $keep-live

original commit: 8d9aa4dffc371fc365020e5dac62270dae2aaa95
2017-04-13 09:41:58 -04:00
Bob Burger
c19e662ed0 destroy_thread now processes guardian entries
original commit: 9bcf0a10c1a1c12d93a8eabb061821377de0934f
2017-04-12 10:26:03 -04:00
Bob Burger
831ea8ad18 changed copyright year to 2017
7.ss, scheme.1.in, comments of many files

original commit: 06f858f9a505b9d6fb6ca1ac97234927cb2dc641
2017-04-06 11:41:33 -04:00
Kent Dybvig
c503362914 - various tweaks to the immutable object support; also taught cp0
to simplify ($fxu< (most-positive-fixnum) e) => (fx< e 0) so we
  don't have any incentive in special casing length checks where
  the maximum length happens to be (most-positive-fixnum).
    5_4.ss, 5_6.ss, bytevector.ss, cmacros.ss, cp0.ss, cpnanopass.ss,
    mkheader.ss, primdata.ss, prims.ss,
    fasl.c, gc.c, types.h
    root-experr*, patch*

original commit: 9eb63deda025fd4560b54746b21a881c01af46d6
2017-03-15 14:49:58 -04:00
Kent Dybvig
9cd0199a39 merge @mflatt immutable-vector, immutable-string, immutable-bytevector,
immutable-fxvector, and immutable-box support

original commit: 547fce9b99c6566d5cb3f7af9ca84654e798486e
2017-03-15 11:09:57 -04:00
Bob Burger
288243924f added optional timeout to condition-wait
original commit: 26d4dfc437fde2ba85d2d1a9ccadc2fa36979da0
2017-03-14 12:53:10 -04:00
dybvig
aa6a006e39 fixed a few comments to refer to scheme.c rather than main.c
externs.h, globals.h, thread.c

original commit: 1a05b09f421fb19d38f3fdfa1f8485fc7943068b
2017-03-13 11:25:25 -04:00
Kent Dybvig
9a16156574 eliminated some direct assumptions that a vector's type/length field
is a fixnum and added meta-asserts to verify that it is in a couple of
others, to facilitate future changes to vector typing.  vectors are
now treated essentially like fxvectors, strings, and bytevectors.
  cmacros.ss, cpnanopass.ss, prims.ss, mkheader.ss,
  alloc.c, gc.c, scheme.c

original commit: 564542d32bbae6b33cef808613238d5a4a2a8ee2
2017-03-12 23:54:38 -04:00
Matthew Flatt
21fe925d06 add procedure-arity-mask
original commit: 4bd061000ab903feb3fe8e3b96ecbcb10c59dba9
2017-02-22 07:16:53 -07:00
Bob Burger
df45aba923 added needed #ifdef WIN32. Thanks, alflanagan!
original commit: 7728f94291d10d8b86b1ac368c43a53ca3e7d5ae
2016-09-22 14:46:44 -04:00
Bob Burger
30c6552ec2 Use high-precision clock time on Windows 8 and up.
original commit: 15982a28189454d5b7b3b065db5aac9816781bde
2016-09-22 13:36:10 -04:00
Bob Burger
a8645cb2a3 fix type declaration in s_ee_write_char for WIN32
original commit: 2f044f7088ed30e1be42adcf8a4c3e13f3fe06ec
2016-08-26 16:55:06 -04:00
dybvig
35eaa9feff - fixed a bug in cpvalid resulting in it leaving behind a cpvalid-defer
form for later passes to choke on.  also fixed cp0 to print the correct
  name for cpvalid when it does this.
    cpvalid.ss, cp0.ss,
    misc.ms
- updated the prototype for s_ee_write_char to match the definition
    expeditor.c
- updated LOG and release_notes
- rebuilt boot files due to s-directory changes

original commit: 50aa8b34774a9e65e96481ae329a3f329fad7aca
2016-08-07 23:36:40 -04:00
Andy Keep
7389a3ba16 - reworked the S_create_thread_object to print an error and exit when
allocating the thread context fails from Sactivate_thread.  before
  this change, the error was raised on the main thread, which resulted
  in strange behavior at best.  also added who argument to
  S_create_thread_object to allow it to report either Sactivate_thread
  or fork-thread led to the error.
    externs.h, schsig.c, scheme.c, thread.c

original commit: 89691cee27ee7d5e9bffae530b6346e96f8cc7ad
2016-08-05 00:04:00 -04:00
Andy Keep
96a3e21c46 - moved s_ee_write_char function within the WIN32 check to allow the unicode
change to compile on windows.  unicode is not yet supported in the windows
  version of the repl.
    c/expeditor.c

original commit: 4d2f900b2c43a8be384444d965177f1410c2ab82
2016-07-31 22:05:50 -04:00
Jason Felice
14aadeab83 - add unicode support to the expression editor. entry and display now work
except that combining characters are not treated correctly for
  line-wrapping.  this addresses github issue #32 and part of issue #81.
    c/expeditor.c, s/expeditor.ss

original commit: 87d4811781d7e9183f7710aa6a809b850a38454f
2016-07-20 21:54:50 -04:00
Andy Keep
f16869bb35 - fixed three instances of unchecked mallocs reported by laqrix in
github issue #77.
    io.c, schlib.c, thread.c

original commit: fe172bfdfbf2f606db611013e7689d6a2b117d5e
2016-07-17 13:47:40 -04:00
Bob Burger
0d0e876fb7 fixed a couple typos in comments
original commit: 9e2347eeb2bd57b35f96f0f1938ef84d624ed6a4
2016-06-23 16:43:39 -04:00
Bob Burger
51db0ddbc1 scheme_mutex_t now uses volatile keyword for owner and count fields
because these fields can be accessed from multiple threads concurrently.
Updated $yield and $thread-check in mats/thread.ms to be more tolerant of timing variability.

original commit: 0a6a1e14e7ecb9e39fa7a10a8584ed2fec24cbf4
2016-06-22 15:33:21 -04:00
Bob Burger
d14d167275 fixed typo in amd64 path
original commit: 11ac1ba5a8fc3f16b997c498d223328f73b31152
2016-06-20 10:04:25 -04:00
dybvig
112c5b4d5c - fixed typo: VC/bin/vcvars64.bat => VC/amd64/vcvars64.bat
c/Mf-a6nt, c/Mf-ta6nt

original commit: f2a69588a37e9a10fafae544c94903613f63986f
2016-06-17 22:26:10 -04:00
dybvig
b4d452cc71 - eliminated a couple of thread-safety issues and limitations on the
sizes of pathnames produced by expansion of tilde (home-directory)
  prefixes by replacing S_pathname, S_pathname_impl, and S_homedir
  with S_malloc_pathname, which always mallocs space for the result.
  one thread-safety issue involved the use of static strings for expanded
  pathnames and affected various file-system operations.  the other
  affected the file open routines and involved use of the incoming
  pathname while deactivated.  the incoming pathname is sometimes if not
  always a pointer into a Scheme bytevector, which can be overwritten if a
  collection occurs while the thread is deactivated.  the size limitation
  corresponded to the use of the static strings, which were limited to
  PATH_MAX bytes.  (PATH_MAX typically isn't actually the maximum path
  length in contemporary operating systems.)  eliminated similar issues
  for wide pathnames under Windows by adding S_malloc_wide_pathname.
  consumers of the old routines have been modified to use the new
  routines and to free the result strings.  the various file operations
  now consistently treat a pathname with an unresolvable home directory
  as a pathname that happens to start with a tilde.  eliminated unused
  foreign-symbol binding of "(cs)pathname" to S_pathname.
    io.c, externs.h, new_io.c, prim5.c, scheme.c, prim.c
- various places where a call to close or gzclose was retried when
  the close operation was interrupted no longer do so, since this can
  cause problems when another thread has reallocated the same file
  descriptor.
    new_io.c
- now using vcvarsall type x86_amd64 rather than amd64 when the
  former appears to supported and the latter does not, as is the
  case with VS Express 2015.
    c/Mf-a6nt, c/Mf-ta6nt
- commented out one of the thread mats that consistently causes
  indefinite delays under Windows and OpenBSD due to starvation.
    thread.ms
- increased wait time for a couple of subprocess responses
    6.ms
- added call to collector to close files opened during iconv mats
  specifically for when mats are run under Windows with no iconv dll.
    io.ms

original commit: ad44924307c576eb2fc92e7958afe8b615a7f48b
2016-06-16 23:04:32 -04:00
dybvig
83af38b195 Merge branch 'master' of git://github.com/yjqww6/ChezScheme into yjqww6-master
original commit: afa27dd66ae2e45dede6f6900fc2193f48da9086
2016-06-14 23:48:18 -04:00
dybvig
4542d12295 - now forcing zlib configuration before compiling files that depend on
the zlib header files, since zlib's configure script can modify the
  header files.  removed ZlibInclude variable, which no longer serves
  a purpose.
    c/Mf-*, c/Makefile.*nt
- removed unnecessary datestamp.c target
    c/Mf.*nt

original commit: d081c5b19a185597443f47101caa35b8c12084c7
2016-06-14 22:56:36 -04:00
yjqww6
6fd5cb7fdd modification on previous commit for blocking in expeditor
original commit: 02844bee98871bf03cf435441ba23556ad4fc6aa
2016-06-14 20:35:27 +08:00
yjqww6
2b94b98c06 Merge pull request #1 from cisco/master
update
original commit: 8b5090b0260ed7a9b43281e9690f46ff8f61adde
2016-06-14 18:40:19 +08:00
yjqww6
6d7f4089e1 fix thread blocked by expeditor
original commit: fa7516efa7bee58b2a7307e504ed97fc3bc69731
2016-06-11 00:49:25 +08:00
Bob Burger
39410c8447 - Cygwin is now used on Windows, updated mats, eliminated unused killme
- added a cast to eliminate warnings in c/number.c
- fixed bug in Windows version of directory-separator-predicate in s/6.ss when path-* procedures are passed a path that is not a string.
- fixed bug in s/cp0.ss on Windows with $foreign-wchar?.
- fixed spelling of non-existent

original commit: dd1b741f7572cb0d5a6210c7c796aee7c4026040
2016-06-10 10:07:07 -04:00
dybvig
e7852b36e5 - updated newrelease to produce the correct log-entry format and
fixed the existing 9.4.1 log entry
    newrelease, LOG
- replaced a couple of tabs
    number.c

original commit: 0f0468ffd26fcd08c052df484e651ac042d93b74
2016-05-18 23:48:37 -04:00
dybvig
aa62ffb153 * updated version to 9.4.1
bintar BUILDING NOTICE makefiles/Mf-install.in scheme.1.in
    c/Makefile.i3nt c/Makefile.a6nt c/Makefile.ti3nt c/Makefile.ta6nt
    mats/bldnt.bat workarea c/scheme.rc s/7.ss s/cmacros.ss
    release_notes/release_notes.stex csug/csug.stex

original commit: f0c9a4fbc082fa17c5bd3bd06d82365e77edc86b
2016-05-17 00:18:33 -04:00