Commit Graph

295 Commits

Author SHA1 Message Date
Andy Keep
6b1320eb67 Merge branch 'master' into 17-10-Enumerate
original commit: ec7dfdee5081f0e415e2922e1b6ded91f66d77a7
2017-12-05 13:48:44 -05:00
Andy Keep
280e3632bb Merge branch 'master' into 17-10-Enumerate
original commit: 1ca717c9ece587f08a654772a72f1452357ca389
2017-12-05 12:22:07 -05:00
Andy Keep
c7595427d1 Merge pull request #240 from gus-massa/17-12-BV-Native
fix bytevector-[u/s]16-native-set! signature
original commit: c073c364e3da5a3b6a6cbc4b1e0f6c899670f6b3
2017-12-05 12:21:04 -05:00
Gustavo Massaccesi
1ecfb04a58 fix bytevector-[u/s]16-native-set! signature
original commit: 5d4e2fa1b2cf1ad7011b94b2b5262f734d5f0530
2017-12-05 12:43:49 -03:00
Bob Burger
449d7c7f38 Merge pull request #239 from barak/master
fixed a couple typos
original commit: 073dbccf7fec0b2856c2f85e5f3636f2702c630b
2017-12-04 09:47:22 -05:00
Barak A. Pearlmutter
877bf5e25b spelling
original commit: bf67725d5538defc7e006b0fb7a2eb95993b6f34
2017-12-04 09:35:31 +00:00
Andy Keep
07987daf04 Merge branch 'master' into 17-10-Enumerate
original commit: ad54c2dddd68ca5aec37f0837f72cbfdaac6bb7b
2017-11-24 09:27:36 -05:00
Bob Burger
db1ce365fc fixed two typos
original commit: 2d1d3ad5fcf4b63423d9e7ff783315792ac81626
2017-11-22 10:38:33 -05:00
dyb
b453ab1582 updated release notes with entry about improved compile times
for procedures with large numbers of variables

original commit: bc117fd4d567a6863689fec6814882a0f04e577a
2017-11-09 11:12:34 -05:00
dyb
893dfe5d35 maybe-compile-{file,program,library} and automatic import
compilation now treat a malformed object file as if it were
not present and needs to be regenerated.  A malformed object
file (particularly a truncated one) might occur if the compiling
processes is killed or aborts before it has a chance to delete
a partial object file.
  syntax.ss,
  7.ms

original commit: c2cb8c79a925c0eb2f9d589e3a497712800bd1dc
2017-11-07 21:49:08 -05:00
dyb
431c1af87f updated CSUG pointer
original commit: 93b428e656504852a3efb154217e4f7779d74c1d
2017-11-02 10:37:55 -04:00
dyb
59d2ca053c Merge branch 'master' of github.com:cisco/chezscheme
original commit: 5cfeee1f12507b70a1aa9fe1fd2094c8ff592bca
2017-10-30 21:02:54 -04:00
dyb
64b0db8e30 fixed gather-filedata's sort of profile entries. for any two
entries x and y in the list produced by the sort call, if x's
bfp = y's bfp, x should come before y if x's efp < y's efp.
The idea is that enclosing entries should always come later
in the list.  this affects only languages where two expressions
can start at the same character position.
  pdhtml.ss
expanded capability of ez-grammar with support for simpl
parsing of binary operators w/precedence and associativity
and automatically generated markdown grammar descriptions.
ez-grammar-test.ss now also doubles as a test of pdhtml for
algebraic languages.
  mats/examples.ms,
  examples/ez-grammar.ss, examples/ez-grammar-test.ss,
  examples/Makefile

original commit: 53b8d16a1e86f3956585dbec0c7b573e485f7844
2017-10-30 21:01:43 -04:00
Bob Burger
029fe628f3 updated newrelease to handle mats/Mf-*nt
original commit: 02a321479626d2a9e9f5ee0d5b4862eaed4859c8
2017-10-30 17:32:37 -04:00
dyb
9b6b6d32ee attempt to stabilize timing tests let-values source-caching
test and ephemeron gc test while resensitizing the former
  8.ms, 4.ms
various formatting and comment corrections
  workarea,
  s/Mf-base, bytevector.ss, cpnanopass.ss, date.ss,
  5_6.ms, examples.ms

original commit: 19e2505fc6477fce2d1d0e61187bd504b58ea994
2017-10-29 17:48:43 -04:00
dyb
0d236d959c fixed LOG entry
original commit: 328cb00845cc52fa89c3e558bfdab2fcf8f3bee1
2017-10-27 23:21:28 -04:00
dyb
983e8b6c00 Numerous changes to improve register/frame allocation speed for
procedures with large numbers of variables:
- added pass-time tracking for pre-cpnanopass passes to compile.
    compile.ss
- added inline handler for fxdiv-and-mod
    cp0.ss, primdata.ss
- changed order in which return-point operations are done (adjust
  sfp first, then store return values, then restore local saves) to
  avoid storing return values to homes beyond the end of the stack
  in cases where adjusting sfp might result in a call to dooverflood.
    cpnanopass.ss, np-languages.ss
- removed unused {make-,}asm-return-registers bindings
    cpnanopass.ss
- corrected the max-fv value field of the lambda produced by the
  hand-coded bytevector=? handler.
    cpnanopass.ss
- reduced live-pointer and inspector free-variable mask computation
  overhead
    cpnanopass.ss
- moved regvec cset copies to driver so they aren't copied each
  time a uvar is assigned to a register.  removed checks for
  missing register csets, since registers always have csets.
    cpnanopass.ss
- added closure-rep else clause in record-inspector-information!.
    cpnanopass.ss
- augmented tree representation with a constant representation
  for full trees to reduce the overhead of manipulating trees or
  subtress with all bits set.
    cpnanopass.ss
- tree-for-each now takes start and end offsets; this cuts the
  cost of traversing and applying the action when the range of
  applicable offsets is other than 0..tree-size.
    cpnanopass.ss
- introduced the notion of poison variables to reduce the cost of
  register/frame allocation for procedures with large sets of local
  variables.  When the number of local variables exceeds a given
  limit (currently hardwired to 1000), each variable with a large
  live range is considered poison.  A reasonable set of variables
  with large live ranges (the set of poison variables) is computed
  by successive approximation to avoid excessive overhead.  Poison
  variables directly conflict with all spillables, and all non-poison
  spillables indirectly conflict with all poison spillables through
  a shared poison-cset.  Thus poison variables cannot live in the
  same location as any other variable, i.e., they poison the location.
  Conflicts between frame locations and poison variables are handled
  normally, which allows poison variables to be assigned to
  move-related frame homes.  Poison variables are spilled prior to
  register allocation, so conflicts between registers and poison
  variables are not represented.  move relations between poison
  variables and frame variables are recorded as usual, but other
  move relations involving poison variables are not recorded.
    cpnanopass.ss, np-languages.ss
- changed the way a uvar's degree is decremented by remove-victim!.
  instead of checking for a conflict between each pair of victim
  and keeper and decrementing when the conflict is found, remove-victim!
  now decrements the degree of each var in each victim's conflict
  set.  while this might decrement other victims' degrees unnecessarily,
  it can be much less expensive when large numbers of variables are
  involved, since the number of conflicts between two non-poison
  variables should be small due to the selection process for
  (non-)poison variables and the fact that the unspillables introduced
  by instruction selection should also have few conflicts.  That
  is, it reduces the worst-case complexity of decrementing degrees
  from O(n^2) to O(n).
    cpnanopass.ss
- took advice in compute-degree! comment to increment the uvars in
  each registers csets rather than looping over the registers for
  each uvar asking whether the register conflicts with the uvar.
    cpnanopass.ss
- assign-new-frame! now zeros out save-weight for local saves, since
  once they are explicitly saved and restored, they are no longer
  call-live and thus have no save cost.
    cpnanopass.ss
- desensitized the let-values source-caching timing test slightly
    8.ms
- updated allx, bullyx patches
    patch*

original commit: 3a49d0193ae57b8e31ec6a00b5b49db31a52373f
2017-10-27 23:16:47 -04:00
Gustavo Massaccesi
425b39da5b fix enumerate signature
original commit: f28167b985190ebab58a1c58d7693077ee29e96a
2017-10-15 23:11:21 -03:00
Andy Keep
8d5ba12887 Added generated docs and intermediate files to .gitignore
original commit: 1558dca8c23284d5718715ff0b1950204794f086
2017-10-14 12:32:44 -04:00
Andy Keep
59e6db7a61 Merge branch 'master' of github.com:cisco/ChezScheme
original commit: 1febe9b1a1e1cde4b7be8bc562153ee4b42afd8c
2017-10-14 00:00:19 -04:00
Andy Keep
b681ad9738 - Updated CSUG to replace \INSERTREVISIONMONTHSPACEYEAR with the current
month and year at the time of generation.
    csug.stex, copyright.stex
- Updated configuration to set machine types in the CSUG and release notes
  make files, and updated distclean target to remove these files.
    configure, makefiles/Makefile-csug.in (renamed from csug/Makefile),
    makefiles/Makefile-release_notes.in
      (renamed from release_notes/Makefile),
    makefiles/Makefile

original commit: d4fdb3e0c88c40cceeeeeb52032068408edc7a6e
2017-10-13 23:50:20 -04:00
dyb
3f79fa0c65 - ifdef'd out include of xlocale.h for glibc, since the glibc
locale.h includes xlocale.h or, in glibc 2.26, its replacement.
    expeditor.c

original commit: b04e9123a427034a39fc9084ba2a8b04608bbb3b
2017-10-13 16:59:16 -04:00
dyb
09366c6247 - the $case macro used by r6rs:case and case now unconditionally trims
redundant keys and expands into exclusive-cond rather than cond.
  it catches references to => before expanding into exclusive-cond
  to avoid supporting => as an undocumented and useless extension
  of the case syntax.  the r6rs:case and case macros now require
  multiple clauses rather than leaving the enforcement to exclusive-cond,
  and the exclusive-cond macro now requires multiple clauses rather
  than leaving the enforcement to cond.
    syntax.ss,
    4.ms, root-experr*, patch*

original commit: 303921d8515b101c558a056dcf9c05f7cad97f4a
2017-10-13 14:33:32 -04:00
dyb
f102c718c6 no longer using replacements for \tt underscore, tilde, at-sign, dots,
and curly braces, since the current cmtt font seems to support these
characters better than it once did.
  csug/scheme.sty
  release_notes/scheme.sty

original commit: f6c57b55cfbe34b269a606bd96983d62191a9aa1
2017-10-12 23:48:32 -04:00
dyb
820c74012c updated to handle the case when a submodule directory is missing.
configure

original commit: ebef2e8fea60ca9b5130b6f1ffe3371c02ac32c8
2017-10-12 22:51:39 -04:00
dyb
9c5617a94d updated for wininstall files and a bit of other cleanup
newrelease

original commit: 172e55e72cd95bf681e7807f62b2d9daca700c28
2017-10-12 18:07:30 -04:00
Bob Burger
4a3e756767 more version number updates
original commit: 35ea1941338338894a05b57cd6656a4b58fc1a17
2017-10-12 10:05:30 -04:00
dyb
e7fd8172a0 - Added setting of CHEZSCHEMELIBDIRS to s and mats make files so that
an existing setting will not interfere with the build process, and
  added a note to BUILDING that CHEZSCHEMELIBDIRS should be unset in
  Version 9.5 and before.
    s/Mf-base, mats/Mf-base, BUILDING

original commit: 1cccd56693911a38ece784da677e35f724950700
2017-10-12 09:47:58 -04:00
dyb
e55e744c4d - updated version to 9.5.1
bintar BUILDING NOTICE makefiles/Mf-install.in scheme.1.in
    c/Makefile.i3nt c/Makefile.a6nt c/Makefile.ti3nt c/Makefile.ta6nt
    workarea c/scheme.rc s/7.ss s/cmacros.ss
    release_notes/release_notes.stex csug/csug.stex

original commit: c9c45641cc50b073329cc6d219140cf93fbd5c4c
2017-10-11 19:57:53 -04:00
dyb
3c8c45328a install target now copies csug.pdf to install directory
original commit: 8fbcef7dfd6aaaf78b6571f2ad47a5ea13b290c7
2017-10-11 18:57:33 -04:00
dyb
5705bf3a69 - added version number to scheme.1.in trailer; updated date.
scheme.1.in, newrelease
- removed version update of no-longer-existing bldnt.bat.  "fixed"
  sed patterns to replace \? with * for the benefit of the deficient
  mac sed.
    newrelease
- updated version to 9.5
    bintar BUILDING NOTICE makefiles/Mf-install.in scheme.1.in
    c/Makefile.i3nt c/Makefile.a6nt c/Makefile.ti3nt c/Makefile.ta6nt
    workarea c/scheme.rc s/7.ss s/cmacros.ss
    release_notes/release_notes.stex csug/csug.stex
- updated release notes and fixed user's guide overfull hbox.
    release-notes.stex, syntax.stex
- updated install target to do something more sensible
    release_notes/Makefile

original commit: adb3b7bb22ddaa1ba91b98b6f4a647427c3a4d9b
2017-10-11 18:26:23 -04:00
dyb
e5ee788d6f - renamed s_gettime => S_gettime to remain consistent with the
convention that the only undocumented externs are prefixed with
  S_.
    externs.h, stats.c, thread.c

original commit: 898c3941d807a18c393a4575a72283e3671ee7e5
2017-10-11 16:35:24 -04:00
R. Kent Dybvig
69455857d2 Merge pull request #218 from jasonhemann/ouch-fix
small change in documentation, ouch to shout OUCH
original commit: 6bec89cee0c20a04d279a18bd570f66abfd0b874
2017-10-11 16:11:16 -04:00
Jason Hemann
934e202fde small change in documentation, ouch to shout OUCH
original commit: ad3fd16deebf8e6308d1e4726d6f5dc1fa8067e8
2017-10-11 15:53:43 -04:00
Andy Keep
baa7ebe0c5 Merge pull request #217 from gus-massa/17-10-Carry
Fix cp0 reduction of fx[+-*]/carry and their signatures
original commit: 5fdf60277c33915852a6bfa5cabe164c98e844d5
2017-10-09 22:53:19 -04:00
Gustavo Massaccesi
070dd62d0d fix cp0 reduction of fx[+-*]/carry and their signatures
cp0.ss
  primdata.ss
  fx.ms

original commit: 8c0ec93c9eb16bae8a920bb9b5e2f9d3e96ed250
2017-10-09 12:09:50 -03:00
Bob Burger
022bf715be removed a useless check in foreign-alloc
original commit: a629477f50dffd0cdc838276bbbf31f06504d958
2017-09-15 09:49:00 -04:00
Andy Keep
d9068c2642 Updating boot files.
original commit: b79099636e5ef82c8f80e56f5aede3a90d0c1f39
2017-08-31 23:36:13 -04:00
Andy Keep
c854ef9ab7 - fixed np-normalize-context pass to process trivs list in mvset forms
in tail and predicate context and added regression tests.  Thanks to
  @marcomaggi for reporting the bug and @yjqww6 for providing a
  simplified test and finding the initial solution.
    cpnanopass.ss,
    3.ms

original commit: 28f31d84b6c45e2fa701655e9131801dd603d925
2017-08-31 23:24:14 -04:00
Bob Burger
55323a372b Merge pull request #205 from kleinpa/installer
Refactor windows installers and fix vcredist
original commit: e00e8a113cfdc1d6294e1f36fa46e3ee715ea517
2017-08-31 13:09:48 -04:00
Peter Klein
16e8291539 Refactor windows installers and fix vcredist
- Separate 64 and 32 bit MSIs
- Add wix bundle to combine MSIs into single installer
- Use basic wix UI
- Use merge modules to install vcredist package
- Add script to locate vcredist merge modules
- Fix installer status text by adding WixUI_ErrorProgressText ref

Merge modules seems to be the preferred method for installing the
redistributable package, which should decrease the package size and
speed up installation. This commit also addresses a bug where the
installer does not work when VC redistributable is not already
installed.

The 32 and 64 bit components were split into separate MSIs because
Windows Installer only officially supports packages containing a
single architecture. A package bundle is then created containing both
MSIs so only a single file needs to be distributed.

There seemed to be no trivial way to get the path to the vcredist
merge modules bundled with visual studio so I added a script
(locate-vcredist.bat) that handles this. It will need to be updated in
the future for compatibility with newer VS platform toolsets.

Some paths and name were changed, here's a summary:

32-bit install path: C:\Program Files (x86)\Chez Scheme 9.4.1\
64-bit install path: C:\Program Files\Chez Scheme 9.4.1\
installer file name: ChezScheme.exe
installer product name: Chez Scheme 9.4.1 x64

original commit: a8867749df27db41ebbafeb0dc914e5e6680cf9e
2017-08-30 21:08:40 -04:00
Bob Burger
8e889443d4 fixed typo in comment
original commit: 93a5d4fbfc3c9d77957e6be1e14a88f0365720fe
2017-08-23 13:56:40 -04:00
Bob Burger
0bff5921aa Merge pull request #199 from kleinpa/master
Add support for building with Visual Studio 2017 BuildTools
original commit: 42a0d34bf79dede2f24a2982997da4827cf6697a
2017-08-18 12:05:02 -04:00
Peter Klein
29b81a5ade Add support for building with Visual Studio BuildTools
original commit: d6517a5befd5f2fa17cc3557c9262455520b1010
2017-08-18 11:03:32 -04:00
Bob Burger
be634ff738 fix c/vs.bat for Visual Studio 2017 when %USERPROFILE%\Source exists
original commit: 9289177cc07782674c17555a37fd0e769da742ae
2017-08-15 17:07:12 -04:00
Bob Burger
6c4c4d0b12 added support for building Windows installs with Bash/WSL
original commit: f6780ec692e89cf8f5d55734b351b840e9321333
2017-08-14 11:32:29 -04:00
Bob Burger
5c5bdcd841 added support for Microsoft Visual Studio 2017 on Windows
updated ez-grammar-test to write temp files to current directory and delete them when finished

original commit: 89885b73d679759de9c62bab0b407318df123d6f
2017-08-11 13:10:37 -04:00
dybvig
ff64811604 - added "ez-grammar" example program
examples/ez-grammar.ss, examples/ez-grammar-test.ss,
    examples/Makefile, examples.ms

original commit: dd0dec63e7c333d2edc51e7340a8b14e7e3d130b
2017-08-08 22:04:52 -04:00
Bob Burger
7ba018bd41 fixed broken mats on Windows caused by Bash/WSL changes
original commit: 996ba3897f1c4ea27b4b6a15264dc6f6a14c6cdb
2017-08-03 11:51:16 -04:00
R. Kent Dybvig
f09043b073 Merge pull request #177 from mflatt/filepos
add file-position-object and eager source-line counting
original commit: 75107ee73f3619e1afcf043822cf5fbf675522e3
2017-08-01 09:00:22 -04:00