Commit Graph

57 Commits

Author SHA1 Message Date
dybvig
cb0a915f73 for non-win32 systems, now setting al register to a count of the
floating-point register arguments as required for varargs functions
by the System V ABI.
  x86_64.ss,
  foreign.ms
remade boot files

original commit: c5b6fe968f890bbef3488d570756cbe8da211326
2017-03-05 17:20:26 -05:00
Matthew Flatt
21fe925d06 add procedure-arity-mask
original commit: 4bd061000ab903feb3fe8e3b96ecbcb10c59dba9
2017-02-22 07:16:53 -07:00
Kent Dybvig
0063fa8596 - updated zlib to version 1.2.11
configure

original commit: 486005876bbfc33d63a6bacb99f6518e29fcbbcf
2017-02-14 00:14:26 -05:00
Kent Dybvig
a60093c073 fixed LOG entries for the last few commits to list the affected files
original commit: e8e40f497a1e67304ab0aaf3551992404b1a42a6
2017-02-13 12:30:12 -05:00
Graham Watt
08235195db Merge branch 'master' into format-twelfth
Conflicts:
	LOG

original commit: 9c5409184402cb6503550bfc2b2bdb1d596f74ca
2017-01-19 15:18:23 -05:00
Bob Burger
385738cd8a updated LOG
original commit: 3fe74ecbefb0cb323804322e0cdad3dcd8cc22ee
2017-01-16 11:48:45 -05:00
Graham Watt
fd2267959e Update LOG
original commit: dd30f176e39ae53cce89fa2de1711de554c84254
2017-01-10 11:24:13 -05:00
Chris Frisz
477698d4a8 Fix profile counters for non-s-expression source
Check both the beginning file pointer (bfp) and end file pointer (efp)
of the source location associated with a profile counter when updating
its count.

Assuming that each expression has a unique bfp with respect to profiling
seems to give accurate execution counts for s-expression-based source
locations as in Scheme, but causes problems when targeting other kinds
of syntax. For instance, a C-style function call, referencing the called
function by name, such as "fn(arg)", can logically have profile counters
associated with 1) the function name reference ("fn") and 2) the entire
function call expression ("fn(arg)"), both of which begin at the same
source location. Only the bfp is checked when updating profile counters,
so the two source locations are conflated, and only one counter is
incremented, which gives inaccurate execution counts for both locations;
approximately twice as many for one, and zero for the other.

original commit: d364b05c3c9cd2b299fc20a6f5ec255ab7bd6718
2016-11-02 15:14:34 -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
Jamie Taylor
7df230607b updated the sockets example to work with the current version of Chez.
Change the foreign procedure definitions to use the more portable int
  rather than integer-32.  Switch to a custom port
  [make-custom-binary-input/output-port] rather than a generic port
  [make-input/output-port], which resulted in deleting quite a bit of
  code.  Fix various compiler warnings in the C code, and along the way,
  fix a signedness bug in c_write that could have resulted in not writing
  the full buffer (but reporting that it did) in the case of errors from
  write.
    examples/csocket.c, examples/socket.ss

original commit: 9dfa900b251ba480ea13b1796a58d7398146d0b9
2016-09-12 14:29:02 -04:00
dybvig
c680147c5b - added descriptions of print-extended-identifiers to the user's guide
and release notes.  updated the release notes to account for a couple
  of other log entries.
    release_notes.stex,
    intro.stex, io.stex

original commit: 7d1bbdaaccc6640e1529fdbd8b40a8ff7012bee4
2016-08-22 23:34:32 -04:00
dybvig
0bd87e4c4d - added tests for the case and exclusive-cond syntax-error calls
4.ms, root-experr-compile-0-f-f-f
- added print-extended-identifier parameter.  when #t, symbols like
  1+ and +++ print without escapes.
    priminfo.ss, print.ss,
    6.ms

original commit: 603019ea82afda1926462214576ef92df15e43c8
2016-08-22 21:41:53 -04:00
Gavin Whelan
339e25d47e - fixed a bug in case and exclusive-cond syntax-error calls causing an
exception in syntax-error instead of the intended error message.
    s/syntax.ss

original commit: 17a5c5d27b02b7c4a1edc5ee36a6aa43de62c4cb
2016-08-21 23:38:57 -04:00
dybvig
7bc1af89c8 - instead of default-exception handler, new-cafe establishes a handler
that calls the current value of base-exception-handler so the handler
  can be overridden, as we do in our own make files.
    cafe.ss,
    7.ms

original commit: 99b763e30d22b205106ef9a84ea2e0a928fd0b30
2016-08-21 10:54:26 -04:00
dybvig
ca1560f4d0 - fixed a side-effect preservation bug with non-trivial test-context
not-like patterns.
    cp0.ss,
    cp0.ms, 4.ms

original commit: 5626f4433d886c43d40b4ec4fedc8b34fa6d0bb2
2016-08-14 10:19:22 -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
88e29168b8 Merge branch 'master' of github.com:cisco/chezscheme
original commit: feea4550cc6818b529ceb808c6a31a244a6a227b
2016-07-31 22:10:26 -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
dybvig
fde2de6249 Merge branch 'master' of git://github.com/michaellenaghan/ChezScheme into michaellenaghan-master
original commit: cdb20639749b7a38f85629a1db46b29624a588ad
2016-07-30 14:36:14 -04:00
Michael Lenaghan
df46cb5653 Add a LOG entry.
original commit: 8f17211bb00d48ee321aa0b4de450e598723a0a9
2016-07-29 12:36:59 -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
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
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
8935c6fbd9 - updated the descriptions of statistics and related functions to
reflect the Version 9.3.1 change from sstats structures to sstats
  records, with sstats times represented as time objects and sstats
  bytes and counts represented as exact integers; also updated the
  sstats-difference description to reflect that it no longer coerces
  negative differences to zero.  added a corresponding release note.
    system.stex,
    release_notes.stex

original commit: cd93f130c2a911d67bc19b75da0f205d50b8f6ff
2016-06-09 00:11:45 -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
dybvig
e50b0eb992 adding LOG entry for pdhtml.ss changes
original commit: 4f624b82ec5d1c2ae044efeaba253e3454dfcd02
2016-05-16 16:28:06 -04:00
Andy Keep
0a13cc54aa - fixed embarrassing typo in read me.
README.md

original commit: 2bdf1427fc8a4e931fb814c371e8f6c757ef2002
2016-05-16 14:51:23 -04:00
Andy Keep
73ecb0cd4b - updated the Windows makefiles for building and testing to remove links for
files that no longer exist, which was getting in the way of creating links
  for files that do exist.  Also updated the build batch file for Windows to
  compile the nanopass framework separately before building the rest of the
  scheme compiler and libraries.
    s/Mf-{a6,i3,ta6,ti3}nt, s/bldnt.bat,
    mats/Mf-{a6,i3,ta6,ti3}nt
- updated the read me to include a link to the Chez Scheme project page.
    README.md

original commit: 969fbf3b69f4ac9729847bae80dab92464b6d08c
2016-05-16 14:42:33 -04:00
Andy Keep
820f7bccb9 - updated the fix to S_mktime to work on windows. the struct tm
structure on windows does not have the tm_gmtoff field used in the
  mac and linux version of the code.
    stats.c

original commit: 4339b856d85de4c949ef7c4e66ec679512809a58
2016-05-15 00:16:15 -04:00
dybvig
f5940acbc0 - updated to curl stex version 1.2.1
configure

original commit: 466349bae54a09010b8430a3b9853b96b06916a7
2016-05-12 23:25:28 -07:00
dybvig
c2b7d0c5cc - corrected CHEZSCHEMELIBS and CHEZSCHEMEEXTS index entries to be
CHEZSCHEMELIBDIRS and CHEZSCHEMELIBEXTS.
    use.stex

original commit: ce147cc9c68dd87dd1c7ea162e633c60a662f319
2016-05-12 13:29:59 -07:00
Andy Keep
a80f0fb0b3 - added custom install options. workarea creates an empty config.h,
and configure creates a config.h that sets the default scheme heap
  path and scheme-script name based on the actual configuration.
    configure, newrelease, workarea, checkin,
    c/Mf-base, scheme.c, main.c,
    Mf-install.in
- renamed the installed example directory from lib to examples.
    Mf-install.in,
    scheme.1.in
- added force option to gzip during man page install to prevent gzip from
  asking for permission to overwrite existing man page files.
    Mf-install.in
- removed ~/lib/csv%v/%m from the default scheme heap path on unix-like
  systems.  documented inclusion of %x\..\..\boot\%m in the Windows
  default scheme heap path.
    main.c,
    use.stex
- added new configuration options: --installbin, --installlib,
  --installschemename, --installpetitename, and --installscriptname.
    configure
- updated the example library link to the nanopass framework.
    CONTRIBUTING.md
- now cleaning up petite.1 and scheme.1 left behind by make install
    Makefile-workarea.in, checkin
- now removing workarea after cleaning csug and release_notes so
  Mf-stex (included from csug/Makefile and release_notes/Makefile)
  doesn't complain trying to determine the machine type.
    Makefile.in
- added installsh support for --ifdiff so the csug make file can use it
  for the install target.
    installsh,
    csug/Makefile
- added instructions for building (cross-compiling) a boot file for
  a supported machine type for which a boot file is not built by default.
    BUILDING

original commit: df4194c83a9e67d1ec20165fc3e2def4ed8e8986
2016-05-06 18:30:06 -04:00
Andy Keep
bf23095a18 fixed LOG conflict
original commit: 40c15413e3803801146c15fa4010fde62ea7ede3
2016-05-06 16:40:42 -04:00
dybvig
9c1721c466 - compile-whole-program and compile-whole-library now copy the hash-bang
line from the wpo file (if it has one) to the object file.
    compile.ss,
    7.ms
- stex is now a submodule.  csug/Makefile and release_notes/Makefile
  set and use the required Scheme and STEXLIB variables accordingly.
  they default the machine type to a6le, but this can be overridden
  and is by the generated top-level Makefile.  the generated top-level
  Makefile now has a new docs target that runs make in both csug and
  release_notes, and an updated distclean target that cleans the same.
  the annoying csug Makefile .fig.pdf rule redefinition is now gone.
  copyright.stex and csug.stex now list May 2016 as the revision month
  and date; this will have to be updated for future releases.
    configure, makefiles/Makefile.in,
    csug/Makefile, copyright.stex, csug.stex,
    release_notes/Makefile
- rebuilt the boot files

original commit: 4bd78a692dd4ca2f88af5d404fd0993a2d141e7b
2016-05-04 20:35:38 -04:00
dybvig
5299f8c14e minor edits to to strnum.ss comments and LOG. rebuilt boot files.
original commit: 57a32da75084ff7baf5f6f290c1b0afc75230756
2016-05-01 21:33:49 -04:00
dybvig
83f6c935e9 Merge branch 'master' of github.com:cisco/chezscheme
original commit: f5a668eeb104edb70c0188c15c2588b3618e0470
2016-05-01 16:08:02 -04:00
dybvig
bf38db8ed9 - modified floatify_normalize to properly round denormalized results and
obviated scale_float in the process.
    number.c,
    ieee.ms
- fixed 0eNNNN for large NNNN to produce 0.0 rather than infinity
    strnum.ss,
    5_3.ms
- the reader now raises an exception with condition type implementation
  restriction (among the other usual lexical condition types), and
  string->number now raises #f, for #e<m>@<a>, where <m> and <a> are
  nonzero integers, since Chez Scheme can't represent polar numbers other
  than 0@<a> and <m>@0 exactly.  <m>@<a> still produces an inexact result,
  i.e., we're still extending the set of inexact numeric constants beyond
  what R6RS dictates.  doing this required a rework of $str->num, which
  turned into a fairly extensive rewrite that fixed up a few other minor
  issues (like r6rs:string->number improperly allowing 1/2e10) and
  eliminated the need for consumers to call $str->num twice in cases
  where it actually produces a number.  added some related new tests,
  including several found lacking by profiling.  added a couple of
  checks to number->string whose absence was causing argument errors to
  be reported by other routines.
    strnum.ss, exceptions.ss, read.ss
    5_3.ms, 6.ms, root-experr*, patch*
- added pdtml flag, which if set to t causes profile-dump-html to be
  called at the end of a mat run.
    mats/Mf-base

original commit: 03f2fe86171b0fd096238280b351ce365c701450
2016-05-01 16:05:40 -04:00
Andy Keep
ba1c8113f4 Slightly extended @hyln9 tests in 7.ms, rebuilt the boot files and added a comma to the log.
7.ms, boot/*/{petite,scheme}.boot, LOG

original commit: 8343b7172532a00d2d19914206fcf83c93798c80
2016-05-01 19:21:46 +00:00
Virgil Hou
1e9941edee - fixed incorrect handling of library-extension when searching wpo files
compile.ss

original commit: 4c0726f7174ca2cdb6d1c5862da88fad6d10c840
2016-05-01 15:00:27 +08:00
A. Green
182e1fe9cf updates to LOG are required for code changes to cisco master.
original commit: 3aea8003e2428bc5bd88900eef5ab33ef29f7fc1
2016-04-29 04:58:08 -06:00
Andy Keep
cfe66a259b - fixed date->time-utc to honor the zone-offset field when converting a date
object to a time-utc object.
    stats.c,
    date.ms

original commit: 63a97939896c2a89fcffdf16c8b783efaeb816b5
2016-04-29 00:43:06 -04:00