racket/mats
Andy Keep 38d1000f70 Added fix for wpo bug from issue 386.
added fix for whole program/library compilation bug with help from
@owaddell who originally reported the problem in issue 386.  this bug
arises from the way the parts of the combined library, and their
binary dependencies, are invoked when one of the constituent libraries
is invoked.  consider, for example, a combined library that contains
(A) and (B), where (B) depends on a binary library (C).  depending on
the sort order of (A) and (B), which may be unconstrained in the
partial ordering established by library dependencies, invoking (A) may
result in the invoke code for (B) being run first, without (B) ever
being explicitly invoked.  this can result in bindings required from
(C) by the invoke code in (B) to be unbound.  even in the case where
(A) comes before (B) in the topological sort, if they are combined
into the same cluster, (B)'s invoke code will be run as part of
invoking (A).  the solution is two part: first we extend the invoke
requirements of the first library in the cluster to include the binary
libraries that precede it in the topological sort and add a dependency
on the first library in the cluster to all of the other libraries in
the cluster.  this means no matter which library in the cluster is
invoked first, it will cause the first library to be invoked, in turn
ensuring the binary libraries that precede it are invoked.  when there
are multiple clusters, a dependency is added from each cluster to the
first library in the cluster that precedes it.  this ensures that
invoking a library in a later cluster first, will still cause all of
the dependencies of the previous clusters to be invoked.  ultimately,
these extra dependencies enforce an ordering on the invocation of the
source and binary libraries that matches the topological sort, even if
the topological sort was under constrained.  to maintain the property
that import requirements are a superset of the invoke and visit
requirements, we also extend the import requirements to include the
extended invoke requirements.  the import requirements are also added
to the dependency graph to further constrain the topological sort and
ensure that we do not introduce artificial cycles in the import graph.
  compile.ss,
  7.ms,
  root-experr*, patch*

original commit: 09bba001a33a5ee9268f1e5cf0cc118e8a2eec7f
2019-03-17 14:18:42 -04:00
..
3.ms - fixed np-normalize-context pass to process trivs list in mvset forms 2017-08-31 23:24:14 -04:00
4.ms committing a handful of changes, none of which should be particularly 2019-02-11 20:06:42 -08:00
5_1.ms changed copyright year to 2017 2017-04-06 11:41:33 -04:00
5_2.ms changed copyright year to 2017 2017-04-06 11:41:33 -04:00
5_3.ms even? and odd?: reject exceptional flonums, since they're not integers 2017-12-28 17:00:04 -06:00
5_4.ms committing a handful of changes, none of which should be particularly 2019-02-11 20:06:42 -08:00
5_5.ms fix bounds check on immutables values and an immediate index 2018-01-07 08:48:57 -07:00
5_6.ms committing a handful of changes, none of which should be particularly 2019-02-11 20:06:42 -08:00
5_7.ms changed copyright year to 2017 2017-04-06 11:41:33 -04:00
5_8.ms add box-cas! and vector-cas! 2018-07-16 07:51:32 -06:00
6.ms improved consistency of Windows filename handling 2018-10-22 16:17:12 -04:00
7.ms Added fix for wpo bug from issue 386. 2019-03-17 14:18:42 -04:00
8.ms expose default-library-search-handler and library-search-handler parameter 2019-03-14 14:31:02 -04:00
bytevector.ms committing a handful of changes, none of which should be particularly 2019-02-11 20:06:42 -08:00
cat_flush.c changed copyright year to 2017 2017-04-06 11:41:33 -04:00
cfl.ms changed copyright year to 2017 2017-04-06 11:41:33 -04:00
cp0.ms make cp0 heed app-convention when folding primitive calls 2019-02-05 12:24:07 -05:00
date.ms fix bug in date->time-utc caused by incorrect use of difftime in Windows 2017-12-29 16:48:30 -05:00
enum.ms enum-set-indexer procedure now checks for a symbol, changed "isn't" to "is not" for consistency 2017-05-05 15:22:46 -04:00
examples.ms fixed gather-filedata's sort of profile entries. for any two 2017-10-30 21:01:43 -04:00
exceptions.ms changed copyright year to 2017 2017-04-06 11:41:33 -04:00
fl.ms even? and odd?: reject exceptional flonums, since they're not integers 2017-12-28 17:00:04 -06:00
foreign.ms fix string allocation for callable argument or foreign-call return 2019-01-27 13:01:57 -07:00
foreign1.c changed copyright year to 2017 2017-04-06 11:41:33 -04:00
foreign2.c fix string allocation for callable argument or foreign-call return 2019-01-27 13:01:57 -07:00
foreign3.c Add __thread foreign-call convention 2018-03-14 17:20:33 -06:00
foreign4.c x86_64: fix foreign-procedure & results that are not multiples of a word 2018-06-15 13:59:34 -04:00
format.ms changed copyright year to 2017 2017-04-06 11:41:33 -04:00
freq.in initial upload of open-source release 2016-04-26 10:04:54 -04:00
freq.out initial upload of open-source release 2016-04-26 10:04:54 -04:00
ftype.h changed copyright year to 2017 2017-04-06 11:41:33 -04:00
ftype.ms fix ftype mats on Windows by unsetting the CL environment variable 2018-02-21 11:40:08 -05:00
fx.ms fix cp0 reduction of fx[+-*]/carry and their signatures 2017-10-09 12:09:50 -03:00
hash.ms committing @mflatt hashtable-cells pull request 2019-02-07 13:54:14 -08:00
ht.ss changed copyright year to 2017 2017-04-06 11:41:33 -04:00
ieee.ms changed copyright year to 2017 2017-04-06 11:41:33 -04:00
io.ms changed copyright year to 2017 2017-04-06 11:41:33 -04:00
m4test.in changed copyright year to 2017 2017-04-06 11:41:33 -04:00
m4test.out initial upload of open-source release 2016-04-26 10:04:54 -04:00
mat.ss committing a handful of changes, none of which should be particularly 2019-02-11 20:06:42 -08:00
Mf-a6fb support struct args to and results from foreign procedures 2018-03-12 21:01:47 -06:00
Mf-a6le support struct args to and results from foreign procedures 2018-03-12 21:01:47 -06:00
Mf-a6nb support struct args to and results from foreign procedures 2018-03-12 21:01:47 -06:00
Mf-a6nt support struct args to and results from foreign procedures 2018-03-12 21:01:47 -06:00
Mf-a6ob support struct args to and results from foreign procedures 2018-03-12 21:01:47 -06:00
Mf-a6osx support struct args to and results from foreign procedures 2018-03-12 21:01:47 -06:00
Mf-a6s2 support struct args to and results from foreign procedures 2018-03-12 21:01:47 -06:00
Mf-arm32le support struct args to and results from foreign procedures 2018-03-12 21:01:47 -06:00
Mf-base Various updates, mostly to the compiler, including a new lambda 2018-01-29 09:20:07 -05:00
Mf-i3fb support struct args to and results from foreign procedures 2018-03-12 21:01:47 -06:00
Mf-i3le support struct args to and results from foreign procedures 2018-03-12 21:01:47 -06:00
Mf-i3nb support struct args to and results from foreign procedures 2018-03-12 21:01:47 -06:00
Mf-i3nt support struct args to and results from foreign procedures 2018-03-12 21:01:47 -06:00
Mf-i3ob support struct args to and results from foreign procedures 2018-03-12 21:01:47 -06:00
Mf-i3osx support struct args to and results from foreign procedures 2018-03-12 21:01:47 -06:00
Mf-i3qnx support struct args to and results from foreign procedures 2018-03-12 21:01:47 -06:00
Mf-i3s2 support struct args to and results from foreign procedures 2018-03-12 21:01:47 -06:00
Mf-ppc32le support struct args to and results from foreign procedures 2018-03-12 21:01:47 -06:00
Mf-ta6fb Add __thread foreign-call convention 2018-03-14 17:20:33 -06:00
Mf-ta6le Add __thread foreign-call convention 2018-03-14 17:20:33 -06:00
Mf-ta6nb Add __thread foreign-call convention 2018-03-14 17:20:33 -06:00
Mf-ta6nt support struct args to and results from foreign procedures 2018-03-12 21:01:47 -06:00
Mf-ta6ob Add __thread foreign-call convention 2018-03-14 17:20:33 -06:00
Mf-ta6osx Add __thread foreign-call convention 2018-03-14 17:20:33 -06:00
Mf-ta6s2 Add __thread foreign-call convention 2018-03-14 17:20:33 -06:00
Mf-ti3fb Add __thread foreign-call convention 2018-03-14 17:20:33 -06:00
Mf-ti3le Add __thread foreign-call convention 2018-03-14 17:20:33 -06:00
Mf-ti3nb Add __thread foreign-call convention 2018-03-14 17:20:33 -06:00
Mf-ti3nt support struct args to and results from foreign procedures 2018-03-12 21:01:47 -06:00
Mf-ti3ob Add __thread foreign-call convention 2018-03-14 17:20:33 -06:00
Mf-ti3osx Add __thread foreign-call convention 2018-03-14 17:20:33 -06:00
Mf-ti3s2 Add __thread foreign-call convention 2018-03-14 17:20:33 -06:00
Mf-tppc32le Add __thread foreign-call convention 2018-03-14 17:20:33 -06:00
misc.ms profile counts are now maintained even for code that has been 2019-01-17 09:43:18 -08:00
oop.ms changed copyright year to 2017 2017-04-06 11:41:33 -04:00
oop.ss initial upload of open-source release 2016-04-26 10:04:54 -04:00
patch-compile-2-f-f-t Add date-dst? and date-zone-name procedures 2017-06-08 11:21:39 -04:00
patch-compile-2-f-t-f Add date-dst? and date-zone-name procedures 2017-06-08 11:21:39 -04:00
patch-compile-2-f-t-t Add date-dst? and date-zone-name procedures 2017-06-08 11:21:39 -04:00
patch-compile-2-t-f-f Add date-dst? and date-zone-name procedures 2017-06-08 11:21:39 -04:00
patch-compile-2-t-f-t Add date-dst? and date-zone-name procedures 2017-06-08 11:21:39 -04:00
patch-compile-2-t-t-f Add date-dst? and date-zone-name procedures 2017-06-08 11:21:39 -04:00
patch-compile-2-t-t-t Add date-dst? and date-zone-name procedures 2017-06-08 11:21:39 -04:00
patch-compile-3-f-f-t initial upload of open-source release 2016-04-26 10:04:54 -04:00
patch-compile-3-f-t-f initial upload of open-source release 2016-04-26 10:04:54 -04:00
patch-compile-3-f-t-t Add date-dst? and date-zone-name procedures 2017-06-08 11:21:39 -04:00
patch-compile-3-t-f-f initial upload of open-source release 2016-04-26 10:04:54 -04:00
patch-compile-3-t-f-t initial upload of open-source release 2016-04-26 10:04:54 -04:00
patch-compile-3-t-t-f initial upload of open-source release 2016-04-26 10:04:54 -04:00
patch-compile-3-t-t-t Add date-dst? and date-zone-name procedures 2017-06-08 11:21:39 -04:00
patch-compile-0-f-f-t Updating bullyx patches. 2019-02-12 10:22:39 -08:00
patch-compile-0-f-t-f Added fix for wpo bug from issue 386. 2019-03-17 14:18:42 -04:00
patch-compile-0-f-t-t Add date-dst? and date-zone-name procedures 2017-06-08 11:21:39 -04:00
patch-compile-0-t-f-f Added fix for wpo bug from issue 386. 2019-03-17 14:18:42 -04:00
patch-compile-0-t-f-t Updating bullyx patches. 2019-02-12 10:22:39 -08:00
patch-compile-0-t-t-f Updating bullyx patches. 2019-02-12 10:22:39 -08:00
patch-compile-0-t-t-t Add date-dst? and date-zone-name procedures 2017-06-08 11:21:39 -04:00
patch-interpret-2-f-f-f Add date-dst? and date-zone-name procedures 2017-06-08 11:21:39 -04:00
patch-interpret-2-f-t-f Add date-dst? and date-zone-name procedures 2017-06-08 11:21:39 -04:00
patch-interpret-2-t-f-f Add date-dst? and date-zone-name procedures 2017-06-08 11:21:39 -04:00
patch-interpret-2-t-t-f Add date-dst? and date-zone-name procedures 2017-06-08 11:21:39 -04:00
patch-interpret-3-f-f-f committing a handful of changes, none of which should be particularly 2019-02-11 20:06:42 -08:00
patch-interpret-3-f-t-f committing a handful of changes, none of which should be particularly 2019-02-11 20:06:42 -08:00
patch-interpret-3-t-f-f Numerous changes to improve register/frame allocation speed for 2017-10-27 23:16:47 -04:00
patch-interpret-3-t-t-f Numerous changes to improve register/frame allocation speed for 2017-10-27 23:16:47 -04:00
patch-interpret-0-f-f-f Added fix for wpo bug from issue 386. 2019-03-17 14:18:42 -04:00
patch-interpret-0-f-t-f Added fix for wpo bug from issue 386. 2019-03-17 14:18:42 -04:00
patch-interpret-0-t-f-f Updating bullyx patches. 2019-02-12 10:22:39 -08:00
patch-interpret-0-t-t-f Updating bullyx patches. 2019-02-12 10:22:39 -08:00
primvars.ms committing a handful of changes, none of which should be particularly 2019-02-11 20:06:42 -08:00
record.ms - added identifier? checks to detect attempts to use non-identifier 2018-04-04 15:34:54 -07:00
root-experr-compile-2-f-f-f Added fix for wpo bug from issue 386. 2019-03-17 14:18:42 -04:00
root-experr-compile-3-f-f-f initial upload of open-source release 2016-04-26 10:04:54 -04:00
root-experr-compile-0-f-f-f Added fix for wpo bug from issue 386. 2019-03-17 14:18:42 -04:00
thread.ms add box-cas! and vector-cas! 2018-07-16 07:51:32 -06:00
unix.ms changed copyright year to 2017 2017-04-06 11:41:33 -04:00
vs.bat support Windows build on Bash/WSL 2017-05-02 08:25:09 -06:00
windows.ms changed copyright year to 2017 2017-04-06 11:41:33 -04:00