Commit Graph

643 Commits

Author SHA1 Message Date
Gustavo Massaccesi
b2f9a3e11f Add more operations to fxmap
original commit: 304cc0adc4dc881dea4d17695b73bf345da07dca
2018-04-12 21:53:28 -03:00
Jon Zeppieri
1a5f731752 Add fxmap for cptypes
original commit: 6c6ff6f6ef513ed586bab4b6bc6bfa4676daed98
2018-04-12 21:53:24 -03:00
Jon Zeppieri
168065175d Hashing of prelex for cptypes
original commit: c3d5c784cdf1ffe73abc35f824e588509d98df38
2018-04-12 21:53:20 -03:00
Gustavo Massaccesi
e37833b603 Add signatures field to primref record
primref.ss, primvars.ss

original commit: 0d044806bd5c645bf2c4caf701c2615d6150f8bf
2018-04-12 21:53:16 -03:00
Andy Keep
7f308c1006 Changed the travis-ci monitoring image to match the current brnach (master).
original commit: 95f0a9073b970cacc3db4c300c7a7507c2dc7533
2018-04-09 21:47:03 -04:00
Andy Keep
946eb7ab0a Merge branch 'master' into build-support
original commit: 5806e07f1899bca867523a5ad973caa668cc7e1d
2018-04-09 21:44:32 -04:00
Andy Keep
e79f9a66eb Fixes #273 (on master this time) with -Wno-implicit-fallthrough
Embarrassingly, I committed this change on the wrong branch initially.
Added -Wno-implicit-fallthrough flag to macOS C makefiles.
  c/Mf-a6osx, c/Mf-i3osx, c/Mf-ta6osx, c/Mf-ti3osx

original commit: 8eb8336a7d2870f8e592f060bab8321703e40b48
2018-04-08 12:22:25 -04:00
dyb
052e48e9e8 committing @akeep library change with rebuilt boot files:
- fixed an issue with the library system where an exception that occurs
  during visit or revisit left the library in an inconsistent state that
  caused it to appear that it was still in the process of running.  This
  manifested in it raising a cyclic dependency exception, even though
  there really is not a cyclic dependency.  The various library
  management functions involved will now reset the part of the library
  when an exception occurs.  This also means that if the library visit
  or revisit failed for a transient reason (such as a missing or
  incorrect library version that can be fixed by updating the
  library-directories) it is now possible to recover from these errors.
    expand-lang.ss, syntax.ss, interpret.ss, compile.ss, cprep.ss,
    8.ms

original commit: 6dbd72496fb4eaf5fb65453d0ae0a75f0ef2ad80
2018-04-05 21:28:33 -07:00
dyb
30934965f3 - added identifier? checks to detect attempts to use non-identifier
field names in define-record-type field specs.
    syntax.ss,
    record.ms, root-experr*

original commit: be022d947b3831afcb4c538151899f9bd6559615
2018-04-04 15:34:54 -07:00
Matthew Flatt
9aa1fc4caa add collect-rendezvous
original commit: f7cb82d97e34b14bfbafe635b0d4a294527b02c3
2018-04-02 13:52:03 -04:00
Oscar Waddell
9d1b935705 standalone export form now handles (import import-spec ...)
original commit: 09b6745679892fe2fac761d5849fe78b87d57dcf
2018-04-02 10:44:17 -04:00
dyb
b3cf76c3e8 Makefile-csug.in install target is now consistent with the project
page csug directory and pdf names, and newrelease now updates
Makefile-csug.in accordingly.

original commit: 63b1e7237d82d3af3ec594c35e3d5b9c7e58ae54
2018-03-28 09:25:20 -07:00
dyb
9991dd14ae fixed typo reported by github:@guenchi
original commit: 27e2a5c2d076e03ac6a70da06250a393f2253ea1
2018-03-28 08:56:54 -07:00
Matthew Flatt
7c94235f6b Change __thread to __collect_safe
Also, report an error if a string type is misused as an argument (for
foreign procedures) or result (for foreign callables) with
`__collect_safe`.

original commit: cdbfa3d86cb0719bf0979b3fe0aa5c4383282b77
2018-03-28 09:29:47 -06:00
dyb
718cfada6f corrected typo reported by github:@ocyzl
original commit: 5b6b89cd8f030d7a94194d94bed8f56fade5af34
2018-03-27 14:06:42 -07:00
Oscar Waddell
68e1ae0ece install equates.h, kernel.o, and main.o on unix-like systems
original commit: fd7812d05c791e05eb65982c93bd8c36f7a0404f
2018-03-27 13:03:48 -04:00
Matthew Flatt
22d4fd9978 Add __thread foreign-call convention
See the `foreign-callable` docs for a good example use.

original commit: e3463c78c511ad861dfa49865bb447e9777f9eb8
2018-03-14 17:20:33 -06:00
dybvig
aa8bea9648 reworked the S_call_help/S_return CCHAIN handling to fix a bug in which
the signal handler could trip over the NULL jumpbuf in a CCHAIN record.
  schlib.c
remade boot files

original commit: d8c270403121547101cb523cc1f80a569dbb0378
2018-03-13 12:28:20 -04:00
R. Kent Dybvig
062e6a6e4e Merge pull request #213 from mflatt/fp-struct
Foreign-procedure struct args and results
original commit: de860f2f4c50eeda7e540b7b44fd7d0d1b7dad90
2018-03-13 09:11:59 -04:00
Matthew Flatt
743800bbb5 support struct args to and results from foreign procedures
original commit: f0a94bdb9f57c1bf7ffbb66693fb5476a6f0e65b
2018-03-12 21:01:47 -06:00
Bob Burger
fb9d36e050 Use spin loop instead of Sleep for more robust race condition mitigation
original commit: fb9f854d449ee96cccb63a12629a729046f0bee1
2018-02-21 16:39:26 -05:00
Bob Burger
6b1259cfef Mitigate a race condition in Windows when deleting files and directories.
original commit: 1a13def8d6570babe378f4c63b5a488fac58ed3f
2018-02-21 16:05:21 -05:00
Bob Burger
5f704d57da fix ftype mats on Windows by unsetting the CL environment variable
original commit: 829d7f52e7e35e2277c4c5037b9d70771df4541c
2018-02-21 11:40:08 -05:00
dyb
de7a304653 Merge branch 'gus-massa-18-2-Map-Null'
original commit: 772766cc7ff8735908062ade7da44ce084ae012b
2018-02-18 20:44:26 -05:00
dyb
59c87c8e9f minor corrections to 4.ms; updated root-experr-compile-{0,2}-f-f-f
original commit: 86591f9dd45f36aa0e7d320d2286ffdb1b49076e
2018-02-18 20:41:15 -05:00
Gustavo Massaccesi
4991067ed7 Remove special case for (#2%map p '()) in cp0
So the reduced version checks that p is a procedure
Also make the same change for #2%for-each.
  cp0.ss, 4.ms

original commit: 5caa11c85bc74c0af25ac215d48b7f5f0c1d3e42
2018-02-13 17:47:43 -03:00
dybvig
af60b1c8df updaed release-notes date
original commit: 1e010f5632306305cf1bd44d86c9c51b33a2e7a1
2018-02-01 00:38:14 -05:00
dybvig
34b328092d Added some adapted charter and contributing text to the user's giude
preface and intro.  Added Matthew Flatt to the acknowledgements.

original commit: 332e015dc2cd96160c468278def7d3b2cf8a1131
2018-02-01 00:13:58 -05:00
dybvig
5933a80445 Adding missing file cpcommonize.ss.
original commit: f94b55e92e329a5ea81938b04b217cb267f4f7af
2018-01-29 16:01:25 -05:00
dybvig
f7c414bda3 Various updates, mostly to the compiler, including a new lambda
commonizatio pass and support for specifying default record
equal and hash procedures:

- more staid and consistent Mf-cross main target
    Mf-cross
- cpletrec now replaces the incoming prelexes with new ones so
  that it doesn't have to alter the flags on the incoming ones, since
  the same expander output is passed through the compiler twice while
  compiling a file with macro definitions or libraries.  we were
  getting away without this just by luck.
    cpletrec.ss
- pure? and ivory? now return #t for a primref only if the prim is
  declared to be a proc, since some non-proc prims are mutable, e.g.,
  $active-threads and $collect-request-pending.
    cp0.ss
- $error-handling-mode? and $eol-style? are now properly declared to
  be procs rather than system state variables.
    primdata.ss
- the new pass $check-prelex-flags verifies that prelex referenced,
  multiply-referenced, and assigned flags are set when they
  should be.  (it doesn't, however, complain if a flag is set
  when it need not be.)  when the new system parameter
  $enable-check-prelex-flags is set, $check-prelex-flags is
  called after each major pass that produces Lsrc forms to verify
  that the flags are set correctly in the output of the pass.
  this parameter is unset by default but set when running the
  mats.
    cprep.ss, back.ss, compile.ss, primdata.ss,
    mats/Mf-base
- removed the unnecessary set of prelex referenced flag from the
  build-ref routines when we've just established that it is set.
    syntax.ss, compile.ss
- equivalent-expansion? now prints differences to the current output
  port to aid in debugging.
    mat.ss
- the nanopass that patches calls to library globals into calls to
  their local counterparts during whole-program optimization now
  creates new prelexes and sets the prelex referenced, multiply
  referenced, and assigned flags on the new prelexes rather than
  destructively setting flags on the incoming prelexes.  The
  only known problems this fixes are (1) the multiply referenced
  flag was not previously being set for cross-library calls when
  it should have been, resulting in overly aggressive inlining
  of library exports during whole-program optimization, and (2)
  the referenced flag could sometimes be set for library exports
  that aren't actually used in the final program, which could
  prevent some unreachable code from being eliminated.
    compile.ss
- added support for specifying default record-equal and
  record-hash procedures.
    primdata.ss, cmacros.ss, cpnanopass.ss, prims.ss, newhash.ss,
    gc.c,
    record.ms
- added missing call to relocate for subset-mode tc field, which
  wasn't burning us because the only valid non-false value, the
  symbol system, is in the static generation after the initial heap
  compaction.
    gc.c
- added a lambda-commonization pass that runs after the other
  source optimizations, particularly inlining, and a new parameter
  that controls how hard it works.  the value of commonization-level
  ranges from 0 through 9, with 0 disabling commonization and 9
  maximizing it.  The default value is 0 (disabled).  At present,
  for non-zero level n, the commonizer attempts to commonize
  lambda expressions consisting of 2^(10-n) or more nodes.
  commonization of one or more lambda expressions requires that
  they have identical structure down to the leaf nodes for quote
  expressions, references to unassigned variables, and primitives.
  So that various downstream optimizations aren't disabled, there
  are some additional restrictions, the most important of which
  being that call-position expressions must be identical.  The
  commonizer works by abstracting the code into a helper that
  takes the values of the differing leaf nodes as arguments.
  the name of the helper is formed by concatenating the names of
  the original procedures, separated by '&', and this is the name
  that will show up in a stack trace.  The source location will
  be that of one of the original procedures.  Profiling inhibits
  commonization, because commonization requires profile source
  locations to be identical.
    cpcommonize.ss (new), compile.ss, interpret.ss, cprep.ss,
    primdata.ss, s/Mf-base,
    mats/Mf-base
- cpletrec now always produces a letrec rather than a let for
  single immutable lambda bindings, even when not recursive, for
  consistent expand/optimize output whether the commonizer is
  run or not.
    cpletrec.ss,
    record.ms
- trans-make-ftype-pointer no longer generates a call to
  $verify-ftype-address if the address expression is a call to
  ftype-pointer-address.
    ftype.ss

original commit: b6a3dcc814b64faacc9310fec4a4531fb3f18dcd
2018-01-29 09:20:07 -05:00
Andy Keep
1cdc2a7e0f Merge pull request #260 from gus-massa/18-1-ProfileQW
Fix a few signatures
original commit: 6ead5d9fcf18bd2311965e401cf3c9a78e50a7b2
2018-01-23 08:49:47 -05:00
Andy Keep
33116e32ae removing the intentional fail from 5_3.ms
original commit: bd6d8721a99c83116f709e76ae954c50d7cf0b1c
2018-01-22 21:47:53 -05:00
Matthew Flatt
3d1cb4684a make bootfiles
original commit: 59045a7e0b41b9ccba9d1a0577fc89c471ef9b0e
2018-01-22 17:55:12 -07:00
Matthew Flatt
261cb9ce1d Merge branch 'pthread' of github.com:mflatt/ChezScheme
original commit: 72597bafba6ff6290ac801aea1390e50252d8f7a
2018-01-22 17:09:55 -07:00
Matthew Flatt
4a2dc8d182 Merge branch 'rendezvous' of github.com:mflatt/ChezScheme
original commit: cccdcf961dfd3de8e2e7d0da651ef827bc128258
2018-01-22 17:08:49 -07:00
Matthew Flatt
76ec46611d Revert "add collect-rendezvous"
This reverts commit aef0458c08d10e02a2b50b7018564c0cca7c709c.

original commit: b50882550673738ac2d93fb2135d117425f34e7a
2018-01-22 17:07:48 -07:00
Matthew Flatt
1e95b761f1 Add __thread foreign-call convention
See the `foreign-callable` docs for a good example use.

original commit: 3645f7568c7ab9ca6a9459a870338b51605a2c6c
2018-01-22 17:06:19 -07:00
Matthew Flatt
a590b5ec35 add collect-rendezvous
original commit: 73cf31d3625e519493918faba650bbfc303f1712
2018-01-22 17:01:46 -07:00
Matthew Flatt
15d1acd2f5 add collect-rendezvous
original commit: aef0458c08d10e02a2b50b7018564c0cca7c709c
2018-01-20 21:02:15 -07:00
Andy Keep
b24833c44d Adding build status icon for this branch.
original commit: ce0f9b5b165915b3d9d2e232ebefc2901139ec99
2018-01-15 23:18:56 -05:00
Andy Keep
63a6884f9e More complete build script with checking.
original commit: e5a95095ae636475c7e44255d083012855168fcd
2018-01-15 22:52:45 -05:00
Andy Keep
6d9ed8bf04 Updated to run the partialx again.
original commit: d32395ab408c09a4ff02d741e1854fbdb92201b8
2018-01-15 22:14:58 -05:00
Andy Keep
c5f5edf3bc Updated the dobuild.sh script to print summary and diff with expected summary.
original commit: e9424df9f712fefb108ad22ed75a2fb4705272f6
2018-01-15 22:13:04 -05:00
Andy Keep
e43572f570 Marking dobuild.sh executable.
original commit: 35602172bc334a61c386f4dc5faba7f6ca147283
2018-01-15 22:05:13 -05:00
Matthew Flatt
0c55348453 Merge branch 'fdstart' of github.com:mflatt/ChezScheme
original commit: 67f4cfc11da128038a7d631b77af8909a8901247
2018-01-15 19:40:49 -07:00
Matthew Flatt
1f77eaf2af add load-compiled-from-port and Sregister_boot_file_fd
original commit: 0865b4637fce16079cb9ad8d3eb6211f1bf08c9f
2018-01-15 19:39:20 -07:00
Andy Keep
8d03bb0fe5 Small update to move build out to a seperate file, also adding expected summary.
Moved command out of travis configuration file and created a separate bash
script we could run.  The filtering appears to be getting in the way of the
error code being forwarded up to the running shell, and it is possible the -e
option on bash will help.  The summary file is the expected result file (for
diffing, if necessary).
  .travis.yml, .travis/dobuil.sh (new), .travis/summary

original commit: 48cb144d83b5fffa0d2523790a6d0bf172d154ea
2018-01-15 21:24:22 -05:00
Gustavo Massaccesi
63a6443c26 fix a few signatures
primdata.ss

original commit: 903e017f2611f7e2c3817667afefee7a0ebfae35
2018-01-15 22:58:34 -03:00
Andy Keep
cb0c235ef2 Small change to check exit code.
original commit: a1f2cb9f64cb532d4253a2daa8be70c530b68054
2018-01-15 20:50:40 -05:00
Andy Keep
bd00226709 Adding an intentionally failing test to test my build checking theories.
original commit: 227914ff17eefcc12d3ca6cebe8c844df348734e
2018-01-15 19:59:52 -05:00