Commit Graph

87 Commits

Author SHA1 Message Date
dyb
a004a67b3f - restored the map and for-each optimizations with a fix for the
evaluation-order bug.
    cp0.ss,
    4.ms

original commit: b395a763a3167c6a044273ea7deb000de35b0f09
2017-06-08 02:43:14 -04:00
dyb
74f0518c89 reverted to the preceding version of cp0 due to failure to preserve
the expected evaluation order in one of the mats; removed the
corresponding equivalent-expansion tests.
  cp0.ss,
  4.ms
rebuild boot files

original commit: 63c6ae5c2d4354a984bfc210f061c2c2123f0439
2017-06-08 01:06:29 -04:00
R. Kent Dybvig
9dd5ce7443 Merge branch 'master' into 17-4-Map-List
original commit: 72153ee9cfc2e353c690eadf6237432497063298
2017-06-07 22:58:50 -04:00
Gustavo Massaccesi
db9248a73e fix signature of fxbit-set?
primdata.ss

original commit: 517ee9d86e974abba5a5a25945b677b4f5b35469
2017-06-06 19:36:52 -03:00
R. Kent Dybvig
2f58873a96 Merge branch 'master' into strip
original commit: 185e989fcba29be4114c0ea3d8e9e680140d1d4a
2017-05-29 20:24:56 -04: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
bd922055d8 fix strip-fasl-file for immutable strings and vector
Also, fix an `$oops` in fasl-read` and fix `equal-hash-code` for
vectors.

original commit: cc8248b315f72ab6e0452e81e7aa23e4b5791011
2017-05-24 13:10:28 -06:00
Matthew Flatt
211fe4cbd7 tests and docs for ephemerons
original commit: 2ea7dcdfca1dea2c89c51c7e9ccd692ba673ba22
2017-05-24 09:38:58 -06:00
Gustavo Massaccesi
caa5949dc2 more optimizations for map and for-each with explicit list
extend the reductions for map and for-each when the arguments are
explicit lists like (list 1 2 3 ...) or '(1 2 3 ...).
  cp0.ss 4.ms

original commit: 4522ccdabd461370ad2d3fa91a92be0e6798d4d8
2017-05-13 14:54:37 -03:00
Bob Burger
323eb3c285 fix overflow detection for fxsll, fxarithmetic-shift-left and fxarithmetic-shift
original commit: f286688b64f877248ab8d8f00528d19363c6ceba
2017-05-05 15:28:29 -04:00
Bob Burger
d1a5bcf399 enum-set-indexer procedure now checks for a symbol, changed "isn't" to "is not" for consistency
original commit: 5df52745d793eb5a16cb6e55065f78f313170ed5
2017-05-05 15:22:46 -04:00
Gustavo Massaccesi
f58644991f fix reduction for map and for-each with optimization level 3
To drop the expression, check that procedure has the correct
arity and is discardable or unsafe.

Also add a simplification for for-each with empty lists
with optimization level 2.

  cp0.ss, 4.ms, primdata.ss

original commit: 7ad035a3bd63675a1b40106c841669e04e3299f2
2017-04-16 08:41:24 -03: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
dybvig
06c7b53344 expanded the CSUG description of the handling of command-line
arguments not recognized as standard options and added a description
of the same to the COMMAND-LINE OPTIONS section of the man page.
did a bit of minor cleanup elsewhere in the man page.
  use.stex, scheme.1.in

original commit: a963a4dbc872be084cbe0ede3f7c361bcabedea5
2017-04-11 13:42:58 -07: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
118e3f6fd9 added entry for record-type-equal-procedure and friends
release_notes.stex

original commit: 28cbb65f9796672bb9a85d3eb2d63cc149031a1e
2017-03-26 21:04:55 -04:00
dybvig
f290ab67c8 bootfiles and a couple of files I accidentally dropped from Matthhew's changes
original commit: 89085a059ae9ff15511dd8e033f5cdbee54bc97b
2017-03-24 12:13:35 -04:00
Matthew Flatt
d9c9e2b1a4 add record-type-equal-procedure, record-type-hash-procedure,
record-equal-procedure, and record-hash-procedure

original commit: 1e0fc38fe4df25804532baef87eaf30340e30bed
2017-03-24 07:22:59 -06:00
Kent Dybvig
3daedbcaa6 - fixed typo: fxvector-immutable-flag used in place of
bytevector-immutable-flag in computation of type-immutable-bytevector
    cmacros.ss
- reallocated typed-object types, using previously unused tag #b010
  for strings and giving bytevectors both #b001 and #b101 (the
  latter for immutable bytevectors) so that the maximum bytevector
  length on 32-bit machines is once again the most-positive fixnum.
  treating bytevectors rather than strings or fxvectors (or even
  vectors) special in this regard is appropriate since the maximum
  number of bytes in a bytevector is maximum-length x 1 rather than
  maximum-length x 4 for strings, fxvectors, and vectors on 32-bit
  machines.  with this change on 32-bit machines, a vector can
  occupy up to 1/2 of virtual memory, strings and fxvectors 1/4,
  and bytevectors 1/8.
    cmacros.ss
- remade boot files

original commit: 0694b3a5223ab937379e54079bc88d57309dc51f
2017-03-16 11:45:33 -04:00
Kent Dybvig
f825e23db2 - generated bytevector=? procedure now gets out quickly on eq
arguments.  cp0 optimizes away a number of additional equality
  operations at optimize-level 3 (including bytevector=?) when
  applied to the same variable references, as it already did for
  eq?, eqv?, and equal?, at all optimize levels.
    cpnanopass.ss, cp0.ss, primdata.ss,
    cp0.ms
- updated bullyx patches
    patch*
- updated release notes and tweaked user's guide.
    release-notes.stex, objects.stex

original commit: e90c39a72563eafa4fccaf1d197060bf20aa552f
2017-03-15 21:24:52 -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
Bob Burger
03072287e9 64-bit Windows double varargs
original commit: c343e7181b4c69589a7ce73fdfd11b23905a48d3
2017-03-13 15:46:49 -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
6cacbb61c5 Merge branch 'master' of github.com:cisco/chezscheme
original commit: f279c874b49175465c2e18e4543508a759367a8a
2017-03-13 00:00:48 -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
Andy Keep
33987d3401 reduced tests to conform to the travis-ci limits.
paired the 'partialx' down to just four test configurations, with one
interpreter run, to try to get the threaded builds into line with
travis-ci's timeout.
   mats/Mf-base

original commit: 6d8c871cd60228755660395e96087878ca9d040f
2017-03-12 16:28:40 -04:00
Andy Keep
f60d06c4e9 adding travis-ci automation to the master branch.
added travis-ci automation script and a 'partialx' testing target to
allow us to perform more than a single run of testing without running
afoul of travis-ci's 50-minute build timeout.  'partialx' tests six
of the twelve configurations tested by 'allx'.
   .travis.yml (new),
   mats/Mf-base

original commit: fdc8dc40e95b0977ab7bc07636585b71e56802a3
2017-03-12 14:56:04 -04:00
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