You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(56) |
Sep
(40) |
Oct
(30) |
Nov
(144) |
Dec
(23) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(41) |
Feb
(29) |
Mar
(31) |
Apr
(39) |
May
(193) |
Jun
(45) |
Jul
(19) |
Aug
(3) |
Sep
(23) |
Oct
(83) |
Nov
(92) |
Dec
(123) |
2007 |
Jan
(90) |
Feb
(267) |
Mar
(120) |
Apr
(51) |
May
(40) |
Jun
(121) |
Jul
(109) |
Aug
(173) |
Sep
(77) |
Oct
(52) |
Nov
(121) |
Dec
(62) |
2008 |
Jan
(76) |
Feb
(53) |
Mar
(98) |
Apr
(87) |
May
(26) |
Jun
(27) |
Jul
(23) |
Aug
(136) |
Sep
(79) |
Oct
(68) |
Nov
(29) |
Dec
(14) |
2009 |
Jan
(7) |
Feb
(2) |
Mar
(11) |
Apr
(75) |
May
(1) |
Jun
(95) |
Jul
(19) |
Aug
(4) |
Sep
(8) |
Oct
(93) |
Nov
(43) |
Dec
(21) |
2010 |
Jan
(20) |
Feb
(23) |
Mar
(18) |
Apr
(6) |
May
(20) |
Jun
(23) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
(2) |
Feb
(6) |
Mar
(15) |
Apr
(5) |
May
(9) |
Jun
(14) |
Jul
(9) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
(2) |
Jun
(17) |
Jul
(37) |
Aug
|
Sep
(1) |
Oct
(6) |
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
(5) |
Apr
(2) |
May
(7) |
Jun
(11) |
Jul
(8) |
Aug
|
Sep
(1) |
Oct
(2) |
Nov
|
Dec
|
2014 |
Jan
|
Feb
(2) |
Mar
(1) |
Apr
|
May
(1) |
Jun
(1) |
Jul
(7) |
Aug
(2) |
Sep
|
Oct
(5) |
Nov
(2) |
Dec
(4) |
2015 |
Jan
|
Feb
(2) |
Mar
(2) |
Apr
|
May
|
Jun
(9) |
Jul
(1) |
Aug
|
Sep
|
Oct
(4) |
Nov
(1) |
Dec
|
2016 |
Jan
(2) |
Feb
(1) |
Mar
(1) |
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
(1) |
Aug
|
Sep
(5) |
Oct
|
Nov
|
Dec
|
2017 |
Jan
(1) |
Feb
(3) |
Mar
(3) |
Apr
(7) |
May
(2) |
Jun
(2) |
Jul
(5) |
Aug
(1) |
Sep
(2) |
Oct
(17) |
Nov
(4) |
Dec
(7) |
2018 |
Jan
(5) |
Feb
(14) |
Mar
(2) |
Apr
(5) |
May
(2) |
Jun
(5) |
Jul
|
Aug
(2) |
Sep
|
Oct
(3) |
Nov
(5) |
Dec
|
2019 |
Jan
(4) |
Feb
(2) |
Mar
(3) |
Apr
(1) |
May
(8) |
Jun
(14) |
Jul
(2) |
Aug
|
Sep
(2) |
Oct
(2) |
Nov
(15) |
Dec
(2) |
2020 |
Jan
(10) |
Feb
(3) |
Mar
(1) |
Apr
|
May
(9) |
Jun
(4) |
Jul
(16) |
Aug
(10) |
Sep
(4) |
Oct
(3) |
Nov
|
Dec
|
2021 |
Jan
(11) |
Feb
(2) |
Mar
(2) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(5) |
Sep
|
Oct
(6) |
Nov
(4) |
Dec
(4) |
2022 |
Jan
(4) |
Feb
(2) |
Mar
(2) |
Apr
|
May
(6) |
Jun
(3) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(5) |
Jun
(1) |
Jul
(4) |
Aug
(1) |
Sep
|
Oct
(1) |
Nov
(13) |
Dec
|
2024 |
Jan
(1) |
Feb
|
Mar
(5) |
Apr
|
May
(10) |
Jun
|
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
(1) |
Dec
(14) |
2025 |
Jan
(3) |
Feb
|
Mar
(1) |
Apr
|
May
(2) |
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Matthew F. <no...@gi...> - 2020-07-22 17:18:37
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: f5c1b3f69e0bcbbe9077f110bd572429c733e452 https://github.com/MLton/mlton/commit/f5c1b3f69e0bcbbe9077f110bd572429c733e452 Author: Matthew Fluet <mat...@gm...> Date: 2020-07-21 (Tue, 21 Jul 2020) Changed paths: M Makefile M mllex/Makefile M mllex/doc/.gitignore A mllex/doc/mllex.tex Log Message: ----------- Use and build `mllex.tex` (including `ml-lex.tex`) Commit: a3459e02074a8b00c64ef3238f2e4535f673fdc0 https://github.com/MLton/mlton/commit/a3459e02074a8b00c64ef3238f2e4535f673fdc0 Author: Matthew Fluet <mat...@gm...> Date: 2020-07-21 (Tue, 21 Jul 2020) Changed paths: M doc/guide/src/SplitTypes.adoc Log Message: ----------- Fix Asciidoc markup in `SplitTypes.adoc` Commit: bcd2eec1195bf67b525906844ad7c5f62f41db65 https://github.com/MLton/mlton/commit/bcd2eec1195bf67b525906844ad7c5f62f41db65 Author: Matthew Fluet <mat...@gm...> Date: 2020-07-21 (Tue, 21 Jul 2020) Changed paths: M doc/guide/bin/InclGitFile.py Log Message: ----------- Update InclGitFile.py to python3 Commit: 62c756039977f6e19183705e020b811539421a8f https://github.com/MLton/mlton/commit/62c756039977f6e19183705e020b811539421a8f Author: Matthew Fluet <mat...@gm...> Date: 2020-07-21 (Tue, 21 Jul 2020) Changed paths: M Makefile Log Message: ----------- Fix `source-release` target in `Makefile` Commit: a54c594cdb0a94bf427791f08852c31492258412 https://github.com/MLton/mlton/commit/a54c594cdb0a94bf427791f08852c31492258412 Author: Matthew Fluet <mat...@gm...> Date: 2020-07-22 (Wed, 22 Jul 2020) Changed paths: M doc/guide/Makefile Log Message: ----------- Use `HAVE_CMD` in `doc/guide/Makefile` Commit: c55aabb819afa9e3483d73593e33bcbc63e11097 https://github.com/MLton/mlton/commit/c55aabb819afa9e3483d73593e33bcbc63e11097 Author: Matthew Fluet <mat...@gm...> Date: 2020-07-22 (Wed, 22 Jul 2020) Changed paths: M Makefile M doc/guide/Makefile Log Message: ----------- Omit `.pdf` docs from source and binary releases Commit: df8291cb064236f9cdea5441f4d85752bd80f176 https://github.com/MLton/mlton/commit/df8291cb064236f9cdea5441f4d85752bd80f176 Author: Matthew Fluet <mat...@gm...> Date: 2020-07-22 (Wed, 22 Jul 2020) Changed paths: M doc/guide/src/References.adoc M doc/guide/src/StandardMLHistory.adoc Log Message: ----------- Add `The History of SML` (HOPLIV) reference Commit: 4f300a8055b10ef4b3ca1227203f6edc257a1cc5 https://github.com/MLton/mlton/commit/4f300a8055b10ef4b3ca1227203f6edc257a1cc5 Author: Matthew Fluet <mat...@gm...> Date: 2020-07-22 (Wed, 22 Jul 2020) Changed paths: M bin/mlton-script M mlton/main/main.fun Log Message: ----------- Add `-{gmp,math}-link-opt <opt>` expert options This makes it somewhat easier to produce executables statically linked to GMP, by running `mlton -gmp-link-opt /usr/lib/libgmp.a hello.sml`. Commit: a9bdfc8ed0782f2302910e3fc42d68a27d405254 https://github.com/MLton/mlton/commit/a9bdfc8ed0782f2302910e3fc42d68a27d405254 Author: Matthew Fluet <mat...@gm...> Date: 2020-07-22 (Wed, 22 Jul 2020) Changed paths: M CHANGELOG.adoc A doc/guide/src/Bugs20200722.adoc M doc/guide/src/Home.adoc M doc/guide/src/Release20180207.adoc A doc/guide/src/Release20200722.adoc M doc/guide/src/ReleaseChecklist.adoc M doc/guide/src/Releases.adoc M man/mllex.1 M man/mlnlffigen.1 M man/mlprof.1 M man/mlton.1 M man/mlyacc.1 Log Message: ----------- Create and update pages for 20200722 release Commit: 6c6e23920bba25461d5e28a298d6db877f8a09c6 https://github.com/MLton/mlton/commit/6c6e23920bba25461d5e28a298d6db877f8a09c6 Author: Matthew Fluet <Mat...@gm...> Date: 2020-07-22 (Wed, 22 Jul 2020) Changed paths: M CHANGELOG.adoc M Makefile M bin/mlton-script M doc/guide/Makefile M doc/guide/bin/InclGitFile.py A doc/guide/src/Bugs20200722.adoc M doc/guide/src/Home.adoc M doc/guide/src/References.adoc M doc/guide/src/Release20180207.adoc A doc/guide/src/Release20200722.adoc M doc/guide/src/ReleaseChecklist.adoc M doc/guide/src/Releases.adoc M doc/guide/src/SplitTypes.adoc M doc/guide/src/StandardMLHistory.adoc M man/mllex.1 M man/mlnlffigen.1 M man/mlprof.1 M man/mlton.1 M man/mlyacc.1 M mllex/Makefile M mllex/doc/.gitignore A mllex/doc/mllex.tex M mlton/main/main.fun Log Message: ----------- Merge pull request #396 from MatthewFluet/20200722-release 20200722 release Compare: https://github.com/MLton/mlton/compare/a267e64d29f6...6c6e23920bba |
From: Matthew F. <no...@gi...> - 2020-07-18 23:49:04
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: f868b72c3eac4b8fdb4797ff46c0160dd44a435c https://github.com/MLton/mlton/commit/f868b72c3eac4b8fdb4797ff46c0160dd44a435c Author: Matthew Fluet <mat...@gm...> Date: 2020-07-18 (Sat, 18 Jul 2020) Changed paths: M doc/guide/src/CKitLibrary.adoc M doc/guide/src/MLLPTLibrary.adoc M doc/guide/src/MLRISCLibrary.adoc M doc/guide/src/SMLNJLibrary.adoc M lib/ckit-lib/ckit.tgz M lib/mllpt-lib/ml-lpt.patch M lib/mllpt-lib/ml-lpt.tgz M lib/mlrisc-lib/MLRISC.patch M lib/mlrisc-lib/MLRISC.tgz M lib/smlnj-lib/smlnj-lib.patch M lib/smlnj-lib/smlnj-lib.tgz Log Message: ----------- Update to SML/NJ 110.98 libraries Commit: b50b33a8698b357840f14bb13ab279e4e4d34a8b https://github.com/MLton/mlton/commit/b50b33a8698b357840f14bb13ab279e4e4d34a8b Author: Matthew Fluet <mat...@gm...> Date: 2020-07-18 (Sat, 18 Jul 2020) Changed paths: M CHANGELOG.adoc Log Message: ----------- Update `CHANGELOG.adoc` Commit: 5bed4c964a72a429d45e08d578cbb4bb1b19215b https://github.com/MLton/mlton/commit/5bed4c964a72a429d45e08d578cbb4bb1b19215b Author: Matthew Fluet <mat...@gm...> Date: 2020-07-18 (Sat, 18 Jul 2020) Changed paths: M lib/smlnj-lib/smlnj-lib.patch Log Message: ----------- Rewrite use of `Either.either` Commit: c4fc27235a0b176bccfa92dade678631d0462a83 https://github.com/MLton/mlton/commit/c4fc27235a0b176bccfa92dade678631d0462a83 Author: Matthew Fluet <mat...@gm...> Date: 2020-07-18 (Sat, 18 Jul 2020) Changed paths: M mlnlffigen/main.sml Log Message: ----------- Fix for change to `structure RegExpSyntax: REGEXP_SYNTAX` from SML/NJ Library Commit: a267e64d29f632817674866c4d46f578aa5ca27f https://github.com/MLton/mlton/commit/a267e64d29f632817674866c4d46f578aa5ca27f Author: Matthew Fluet <Mat...@gm...> Date: 2020-07-18 (Sat, 18 Jul 2020) Changed paths: M CHANGELOG.adoc M doc/guide/src/CKitLibrary.adoc M doc/guide/src/MLLPTLibrary.adoc M doc/guide/src/MLRISCLibrary.adoc M doc/guide/src/SMLNJLibrary.adoc M lib/ckit-lib/ckit.tgz M lib/mllpt-lib/ml-lpt.patch M lib/mllpt-lib/ml-lpt.tgz M lib/mlrisc-lib/MLRISC.patch M lib/mlrisc-lib/MLRISC.tgz M lib/smlnj-lib/smlnj-lib.patch M lib/smlnj-lib/smlnj-lib.tgz M mlnlffigen/main.sml Log Message: ----------- Merge pull request #395 from MatthewFluet/smlnj-110.98-libraries Update to SML/NJ 110.98 libraries Compare: https://github.com/MLton/mlton/compare/c1bef0db69ea...a267e64d29f6 |
From: Matthew F. <no...@gi...> - 2020-07-16 18:32:32
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 7d757285e9f7b93610978c0272956c0e4429a020 https://github.com/MLton/mlton/commit/7d757285e9f7b93610978c0272956c0e4429a020 Author: Chaitanya Koparkar <cko...@gm...> Date: 2020-07-16 (Thu, 16 Jul 2020) Changed paths: A package/nix/default.nix Log Message: ----------- Add a Nix build script Commit: c1bef0db69ead25ca32039958c80572c6eb7e475 https://github.com/MLton/mlton/commit/c1bef0db69ead25ca32039958c80572c6eb7e475 Author: Matthew Fluet <Mat...@gm...> Date: 2020-07-16 (Thu, 16 Jul 2020) Changed paths: A package/nix/default.nix Log Message: ----------- Merge pull request #394 from ckoparkar/master Add a Nix build script Compare: https://github.com/MLton/mlton/compare/a37c7e1e0c29...c1bef0db69ea |
From: Matthew F. <no...@gi...> - 2020-07-10 20:59:10
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 115b7552fa71c7caf9a6e6cea4842bff2540fe69 https://github.com/MLton/mlton/commit/115b7552fa71c7caf9a6e6cea4842bff2540fe69 Author: Matthew Fluet <mat...@gm...> Date: 2020-07-10 (Fri, 10 Jul 2020) Changed paths: M doc/guide/src/Bugs20180207.adoc Log Message: ----------- Fix anchor in Bugs20180207 page Commit: a37c7e1e0c29cf1a0c08ba8c5167787252f69360 https://github.com/MLton/mlton/commit/a37c7e1e0c29cf1a0c08ba8c5167787252f69360 Author: Matthew Fluet <Mat...@gm...> Date: 2020-07-10 (Fri, 10 Jul 2020) Changed paths: M doc/guide/src/Bugs20180207.adoc Log Message: ----------- Merge pull request #392 from MatthewFluet/doc-updates Fix anchor in Bugs20180207 page Compare: https://github.com/MLton/mlton/compare/af24f1262cb9...a37c7e1e0c29 |
From: Matthew F. <no...@gi...> - 2020-07-10 20:49:38
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: fc4a988e16b2b71d1521bd93ee28bbfcf1b67599 https://github.com/MLton/mlton/commit/fc4a988e16b2b71d1521bd93ee28bbfcf1b67599 Author: Matthew Fluet <mat...@gm...> Date: 2020-07-10 (Fri, 10 Jul 2020) Changed paths: M man/mlton.1 Log Message: ----------- Fix ordering of options in `man/mlton.1` Commit: 96c5d9b8ae4a02af17d34b48687d3716715abe5c https://github.com/MLton/mlton/commit/96c5d9b8ae4a02af17d34b48687d3716715abe5c Author: Matthew Fluet <mat...@gm...> Date: 2020-07-10 (Fri, 10 Jul 2020) Changed paths: A doc/guide/src/BounceVars.adoc A doc/guide/src/CollectStatics.adoc A doc/guide/src/DuplicateGlobals.adoc M doc/guide/src/RSSAShrink.adoc M doc/guide/src/RSSASimplify.adoc M doc/guide/src/SSASimplify.adoc A doc/guide/src/SplitTypes.adoc Log Message: ----------- Document some optimization passes Commit: fe43125648172e80e641f1f5213acc9d1efa9216 https://github.com/MLton/mlton/commit/fe43125648172e80e641f1f5213acc9d1efa9216 Author: Matthew Fluet <mat...@gm...> Date: 2020-07-10 (Fri, 10 Jul 2020) Changed paths: M doc/guide/src/Credits.adoc Log Message: ----------- Update Credits page Commit: 590ee9f4f10190d663f9d24a8da1b7d2690f3040 https://github.com/MLton/mlton/commit/590ee9f4f10190d663f9d24a8da1b7d2690f3040 Author: Matthew Fluet <mat...@gm...> Date: 2020-07-10 (Fri, 10 Jul 2020) Changed paths: M CHANGELOG.adoc M doc/guide/src/Bugs20180207.adoc Log Message: ----------- Add the (very few) bugs fixed to Bugs20180207 page Commit: af24f1262cb9f17a87123fb43d9d801014ff0c89 https://github.com/MLton/mlton/commit/af24f1262cb9f17a87123fb43d9d801014ff0c89 Author: Matthew Fluet <Mat...@gm...> Date: 2020-07-10 (Fri, 10 Jul 2020) Changed paths: M CHANGELOG.adoc A doc/guide/src/BounceVars.adoc M doc/guide/src/Bugs20180207.adoc A doc/guide/src/CollectStatics.adoc M doc/guide/src/Credits.adoc A doc/guide/src/DuplicateGlobals.adoc M doc/guide/src/RSSAShrink.adoc M doc/guide/src/RSSASimplify.adoc M doc/guide/src/SSASimplify.adoc A doc/guide/src/SplitTypes.adoc M man/mlton.1 Log Message: ----------- Merge pull request #391 from MatthewFluet/doc-updates Misc. updates to man pages and guide Compare: https://github.com/MLton/mlton/compare/92ad46efb1b3...af24f1262cb9 |
From: Matthew F. <no...@gi...> - 2020-07-09 23:37:04
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 8fc430aba7695440d8f2726c32a50a15441cd6c6 https://github.com/MLton/mlton/commit/8fc430aba7695440d8f2726c32a50a15441cd6c6 Author: Matthew Fluet <mat...@gm...> Date: 2020-07-07 (Tue, 07 Jul 2020) Changed paths: M CHANGELOG.adoc M runtime/gdtoa.tgz Log Message: ----------- Upgrade `gdtoa.tgz` Commit: aa26784d713f75e68aa2aadb8ad163d2a5b8f2ea https://github.com/MLton/mlton/commit/aa26784d713f75e68aa2aadb8ad163d2a5b8f2ea Author: Matthew Fluet <mat...@gm...> Date: 2020-07-07 (Tue, 07 Jul 2020) Changed paths: M regression/real.amd64-linux.ok M regression/real.ok Log Message: ----------- Update `regression/real.amd64-linux.ok` Commit: 43f30b24e40abad8fb48fecae6fae30122ebb92f https://github.com/MLton/mlton/commit/43f30b24e40abad8fb48fecae6fae30122ebb92f Author: Matthew Fluet <mat...@gm...> Date: 2020-07-08 (Wed, 08 Jul 2020) Changed paths: M CHANGELOG.adoc M basis-library/real/real.sml Log Message: ----------- Fix Real{32,64}_gdtoa race condition Closes MLton/mlton#100. Commit: 4f8b5a37528ba15ed1efbdcb86eb07f7951efdef https://github.com/MLton/mlton/commit/4f8b5a37528ba15ed1efbdcb86eb07f7951efdef Author: Matthew Fluet <mat...@gm...> Date: 2020-07-08 (Wed, 08 Jul 2020) Changed paths: M CHANGELOG.adoc Log Message: ----------- Fix markup in `CHANGELOG.adoc` Commit: c4f12861da7da50d1398b0345058b4639afe354a https://github.com/MLton/mlton/commit/c4f12861da7da50d1398b0345058b4639afe354a Author: Matthew Fluet <mat...@gm...> Date: 2020-07-08 (Wed, 08 Jul 2020) Changed paths: M basis-library/arrays-and-vectors/array.sml Log Message: ----------- Fix type checking of Basis Library with `-default-type intinf` Commit: 92ad46efb1b31073a1044dc02ad7740ac18b30df https://github.com/MLton/mlton/commit/92ad46efb1b31073a1044dc02ad7740ac18b30df Author: Matthew Fluet <Mat...@gm...> Date: 2020-07-09 (Thu, 09 Jul 2020) Changed paths: M CHANGELOG.adoc M basis-library/arrays-and-vectors/array.sml M basis-library/real/real.sml M regression/real.amd64-linux.ok M regression/real.ok M runtime/gdtoa.tgz Log Message: ----------- Merge pull request #390 from MatthewFluet/basis-library-updates Upgrade `gdtoa.tgz` and fix `Real{32,64}.gdtoa` race condition Compare: https://github.com/MLton/mlton/compare/fa3c8235e3c5...92ad46efb1b3 |
From: Matthew F. <no...@gi...> - 2020-07-07 15:13:48
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: b761829c3d0b3d2d08787e3582e1204cf7e6f861 https://github.com/MLton/mlton/commit/b761829c3d0b3d2d08787e3582e1204cf7e6f861 Author: Matthew Fluet <mat...@gm...> Date: 2020-07-07 (Tue, 07 Jul 2020) Changed paths: M CHANGELOG.adoc Log Message: ----------- Update `CHANGELOG.adoc` Commit: fa3c8235e3c57d202ced9cbdffa39ce348b75eb9 https://github.com/MLton/mlton/commit/fa3c8235e3c57d202ced9cbdffa39ce348b75eb9 Author: Matthew Fluet <Mat...@gm...> Date: 2020-07-07 (Tue, 07 Jul 2020) Changed paths: M CHANGELOG.adoc Log Message: ----------- Merge pull request #389 from MatthewFluet/changelog-updates Update `CHANGELOG.adoc` Compare: https://github.com/MLton/mlton/compare/71d17a1d69a9...fa3c8235e3c5 |
From: Matthew F. <no...@gi...> - 2020-06-28 16:25:35
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: a622f7ed5789ae60940591664b6b57ff43f4c3da https://github.com/MLton/mlton/commit/a622f7ed5789ae60940591664b6b57ff43f4c3da Author: Matthew Fluet <mat...@gm...> Date: 2020-06-28 (Sun, 28 Jun 2020) Changed paths: M Makefile Log Message: ----------- Quell `warning: jobserver unavailable` from `make -j` Commit: 71d17a1d69a9392e9eb98fc0ca71d44aaf5e494e https://github.com/MLton/mlton/commit/71d17a1d69a9392e9eb98fc0ca71d44aaf5e494e Author: Matthew Fluet <Mat...@gm...> Date: 2020-06-28 (Sun, 28 Jun 2020) Changed paths: M Makefile Log Message: ----------- Merge pull request #388 from MatthewFluet/make-jobserver-warning Quell `warning: jobserver unavailable` from `make -j` Compare: https://github.com/MLton/mlton/compare/f221c36cde21...71d17a1d69a9 |
From: Matthew F. <no...@gi...> - 2020-06-28 14:17:12
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 0170412c97550bb15bef9fc96c6ce73079b15fe7 https://github.com/MLton/mlton/commit/0170412c97550bb15bef9fc96c6ce73079b15fe7 Author: Matthew Fluet <mat...@gm...> Date: 2020-06-27 (Sat, 27 Jun 2020) Changed paths: M lib/mlrisc-lib/MLRISC.patch M lib/smlnj-lib/smlnj-lib.patch Log Message: ----------- Fix top-level `Overflow` in SML/NJ Library The SML/NJ Library is now used to compile mllex Commit: f221c36cde21c16d3be7c196c26d4ddedcc88c1d https://github.com/MLton/mlton/commit/f221c36cde21c16d3be7c196c26d4ddedcc88c1d Author: Matthew Fluet <Mat...@gm...> Date: 2020-06-28 (Sun, 28 Jun 2020) Changed paths: M lib/mlrisc-lib/MLRISC.patch M lib/smlnj-lib/smlnj-lib.patch Log Message: ----------- Merge pull request #387 from MatthewFluet/smlnj-libraries-fix Fix top-level `Overflow` in SML/NJ Library Compare: https://github.com/MLton/mlton/compare/a6a215d0d20f...f221c36cde21 |
From: Matthew F. <no...@gi...> - 2020-06-26 21:52:43
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 487a9ef5b694dc2f9d5af9fda1ea457395f13ebd https://github.com/MLton/mlton/commit/487a9ef5b694dc2f9d5af9fda1ea457395f13ebd Author: Matthew Fluet <mat...@gm...> Date: 2020-06-24 (Wed, 24 Jun 2020) Changed paths: M mlyacc/examples/calc/README M mlyacc/examples/fol/README M mlyacc/examples/pascal/README Log Message: ----------- Fix comments in `mlyacc/examples/*/README` files Commit: 7c7982e5d4db429c1e61b6b153f013e0ad8505db https://github.com/MLton/mlton/commit/7c7982e5d4db429c1e61b6b153f013e0ad8505db Author: Matthew Fluet <mat...@gm...> Date: 2020-06-24 (Wed, 24 Jun 2020) Changed paths: M mllex/.gitignore M mllex/Makefile A mllex/doc/.gitignore A mllex/doc/Makefile A mllex/doc/lexgen.doc A mllex/doc/lexgen.tex R mllex/lexgen.doc R mllex/lexgen.tex Log Message: ----------- Apply changes from SML/NJ upstream version of ml-lex tool * Put lexgen documentation in its own directory Commit: 6a7cf037eb26caf75dca9f6c45c586b485db8454 https://github.com/MLton/mlton/commit/6a7cf037eb26caf75dca9f6c45c586b485db8454 Author: Matthew Fluet <mat...@gm...> Date: 2020-06-24 (Wed, 24 Jun 2020) Changed paths: M mllex/Makefile M mllex/doc/.gitignore M mllex/doc/Makefile R mllex/doc/lexgen.tex A mllex/doc/ml-lex.tex Log Message: ----------- Apply changes from SML/NJ upstream version of ml-lex tool * rename ml-lex documentation file to match command name Commit: a88c477dc143dea46e01a0eae3440b43e7e55882 https://github.com/MLton/mlton/commit/a88c477dc143dea46e01a0eae3440b43e7e55882 Author: Matthew Fluet <mat...@gm...> Date: 2020-06-24 (Wed, 24 Jun 2020) Changed paths: M mllex/lexgen.sml M mllex/mllex.mlb Log Message: ----------- Apply changes from SML/NJ upstream version of ml-lex tool * Replaced the one-off implementation of finite maps with the RedBlackMapFn functor from the SML/NJ Library. Also got rid of the uses of polymorphic equality by changing token equality tests to pattern matching. * add comments about edits Commit: 3dd3e4d8abf053113f688005f860be518b6bb713 https://github.com/MLton/mlton/commit/3dd3e4d8abf053113f688005f860be518b6bb713 Author: Matthew Fluet <mat...@gm...> Date: 2020-06-26 (Fri, 26 Jun 2020) Changed paths: M doc/guide/src/CKitLibrary.adoc M doc/guide/src/MLLPTLibrary.adoc M doc/guide/src/MLRISCLibrary.adoc M doc/guide/src/SMLNJLibrary.adoc M lib/ckit-lib/ckit.patch M lib/ckit-lib/ckit.tgz M lib/mllpt-lib/ml-lpt.tgz M lib/mlrisc-lib/MLRISC.patch M lib/mlrisc-lib/MLRISC.tgz M lib/smlnj-lib/smlnj-lib.patch M lib/smlnj-lib/smlnj-lib.tgz Log Message: ----------- Update to SML/NJ 110.97 libraries Commit: a6a215d0d20f808395298055b50695f728aeba5e https://github.com/MLton/mlton/commit/a6a215d0d20f808395298055b50695f728aeba5e Author: Matthew Fluet <Mat...@gm...> Date: 2020-06-26 (Fri, 26 Jun 2020) Changed paths: M doc/guide/src/CKitLibrary.adoc M doc/guide/src/MLLPTLibrary.adoc M doc/guide/src/MLRISCLibrary.adoc M doc/guide/src/SMLNJLibrary.adoc M lib/ckit-lib/ckit.patch M lib/ckit-lib/ckit.tgz M lib/mllpt-lib/ml-lpt.tgz M lib/mlrisc-lib/MLRISC.patch M lib/mlrisc-lib/MLRISC.tgz M lib/smlnj-lib/smlnj-lib.patch M lib/smlnj-lib/smlnj-lib.tgz M mllex/.gitignore M mllex/Makefile A mllex/doc/.gitignore A mllex/doc/Makefile A mllex/doc/lexgen.doc A mllex/doc/ml-lex.tex R mllex/lexgen.doc M mllex/lexgen.sml R mllex/lexgen.tex M mllex/mllex.mlb M mlyacc/examples/calc/README M mlyacc/examples/fol/README M mlyacc/examples/pascal/README Log Message: ----------- Merge pull request #386 from MatthewFluet/smlnj-110.97-libraries Update to SML/NJ 110.97 libraries Compare: https://github.com/MLton/mlton/compare/32bd2f53c052...a6a215d0d20f |
From: Matthew F. <no...@gi...> - 2020-06-23 12:56:30
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 6d11929d567eb1f1f3e66b4ca6813436ae05815d https://github.com/MLton/mlton/commit/6d11929d567eb1f1f3e66b4ca6813436ae05815d Author: Matthew Fluet <mat...@gm...> Date: 2020-06-23 (Tue, 23 Jun 2020) Changed paths: M include/x86-main.h Log Message: ----------- Restore declaration of `struct GC_state gcState;` in `x86-main.h` Mistakenly removed by 0444115a9. Commit: 32bd2f53c052528b9ce6577ac77908e21257f8a5 https://github.com/MLton/mlton/commit/32bd2f53c052528b9ce6577ac77908e21257f8a5 Author: Matthew Fluet <Mat...@gm...> Date: 2020-06-23 (Tue, 23 Jun 2020) Changed paths: M include/x86-main.h Log Message: ----------- Merge pull request #385 from MatthewFluet/x86-gcState-fix Restore declaration of `struct GC_state gcState;` in `x86-main.h` Compare: https://github.com/MLton/mlton/compare/5b173bc1abe1...32bd2f53c052 |
From: Matthew F. <no...@gi...> - 2020-05-29 03:25:37
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: adb5de5a0a7bffc5dad7f712cd28de08df327168 https://github.com/MLton/mlton/commit/adb5de5a0a7bffc5dad7f712cd28de08df327168 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-26 (Tue, 26 May 2020) Changed paths: M mlton/atoms/prim.fun M mlton/atoms/prim.sig M mlton/backend/backend.fun M mlton/backend/rep-type.fun M mlton/backend/ssa2-to-rssa.fun M mlton/closure-convert/abstract-value.fun M mlton/closure-convert/closure-convert.fun M mlton/closure-convert/globalize.fun M mlton/codegen/amd64-codegen/amd64-mlton.fun M mlton/codegen/c-codegen/c-codegen.fun M mlton/codegen/llvm-codegen/llvm-codegen.fun M mlton/codegen/x86-codegen/x86-mlton.fun M mlton/defunctorize/defunctorize.fun M mlton/ssa/combine-conversions.fun M mlton/ssa/common-subexp.fun M mlton/ssa/constant-propagation.fun M mlton/ssa/deep-flatten.fun M mlton/ssa/direct-exp.fun M mlton/ssa/duplicate-globals.fun M mlton/ssa/global.fun M mlton/ssa/local-ref.fun M mlton/ssa/loop-unroll.fun M mlton/ssa/multi.fun M mlton/ssa/poly-equal.fun M mlton/ssa/poly-hash.fun M mlton/ssa/redundant-tests.fun M mlton/ssa/ref-flatten.fun M mlton/ssa/remove-unused.fun M mlton/ssa/remove-unused2.fun M mlton/ssa/share-zero-vec.fun M mlton/ssa/simplify-types.fun M mlton/ssa/split-types.fun M mlton/ssa/ssa-to-ssa2.fun M mlton/ssa/ssa-tree.fun M mlton/ssa/ssa-tree2.fun M mlton/ssa/type-check.fun M mlton/ssa/type-check2.fun M mlton/ssa/useless.fun M mlton/xml/implement-exceptions.fun M mlton/xml/implement-suffix.fun Log Message: ----------- Expose `Prim.t` as `datatype` in `signature PRIM` Avoid a distinction between `type Prim.t` and `datatype Prim.Name.t`. Commit: fd51b40388fe6d1b17417aaeeb57661f6efa92a9 https://github.com/MLton/mlton/commit/fd51b40388fe6d1b17417aaeeb57661f6efa92a9 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-26 (Tue, 26 May 2020) Changed paths: M mlton/atoms/prim.fun M mlton/atoms/prim.sig M mlton/backend/backend.fun M mlton/backend/limit-check.fun M mlton/backend/machine.fun M mlton/backend/packed-representation.fun M mlton/backend/rssa-tree.fun M mlton/backend/signal-check.fun M mlton/backend/ssa2-to-rssa.fun M mlton/codegen/c-codegen/c-codegen.fun M mlton/codegen/llvm-codegen/llvm-codegen.fun M mlton/defunctorize/defunctorize.fun M mlton/elaborate/elaborate-core.fun M mlton/ssa/combine-conversions.fun M mlton/ssa/constant-propagation.fun M mlton/ssa/direct-exp.fun M mlton/ssa/loop-unroll.fun M mlton/ssa/poly-equal.fun M mlton/ssa/poly-hash.fun M mlton/ssa/share-zero-vec.fun M mlton/ssa/split-types.fun M mlton/ssa/ssa-to-ssa2.fun M mlton/ssa/useless.fun M mlton/xml/implement-exceptions.fun M mlton/xml/implement-suffix.fun M mlton/xml/xml-tree.fun Log Message: ----------- Eliminate `Prim.*` functions aliasing `Prim.t` constructors Commit: 9bf20f0c633e731601672ebd9853582ef7f34aab https://github.com/MLton/mlton/commit/9bf20f0c633e731601672ebd9853582ef7f34aab Author: Matthew Fluet <mat...@gm...> Date: 2020-05-26 (Tue, 26 May 2020) Changed paths: M mlton/backend/backend.fun M mlton/backend/rep-type.fun M mlton/backend/ssa2-to-rssa.fun M mlton/closure-convert/abstract-value.fun M mlton/closure-convert/closure-convert.fun M mlton/codegen/amd64-codegen/amd64-mlton.fun M mlton/codegen/x86-codegen/x86-mlton.fun M mlton/defunctorize/defunctorize.fun M mlton/ssa/common-subexp.fun M mlton/ssa/constant-propagation.fun M mlton/ssa/deep-flatten.fun M mlton/ssa/global.fun M mlton/ssa/local-ref.fun M mlton/ssa/redundant-tests.fun M mlton/ssa/ref-flatten.fun M mlton/ssa/simplify-types.fun M mlton/ssa/ssa-to-ssa2.fun M mlton/ssa/ssa-tree.fun M mlton/ssa/ssa-tree2.fun M mlton/ssa/type-check.fun M mlton/ssa/type-check2.fun M mlton/ssa/useless.fun M mlton/xml/implement-exceptions.fun M mlton/xml/implement-suffix.fun Log Message: ----------- Eliminate most uses of `datatype z = datatype Prim.t` idiom Commit: 3ec75ab2741f7cae56ec1039d3cd74f3b4da0834 https://github.com/MLton/mlton/commit/3ec75ab2741f7cae56ec1039d3cd74f3b4da0834 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-26 (Tue, 26 May 2020) Changed paths: M mlton/atoms/prim.fun M mlton/atoms/prim.sig M mlton/ssa/direct-exp.fun Log Message: ----------- Eliminate `Prim.layoutApp` Commit: 5b173bc1abe187bbe887e17a901377de086808ce https://github.com/MLton/mlton/commit/5b173bc1abe187bbe887e17a901377de086808ce Author: Matthew Fluet <Mat...@gm...> Date: 2020-05-28 (Thu, 28 May 2020) Changed paths: M mlton/atoms/prim.fun M mlton/atoms/prim.sig M mlton/backend/backend.fun M mlton/backend/limit-check.fun M mlton/backend/machine.fun M mlton/backend/packed-representation.fun M mlton/backend/rep-type.fun M mlton/backend/rssa-tree.fun M mlton/backend/signal-check.fun M mlton/backend/ssa2-to-rssa.fun M mlton/closure-convert/abstract-value.fun M mlton/closure-convert/closure-convert.fun M mlton/closure-convert/globalize.fun M mlton/codegen/amd64-codegen/amd64-mlton.fun M mlton/codegen/c-codegen/c-codegen.fun M mlton/codegen/llvm-codegen/llvm-codegen.fun M mlton/codegen/x86-codegen/x86-mlton.fun M mlton/defunctorize/defunctorize.fun M mlton/elaborate/elaborate-core.fun M mlton/ssa/combine-conversions.fun M mlton/ssa/common-subexp.fun M mlton/ssa/constant-propagation.fun M mlton/ssa/deep-flatten.fun M mlton/ssa/direct-exp.fun M mlton/ssa/duplicate-globals.fun M mlton/ssa/global.fun M mlton/ssa/local-ref.fun M mlton/ssa/loop-unroll.fun M mlton/ssa/multi.fun M mlton/ssa/poly-equal.fun M mlton/ssa/poly-hash.fun M mlton/ssa/redundant-tests.fun M mlton/ssa/ref-flatten.fun M mlton/ssa/remove-unused.fun M mlton/ssa/remove-unused2.fun M mlton/ssa/share-zero-vec.fun M mlton/ssa/simplify-types.fun M mlton/ssa/split-types.fun M mlton/ssa/ssa-to-ssa2.fun M mlton/ssa/ssa-tree.fun M mlton/ssa/ssa-tree2.fun M mlton/ssa/type-check.fun M mlton/ssa/type-check2.fun M mlton/ssa/useless.fun M mlton/xml/implement-exceptions.fun M mlton/xml/implement-suffix.fun M mlton/xml/xml-tree.fun Log Message: ----------- Merge pull request #384 from MatthewFluet/prim-refactor Refactor `structure Prim: PRIM` Primarily, expose the datatype representation of `Prim.t` (rather than via the alias `Prim.Name.t`) and eliminate the `Prim.*` functions aliasing `Prim.t` constructors. Compare: https://github.com/MLton/mlton/compare/bb4973cd8d23...5b173bc1abe1 |
From: Matthew F. <no...@gi...> - 2020-05-29 03:20:22
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: fe7f73e2e1d41c728c376b3517b900675f694e92 https://github.com/MLton/mlton/commit/fe7f73e2e1d41c728c376b3517b900675f694e92 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-28 (Thu, 28 May 2020) Changed paths: M doc/guide/src/ConcurrentMLImplementation.adoc M lib/cml/core-cml/event.sml Log Message: ----------- Tweak critical section management for executing `blockFns` See 4bd2a006c. Commit: bb4973cd8d232eda64ab5442dc2a88d65e742a39 https://github.com/MLton/mlton/commit/bb4973cd8d232eda64ab5442dc2a88d65e742a39 Author: Matthew Fluet <Mat...@gm...> Date: 2020-05-28 (Thu, 28 May 2020) Changed paths: M doc/guide/src/ConcurrentMLImplementation.adoc M lib/cml/core-cml/event.sml Log Message: ----------- Merge pull request #383 from MatthewFluet/cml-tweak Tweak critical section management for executing `blockFns` Compare: https://github.com/MLton/mlton/compare/0de07d039fc5...bb4973cd8d23 |
From: Matthew F. <no...@gi...> - 2020-05-29 02:37:36
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 8971ada6dc7924ba2ff6980a82a21eb6bf519e17 https://github.com/MLton/mlton/commit/8971ada6dc7924ba2ff6980a82a21eb6bf519e17 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-28 (Thu, 28 May 2020) Changed paths: M lib/cml/core-cml/channel.sml Log Message: ----------- Fix typo in debug message ("Chennel","Chanell" ==> "Channel") Commit: 8ddbe0533c2bd60811fa5934e67eb0c4eb0fd239 https://github.com/MLton/mlton/commit/8ddbe0533c2bd60811fa5934e67eb0c4eb0fd239 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-28 (Thu, 28 May 2020) Changed paths: M lib/cml/core-cml/run-cml.sml Log Message: ----------- Fix typo in comment ("preepted" ==> "preempted") Commit: 72d087bbb59af91fcd3a9093881b9b2055b3c165 https://github.com/MLton/mlton/commit/72d087bbb59af91fcd3a9093881b9b2055b3c165 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-28 (Thu, 28 May 2020) Changed paths: M lib/cml/core-cml/run-cml.sml Log Message: ----------- Add debug message to `shutdownHook` Commit: aa992da81060ff49c0c3e03a001038ac7f8139ff https://github.com/MLton/mlton/commit/aa992da81060ff49c0c3e03a001038ac7f8139ff Author: Matthew Fluet <mat...@gm...> Date: 2020-05-28 (Thu, 28 May 2020) Changed paths: M lib/cml/core-cml/scheduler.sml Log Message: ----------- Add debug messages to `Scheduler.{next,atomicSwitchAux}` Commit: 4bd2a006c0152e4a08fff01c54289f1eee169b84 https://github.com/MLton/mlton/commit/4bd2a006c0152e4a08fff01c54289f1eee169b84 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-28 (Thu, 28 May 2020) Changed paths: M doc/guide/src/ConcurrentMLImplementation.adoc M lib/cml/core-cml/event.sml Log Message: ----------- Fix bug in running `blockFn`s for `CML.sync` When no base event in a CML synchronization is enabled, then all base events must be blocked. It is important that all of the `blockFn`s are executed atomically (along with the prior work of synchronization), but the previous implementation briefly left the critical section as it switched from the thread that executed one `blockFn` to the next. This would allow the timer interrupt to switch to another CML thread, without executing all of the `blockFn`s; the switched-to thread could initiate a synchronization that doesn't properly see the effect of the switched-from thread's `blockFn`s. As a concrete example, consider a receiver thread that performs `CML.select (List.map CML.recvEvt chs)`; that is, it synchronizes on the choice of receiving from any channel in a list of channels. Assuming that there is no pending sender, the receiver thread will execute `blockFn`s that places the receiver thread on each of the channels. However, if the timer interrupt arrives during the execution of the `blockFn`s, then the program can switch to another thread before the receiver thread is properly placed on each of the channels. Now, suppose that the switched-to thread performs `CML.send ch` for some `ch` in `chs` beyond the point where the `blockFn`s were successfully executed; that is, it synchronizes on sending to one of the channels on which the receiver thread has not yet been placed. Finding no pending receiver, the sender thread executes a `blockFn` that places the sender thread on the channel. Control then switches back to the receiver thread, which continues executing the `blockFn`s, placing it on the remaining channels, including the channel that has the blocked sender. At this point, the program has violated the invariant that a channel never has both pending senders and pending receivers and, if there are no other ready threads in the system, will terminate with an apparent deadlock. The fix is to simply perform an extra `S.atomicBegin()` immediately before switching to the temporary thread that will execute the `blockFn`; see the `ConcurrentMLImplementation` page for details about why the `blockFn` is executed by a temporary thread. This ensures that all of the `blockFn`s are executed in the same critical section as the prior work of synchronization, without the possibility of switching to another thread before all `blockFn`s are executed. Closes MLton/mlton#381. Commit: 0de07d039fc5d31de8180347468d5d3e3a7e113f https://github.com/MLton/mlton/commit/0de07d039fc5d31de8180347468d5d3e3a7e113f Author: Matthew Fluet <Mat...@gm...> Date: 2020-05-28 (Thu, 28 May 2020) Changed paths: M doc/guide/src/ConcurrentMLImplementation.adoc M lib/cml/core-cml/channel.sml M lib/cml/core-cml/event.sml M lib/cml/core-cml/run-cml.sml M lib/cml/core-cml/scheduler.sml Log Message: ----------- Merge pull request #382 from MatthewFluet/cml-bugfix Fix bug in running `blockFn`s for `CML.sync` Compare: https://github.com/MLton/mlton/compare/b1b624ad38ec...0de07d039fc5 |
From: Matthew F. <no...@gi...> - 2020-05-23 15:04:55
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 5a59d2b1a37192497a428d1ff14292ad000c3376 https://github.com/MLton/mlton/commit/5a59d2b1a37192497a428d1ff14292ad000c3376 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-15 (Fri, 15 May 2020) Changed paths: M Makefile.binary M Makefile.config M bin/mlton-script Log Message: ----------- Use `cc` rather than `gcc` as default C compiler Platforms which make Clang the default C compiler may nonetheless have an (old) `gcc` command. Commit: dee2ef6c5f4ee127765acfa0ed86d04051bef416 https://github.com/MLton/mlton/commit/dee2ef6c5f4ee127765acfa0ed86d04051bef416 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-15 (Fri, 15 May 2020) Changed paths: M runtime/Makefile Log Message: ----------- Drop `GCC_{MAJOR,MINOR}_VERSION` variables from `runtime/Makefile` The GCC version was only used to work around C99 inlining semantics on GCC 4.2 and earlier. MLton now requires C11 (and a later GCC version). Commit: 55180cf7b3a0c9a756764bddca4baf6bba2507f5 https://github.com/MLton/mlton/commit/55180cf7b3a0c9a756764bddca4baf6bba2507f5 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-15 (Fri, 15 May 2020) Changed paths: M Makefile.config M mlton/Makefile M runtime/Makefile M runtime/gen/basis-ffi.h.chk M runtime/gen/basis-ffi.sml.chk M runtime/gen/gen-basis-ffi-consts.c.chk Log Message: ----------- Support alternative SHA-1 digest commands Some systems (e.g., OpenBSD) do not have a `sha1sum` command, so support alternative ways to compute SHA-1 digest. Commit: 18449504b803f130ef34d3f4337d00f978ee032e https://github.com/MLton/mlton/commit/18449504b803f130ef34d3f4337d00f978ee032e Author: Matthew Fluet <mat...@gm...> Date: 2020-05-15 (Fri, 15 May 2020) Changed paths: M Makefile.config Log Message: ----------- Tweak error message Commit: 10dcf1920c24e81ecffb5aa753f7cccca9b964f5 https://github.com/MLton/mlton/commit/10dcf1920c24e81ecffb5aa753f7cccca9b964f5 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-17 (Sun, 17 May 2020) Changed paths: M Makefile.config Log Message: ----------- Avoid use of `sed -E` Commit: 16c08d2d0e68e346342468be3ef0ae3c67a9ad3d https://github.com/MLton/mlton/commit/16c08d2d0e68e346342468be3ef0ae3c67a9ad3d Author: Matthew Fluet <mat...@gm...> Date: 2020-05-17 (Sun, 17 May 2020) Changed paths: M Makefile.config Log Message: ----------- Add and use a generic `HAVE_CMD` function to `Makefile.config` Commit: 9898b1c8c7e9ef13d15cb3786be0de156d2b0c86 https://github.com/MLton/mlton/commit/9898b1c8c7e9ef13d15cb3786be0de156d2b0c86 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-19 (Tue, 19 May 2020) Changed paths: M .gitignore M Makefile Log Message: ----------- Tweaks to `binary-release` target in `Makefile` Commit: c3f7fe80bdc8e2964e642801cd4aec470a9afd9f https://github.com/MLton/mlton/commit/c3f7fe80bdc8e2964e642801cd4aec470a9afd9f Author: Matthew Fluet <mat...@gm...> Date: 2020-05-20 (Wed, 20 May 2020) Changed paths: M mlton/Makefile Log Message: ----------- Tweaks `mlton/Makefile` for generating `control/version.sml` Commit: 66cf9abebb100d2a4243a9a1c9af7d2ab90e5b89 https://github.com/MLton/mlton/commit/66cf9abebb100d2a4243a9a1c9af7d2ab90e5b89 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-20 (Wed, 20 May 2020) Changed paths: M mlton/Makefile Log Message: ----------- Use `-e` test Commit: 64963d449fe3211065d1fef6d7b940f9e518e99b https://github.com/MLton/mlton/commit/64963d449fe3211065d1fef6d7b940f9e518e99b Author: Matthew Fluet <mat...@gm...> Date: 2020-05-20 (Wed, 20 May 2020) Changed paths: M Makefile.config M mllex/Makefile M mlnlffigen/Makefile M mlprof/Makefile M mlton/Makefile M mlyacc/Makefile Log Message: ----------- When no mlton command found, use dummy command for `-stop f` deps Commit: d3e139b7f8b710497b889212b680708fc8cac0a2 https://github.com/MLton/mlton/commit/d3e139b7f8b710497b889212b680708fc8cac0a2 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-23 (Sat, 23 May 2020) Changed paths: M .gitignore M Makefile M mlton/.gitignore M mlton/Makefile M runtime/Makefile Log Message: ----------- Add `remote-bootstrap` and `remote-add-cross-target` goals to `Makefile` The `remote-bootstrap` goal automates the process of bootstraping MLton on a remote machine that doesn't have a suitable pre-compiled `mlton` binary. The `remote-add-cross-target` goal automatesthe process of adding a cross-compiler target. These goals replace `bin/add-cross` and `bin/save-bootstrap-source`. Commit: d25d72c251088ce4a4d2ef2e521e5b4a4b8c5689 https://github.com/MLton/mlton/commit/d25d72c251088ce4a4d2ef2e521e5b4a4b8c5689 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-23 (Sat, 23 May 2020) Changed paths: M doc/guide/src/CrossCompiling.adoc Log Message: ----------- Update `CrossCompiling` page Commit: 13f3c33cebc1c3ed9b127277553fcd757573ece7 https://github.com/MLton/mlton/commit/13f3c33cebc1c3ed9b127277553fcd757573ece7 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-23 (Sat, 23 May 2020) Changed paths: M doc/guide/src/PortingMLton.adoc Log Message: ----------- Update `PortingMLton` page Commit: c69e66769068b0cf3e03cd860279d260e2fb01e2 https://github.com/MLton/mlton/commit/c69e66769068b0cf3e03cd860279d260e2fb01e2 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-23 (Sat, 23 May 2020) Changed paths: R bin/add-cross R bin/build-cross-gcc R bin/save-bootstrap-source Log Message: ----------- Remove `add-cross`, `build-cross-gcc`, and `save-bootstrap-source` scripts The `add-cross` and `save-bootstrap-source` scripts are superseded by the `remote-add-cross-target` and `remote-bootstrap` goals of the root `Makefile`. The `build-cross-gcc` script is outdated and no longer maintained. Commit: b1b624ad38ec22d1bedf4bdbd1eda4e827923bcd https://github.com/MLton/mlton/commit/b1b624ad38ec22d1bedf4bdbd1eda4e827923bcd Author: Matthew Fluet <Mat...@gm...> Date: 2020-05-23 (Sat, 23 May 2020) Changed paths: M .gitignore M Makefile M Makefile.binary M Makefile.config R bin/add-cross R bin/build-cross-gcc M bin/mlton-script R bin/save-bootstrap-source M doc/guide/src/CrossCompiling.adoc M doc/guide/src/PortingMLton.adoc M mllex/Makefile M mlnlffigen/Makefile M mlprof/Makefile M mlton/.gitignore M mlton/Makefile M mlyacc/Makefile M runtime/Makefile M runtime/gen/basis-ffi.h.chk M runtime/gen/basis-ffi.sml.chk M runtime/gen/gen-basis-ffi-consts.c.chk Log Message: ----------- Merge pull request #380 from MatthewFluet/porting-updates Updates to simplify porting MLton. Compare: https://github.com/MLton/mlton/compare/e13202c3ec0d...b1b624ad38ec |
From: Matthew F. <no...@gi...> - 2020-05-17 02:54:37
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: b49a92820aa38fd51bea42a3714eb0c1bceb7f04 https://github.com/MLton/mlton/commit/b49a92820aa38fd51bea42a3714eb0c1bceb7f04 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-16 (Sat, 16 May 2020) Changed paths: M doc/guide/src/Emacs.adoc Log Message: ----------- Fix markup typos in Emacs.adoc Commit: 3415d624a42d9a357afa52a09fd51d08f9ac90eb https://github.com/MLton/mlton/commit/3415d624a42d9a357afa52a09fd51d08f9ac90eb Author: Matthew Fluet <mat...@gm...> Date: 2020-05-16 (Sat, 16 May 2020) Changed paths: M doc/guide/src/Emacs.adoc Log Message: ----------- Use `https` protocol for links in `Emacs.adoc` Commit: e13202c3ec0d0317c12230ac9e49a461cf1791cb https://github.com/MLton/mlton/commit/e13202c3ec0d0317c12230ac9e49a461cf1791cb Author: Matthew Fluet <Mat...@gm...> Date: 2020-05-16 (Sat, 16 May 2020) Changed paths: M doc/guide/src/Emacs.adoc Log Message: ----------- Merge pull request #379 from MatthewFluet/guide-updates Fix markup typos in Emacs.adoc Compare: https://github.com/MLton/mlton/compare/7d1e14b7175e...e13202c3ec0d |
From: Matthew F. <no...@gi...> - 2020-05-13 14:57:27
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: e976b8810f96e4e5f7ba0f1b88581395f799df04 https://github.com/MLton/mlton/commit/e976b8810f96e4e5f7ba0f1b88581395f799df04 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-13 (Wed, 13 May 2020) Changed paths: M Makefile.config Log Message: ----------- Use proper `cd d && pwd` idiom for `SRC` var in `Makefile.config` Commit: 1378758172fafb8ba12c2fe620e0372e23a45635 https://github.com/MLton/mlton/commit/1378758172fafb8ba12c2fe620e0372e23a45635 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-13 (Wed, 13 May 2020) Changed paths: M Makefile.config Log Message: ----------- Error if `HOST_ARCH` or `HOST_OS` cannot be determined in `Makefile.config` See MLton/mlton#137 Commit: 7d1e14b7175e50a300044e0260e47bb7b095827e https://github.com/MLton/mlton/commit/7d1e14b7175e50a300044e0260e47bb7b095827e Author: Matthew Fluet <Mat...@gm...> Date: 2020-05-13 (Wed, 13 May 2020) Changed paths: M Makefile.config Log Message: ----------- Merge pull request #378 from MatthewFluet/issue-137 Error if `HOST_ARCH` or `HOST_OS` cannot be determined in `Makefile.config` Compare: https://github.com/MLton/mlton/compare/4d03fb42fb41...7d1e14b7175e |
From: Matthew F. <no...@gi...> - 2020-05-13 13:46:52
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 1b365cb3771ddc24f65dfce2458ccf01ccb8cb46 https://github.com/MLton/mlton/commit/1b365cb3771ddc24f65dfce2458ccf01ccb8cb46 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-13 (Wed, 13 May 2020) Changed paths: M doc/guide/src/BasisLibrary.adoc Log Message: ----------- Note that Basis Library uses opaque signature matching Closes MLton/mlton#373 Commit: cbb17f46fcc6a839625fc9606f79c516f96e548a https://github.com/MLton/mlton/commit/cbb17f46fcc6a839625fc9606f79c516f96e548a Author: Matthew Fluet <mat...@gm...> Date: 2020-05-13 (Wed, 13 May 2020) Changed paths: M doc/guide/src/Emacs.adoc Log Message: ----------- Update link to `sml-mode` in `Emacs.adoc` Commit: bf64cb9a6485b7f000bcc0f4527da0bd3c2e24ad https://github.com/MLton/mlton/commit/bf64cb9a6485b7f000bcc0f4527da0bd3c2e24ad Author: Matthew Fluet <mat...@gm...> Date: 2020-05-13 (Wed, 13 May 2020) Changed paths: M doc/guide/src/Emacs.adoc Log Message: ----------- Drop `mindent.tar` link from `Emacs.adoc` Link is broken and Google doesn't suggest a new target. Commit: 0b35f86052a0a78810d6d1c424ee851095e64693 https://github.com/MLton/mlton/commit/0b35f86052a0a78810d6d1c424ee851095e64693 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-13 (Wed, 13 May 2020) Changed paths: M doc/guide/src/Emacs.adoc Log Message: ----------- Add link to `company-mlton` in `Emacs.adoc` Commit: e7bd015fba7a1062d4c0dfc5226483c26e1e39ea https://github.com/MLton/mlton/commit/e7bd015fba7a1062d4c0dfc5226483c26e1e39ea Author: Matthew Fluet <mat...@gm...> Date: 2020-05-13 (Wed, 13 May 2020) Changed paths: M doc/guide/src/Emacs.adoc Log Message: ----------- Change "Building on the background" to "Building in the background" in `Emacs.adoc` Commit: f06d49bd9ca66aecdc07e8b052779c663ffeb049 https://github.com/MLton/mlton/commit/f06d49bd9ca66aecdc07e8b052779c663ffeb049 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-13 (Wed, 13 May 2020) Changed paths: M doc/guide/src/BasisLibrary.adoc Log Message: ----------- Add link to SML Basis Library Wiki to `BasisLibrary.adoc` Commit: 4d03fb42fb41373d1d923581cbe0acbb2bdac3fd https://github.com/MLton/mlton/commit/4d03fb42fb41373d1d923581cbe0acbb2bdac3fd Author: Matthew Fluet <Mat...@gm...> Date: 2020-05-13 (Wed, 13 May 2020) Changed paths: M doc/guide/src/BasisLibrary.adoc M doc/guide/src/Emacs.adoc Log Message: ----------- Merge pull request #377 from MatthewFluet/guide-updates Guide updates Compare: https://github.com/MLton/mlton/compare/b349192a7db7...4d03fb42fb41 |
From: Matthew F. <no...@gi...> - 2020-05-12 16:32:10
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: a12c18461a1d3b89ec76e7830ff5759d31875816 https://github.com/MLton/mlton/commit/a12c18461a1d3b89ec76e7830ff5759d31875816 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-12 (Tue, 12 May 2020) Changed paths: M mlton/backend/rssa-shrink.fun Log Message: ----------- Fix infinite loop with jump chaining in `RssaShrink` MLton/mlton#298 introduced a (simple) jump optimization in `RssaShrink`. However, an infinite loop block like loop_61 () Jump = loop_61 () would lead to an infinite loop in `RssaShrink` trying to compute the replacement label for `loop_61`. To avoid the infinite loop, we pre-calculate the replacement label for each block, keeping track of labels seen and marking the looping block as having no replacement. Closes MLton/mlton#372 Commit: b349192a7db78a0c40c2f8accf8b17729580ff76 https://github.com/MLton/mlton/commit/b349192a7db78a0c40c2f8accf8b17729580ff76 Author: Matthew Fluet <Mat...@gm...> Date: 2020-05-12 (Tue, 12 May 2020) Changed paths: M mlton/backend/rssa-shrink.fun Log Message: ----------- Merge pull request #376 from MatthewFluet/bug-372 Fix infinite loop with jump chaining in `RssaShrink` Compare: https://github.com/MLton/mlton/compare/9b6b2657ecd4...b349192a7db7 |
From: Matthew F. <no...@gi...> - 2020-05-11 20:21:37
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 78dcded7d0ee605af5155f0d90984db3e2bd5a36 https://github.com/MLton/mlton/commit/78dcded7d0ee605af5155f0d90984db3e2bd5a36 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-11 (Mon, 11 May 2020) Changed paths: M Makefile Log Message: ----------- Use `$(SRC)` prefix in `TOOLS_TEMPLATE` See MLton/mlton#374. Commit: af94949f53ec07e2f59c1bede259c89de75a72cd https://github.com/MLton/mlton/commit/af94949f53ec07e2f59c1bede259c89de75a72cd Author: Matthew Fluet <mat...@gm...> Date: 2020-05-11 (Mon, 11 May 2020) Changed paths: M Makefile M mllex/Makefile M mlton/Makefile M mlyacc/Makefile Log Message: ----------- Use Makefile variables for standard commands Commit: 95d5ec36611ddf1cd182123eb0a8fd7d9dd71160 https://github.com/MLton/mlton/commit/95d5ec36611ddf1cd182123eb0a8fd7d9dd71160 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-11 (Mon, 11 May 2020) Changed paths: M lib/ckit-lib/Makefile M lib/mllpt-lib/Makefile M lib/mlrisc-lib/Makefile M lib/smlnj-lib/Makefile Log Message: ----------- Use `Makefile.config` for extracting various SML/NJ libraries Commit: 51b25beba820ee63c21efb4817fa5f7b49e4584b https://github.com/MLton/mlton/commit/51b25beba820ee63c21efb4817fa5f7b49e4584b Author: Matthew Fluet <mat...@gm...> Date: 2020-05-11 (Mon, 11 May 2020) Changed paths: M lib/mlnlffi-lib/Makefile Log Message: ----------- Use `Makefile.config` for MLNLFFI library Commit: 945a2620809c0b7e84750b393bcf24b19fa19548 https://github.com/MLton/mlton/commit/945a2620809c0b7e84750b393bcf24b19fa19548 Author: Matthew Fluet <mat...@gm...> Date: 2020-05-11 (Mon, 11 May 2020) Changed paths: M Makefile M Makefile.config M lib/ckit-lib/Makefile M lib/mllpt-lib/Makefile M lib/mlrisc-lib/Makefile M lib/smlnj-lib/Makefile M mlton/Makefile M mlyacc/Makefile Log Message: ----------- Add `CHMOD` to `Makefile.config` and use in other `Makefile`s Commit: 9b6b2657ecd46e82ca95808eaaebcb2ec3884d4d https://github.com/MLton/mlton/commit/9b6b2657ecd46e82ca95808eaaebcb2ec3884d4d Author: Matthew Fluet <Mat...@gm...> Date: 2020-05-11 (Mon, 11 May 2020) Changed paths: M Makefile M Makefile.config M lib/ckit-lib/Makefile M lib/mllpt-lib/Makefile M lib/mlnlffi-lib/Makefile M lib/mlrisc-lib/Makefile M lib/smlnj-lib/Makefile M mllex/Makefile M mlton/Makefile M mlyacc/Makefile Log Message: ----------- Merge pull request #375 from MatthewFluet/makefile-updates Makefile updates Compare: https://github.com/MLton/mlton/compare/0c29a240b3f8...9b6b2657ecd4 |
From: Matthew F. <no...@gi...> - 2020-03-11 21:03:05
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 6abb92f304282cb2bcb6bb8a93ef4e20aad7789d https://github.com/MLton/mlton/commit/6abb92f304282cb2bcb6bb8a93ef4e20aad7789d Author: SAITOU Keita <kei...@gm...> Date: 2020-03-11 (Wed, 11 Mar 2020) Changed paths: M regression/string.fromString.ok M regression/string.fromString.sml M regression/string.sml Log Message: ----------- Fixed regressions about String.scan to follow Basis Library spec Commit: 6f273eae8f14086e625fbf87c1a8e4c3d77f1129 https://github.com/MLton/mlton/commit/6f273eae8f14086e625fbf87c1a8e4c3d77f1129 Author: SAITOU Keita <kei...@gm...> Date: 2020-03-11 (Wed, 11 Mar 2020) Changed paths: M basis-library/text/char.sig M basis-library/text/char.sml M basis-library/text/string.sml Log Message: ----------- Fixed String.scan to follow the Basis Library spec. Before this commit, String.scan returns `SOME ([], _)` when input starts with non-printable character. Commit: 0c29a240b3f84cf2464d96bbd47e762e80c0854f https://github.com/MLton/mlton/commit/0c29a240b3f84cf2464d96bbd47e762e80c0854f Author: Matthew Fluet <Mat...@gm...> Date: 2020-03-11 (Wed, 11 Mar 2020) Changed paths: M basis-library/text/char.sig M basis-library/text/char.sml M basis-library/text/string.sml M regression/string.fromString.ok M regression/string.fromString.sml M regression/string.sml Log Message: ----------- Merge pull request #371 from yonta/fix_stringscan Fix String.scan to return NONE Compare: https://github.com/MLton/mlton/compare/9db8833e68da...0c29a240b3f8 |
From: Matthew F. <no...@gi...> - 2020-02-27 02:25:20
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: f3c6b51d9d4e1e08856d8106ea973438ac502b3a https://github.com/MLton/mlton/commit/f3c6b51d9d4e1e08856d8106ea973438ac502b3a Author: Matthew Fluet <mat...@gm...> Date: 2020-02-17 (Mon, 17 Feb 2020) Changed paths: M mlton/backend/object-type.sig Log Message: ----------- Fix comment in `signature OBJECT_TYPE` Commit: 0c05abde2d3f12af80b6e2ea1043f1057cc5586e https://github.com/MLton/mlton/commit/0c05abde2d3f12af80b6e2ea1043f1057cc5586e Author: Matthew Fluet <mat...@gm...> Date: 2020-02-17 (Mon, 17 Feb 2020) Changed paths: M mlton/backend/backend.fun M mlton/backend/collect-statics.fun M mlton/backend/implement-profiling.fun M mlton/backend/limit-check.fun M mlton/backend/machine.fun M mlton/backend/object-type.sig M mlton/backend/object.fun M mlton/backend/object.sig M mlton/backend/packed-representation.fun M mlton/backend/rep-type.fun M mlton/codegen/c-codegen/c-codegen.fun Log Message: ----------- Eliminate `Type.t` fields of `Object` variants Commit: 6f4f2fcf5eb067c20e7d036765710953b66ee0e3 https://github.com/MLton/mlton/commit/6f4f2fcf5eb067c20e7d036765710953b66ee0e3 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-17 (Mon, 17 Feb 2020) Changed paths: M mlton/backend/backend.fun M mlton/backend/limit-check.fun M mlton/backend/object-type.sig M mlton/backend/object.fun M mlton/backend/packed-representation.fun M mlton/backend/rep-type.fun M mlton/backend/ssa2-to-rssa.fun M mlton/codegen/c-codegen/c-codegen.fun M mlton/control/bits.sml Log Message: ----------- Use `components: ty vector` for OBJECT_TYPE variants Change: datatype OBJECT_TYPE.t = Normal of {hasIdentity: bool, ty: ty} | Sequence of {elt: ty, hasIdentity: bool} | Stack | Weak of ty option (* in Weak (SOME t), must have Type.isObjptr t *) to datatype OBJECT_TYPE.t = Normal of {components: ty vector, hasIdentity: bool} | Sequence of {components: ty vector, hasIdentity: bool} | Stack | Weak of ty option (* in Weak (SOME t), must have Type.isObjptr t *) Commit: 8c942451d6070b899ad62dfeed6045652a2af055 https://github.com/MLton/mlton/commit/8c942451d6070b899ad62dfeed6045652a2af055 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-19 (Wed, 19 Feb 2020) Changed paths: M mlton/atoms/atoms.fun M mlton/atoms/atoms.sig A mlton/atoms/prod.fun A mlton/atoms/prod.sig M mlton/atoms/sources.cm M mlton/atoms/sources.mlb M mlton/ssa/ssa-tree2.fun M mlton/ssa/ssa-tree2.sig Log Message: ----------- Refactor `structure Ssa2Tree.Prod: PROD` to `structure Atoms.Prod: PROD` Commit: 5ff8e6fb4186e6d9381acc8b2a37e96e1370531d https://github.com/MLton/mlton/commit/5ff8e6fb4186e6d9381acc8b2a37e96e1370531d Author: Matthew Fluet <mat...@gm...> Date: 2020-02-20 (Thu, 20 Feb 2020) Changed paths: M mlton/atoms/prod.fun M mlton/atoms/prod.sig Log Message: ----------- Add `Prod.first` and `Prod.hash` Commit: 3429ef14d3353fb83c5cf2dd4112c3ea191cee79 https://github.com/MLton/mlton/commit/3429ef14d3353fb83c5cf2dd4112c3ea191cee79 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-20 (Thu, 20 Feb 2020) Changed paths: M mlton/atoms/sources.cm M mlton/atoms/sources.mlb Log Message: ----------- Export `signature PROD` Commit: b9fa69153bf90d47901a181b22db37f531716ff8 https://github.com/MLton/mlton/commit/b9fa69153bf90d47901a181b22db37f531716ff8 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-20 (Thu, 20 Feb 2020) Changed paths: M mlton/backend/backend-atoms.fun M mlton/backend/backend-atoms.sig M mlton/backend/limit-check.fun M mlton/backend/object-type.sig M mlton/backend/packed-representation.fun M mlton/backend/rep-type.fun M mlton/backend/rep-type.sig M mlton/backend/representation.sig M mlton/backend/ssa2-to-rssa.fun M mlton/codegen/c-codegen/c-codegen.fun Log Message: ----------- Use `components: ty Prod.t` for OBJECT_TYPE variants Change: datatype OBJECT_TYPE.t = Normal of {components: ty vector, hasIdentity: bool} | Sequence of {components: ty vector, hasIdentity: bool} | Stack | Weak of ty option (* in Weak (SOME t), must have Type.isObjptr t *) to datatype OBJECT_TYPE.t = Normal of {components: ty Prod.t, hasIdentity: bool} | Sequence of {components: ty Prod.t, hasIdentity: bool} | Stack | Weak of ty option (* in Weak (SOME t), must have Type.isObjptr t *) Commit: b39a8f84c208d1d58f429e7de68bdb152286313e https://github.com/MLton/mlton/commit/b39a8f84c208d1d58f429e7de68bdb152286313e Author: Matthew Fluet <mat...@gm...> Date: 2020-02-20 (Thu, 20 Feb 2020) Changed paths: M mlton/backend/backend.fun Log Message: ----------- Be less conservative about placing static objects in Dynamic heap Commit: 76104684e39fbde6334ce93e587bf436f620b8ac https://github.com/MLton/mlton/commit/76104684e39fbde6334ce93e587bf436f620b8ac Author: Matthew Fluet <mat...@gm...> Date: 2020-02-21 (Fri, 21 Feb 2020) Changed paths: M mlton/backend/packed-representation.fun Log Message: ----------- Simplify `PackedRepresentation.WordComponent` Commit: 953fe8d1e915f591757100c1835984150fb84a00 https://github.com/MLton/mlton/commit/953fe8d1e915f591757100c1835984150fb84a00 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-22 (Sat, 22 Feb 2020) Changed paths: M mlton/backend/packed-representation.fun Log Message: ----------- Don't assume padding before objptrs is a multiple of Word32 Commit: a8fe6fdfd7b0a9a292ae3f64b9321e57c244ba55 https://github.com/MLton/mlton/commit/a8fe6fdfd7b0a9a292ae3f64b9321e57c244ba55 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-22 (Sat, 22 Feb 2020) Changed paths: M mlton/control/bits.sml Log Message: ----------- Add `Bytes.{inWord{8,16},prims}` Commit: 6bf59f5420c36f4ffbbc44b285336aec130a7296 https://github.com/MLton/mlton/commit/6bf59f5420c36f4ffbbc44b285336aec130a7296 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-22 (Sat, 22 Feb 2020) Changed paths: M mlton/backend/rep-type.fun Log Message: ----------- Refactor `RepType.checkOffset` Commit: 6a6a9d0549c143c87901c6086cd678ce6007c44a https://github.com/MLton/mlton/commit/6a6a9d0549c143c87901c6086cd678ce6007c44a Author: Matthew Fluet <mat...@gm...> Date: 2020-02-22 (Sat, 22 Feb 2020) Changed paths: M mlton/backend/rep-type.fun M mlton/control/control-flags.sig M mlton/control/control-flags.sml M mlton/main/main.fun Log Message: ----------- Experiment with different styles for `RepType.checkOffset` Commit: 5966df1f8f27b2c223cd45aefe3ad49a79921da2 https://github.com/MLton/mlton/commit/5966df1f8f27b2c223cd45aefe3ad49a79921da2 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-22 (Sat, 22 Feb 2020) Changed paths: M mlton/backend/packed-representation.fun Log Message: ----------- Rename `{s,S}ubword` to `{s,S}ubWord` Commit: 3e8c5cbec356ab60bcfa41dc3dbae2e2c7cca9a4 https://github.com/MLton/mlton/commit/3e8c5cbec356ab60bcfa41dc3dbae2e2c7cca9a4 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-22 (Sat, 22 Feb 2020) Changed paths: M mlton/backend/packed-representation.fun M mlton/control/control-flags.sig M mlton/control/control-flags.sml M mlton/main/main.fun Log Message: ----------- Experiment with different styles for `PackedRepresentation.TupleRep.make:makeSubWord32sAllPrims` Commit: 3cda03381244cd8badc7ae56a9f2b234c3b2fad3 https://github.com/MLton/mlton/commit/3cda03381244cd8badc7ae56a9f2b234c3b2fad3 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-22 (Sat, 22 Feb 2020) Changed paths: A regression/flat-array.4.ok A regression/flat-array.4.sml Log Message: ----------- Add `flat-array.4.sml` regression This regression test constructs a `(Word14.word * Word10.word * Word8.word) vector`, which is `DeepFlatten`-ed. `PackedRepresentation.TupleRep.make: makeSubWord32s` represents the element as a single `Component.Word`, but while the `Word14` and `Word10` sub-components are accessed with `Select.IndirectUnpack` (by reading/writing the whole `Word32` with shifting/masking), the `Word8` sub-component is accessed with `Select.Indirect` (because the packing results in the `Word8` sub-component ending up with an 8-bit aligned offset). This demonstrates that a version of `RepType.checkOffset` that checks that the `offset`/`result` exactly corresponds to a component does not suffice. Interestingly, this scenario (where there are some non-prim-sized components combined with some prim-sized components such that a prim-sized component's offset is properly aligned) never otherwise arises with the regression tests. For all prim-sized components, a version of `PackedRepresentation.TupleRep.make: makeSubWord32sAllPrims` that represents each element as a separate `Component.Word` and accesses each element with `Select.Indirect` (as is done for 64-bit and 32-bit components) is compatible with a version of `RepType.checkOffset` that checks that the `offset`/`result` exactly corresponds to a component (because each element is represented as a separate component). This scenario does occur often. Commit: d9bf1a2df16a9fd253d527a3b0274ab83fd25423 https://github.com/MLton/mlton/commit/d9bf1a2df16a9fd253d527a3b0274ab83fd25423 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-22 (Sat, 22 Feb 2020) Changed paths: M mlton/backend/rep-type.fun Log Message: ----------- Drop a style of `RepType.checkOffset` that is subsumed by another Commit: f72b174be01dcb1a9eaf004cbbaf5cc5f2fead56 https://github.com/MLton/mlton/commit/f72b174be01dcb1a9eaf004cbbaf5cc5f2fead56 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-22 (Sat, 22 Feb 2020) Changed paths: M mlton/backend/machine.fun M mlton/backend/object.fun M mlton/backend/rep-type.fun M mlton/backend/rep-type.sig M mlton/backend/rssa-type-check.fun Log Message: ----------- Check RSSA updates via object offsets are of mutable components Commit: 442192cc6c59b4c9e80204bc50855b28bcecbfbb https://github.com/MLton/mlton/commit/442192cc6c59b4c9e80204bc50855b28bcecbfbb Author: Matthew Fluet <mat...@gm...> Date: 2020-02-22 (Sat, 22 Feb 2020) Changed paths: M mlton/backend/rssa-type-check.fun Log Message: ----------- An RSSA variable should not be the dst of a `Move` statement Commit: 561cd0bba688877067228085dbd8c74ef685d969 https://github.com/MLton/mlton/commit/561cd0bba688877067228085dbd8c74ef685d969 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-23 (Sun, 23 Feb 2020) Changed paths: M mlton/backend/packed-representation.fun M mlton/control/control-flags.sig M mlton/control/control-flags.sml M mlton/main/main.fun Log Message: ----------- Use simpler version of `PackedRepresentation.TupleRep.make: makeSubWord32sAllPrims` The simpler implementation of `makeSubWord32sAllPrims` represents each element as a separate `Component.Word` of either `Word16` or `Word8` (representing a group of elements as a packed `Component.Word` of `Word32`). Both implementations accesses each element with `Select.Indirect` There is no significant performance difference between the implementations: C00 /home/mtf/devel/mlton/builds/g442192cc6/bin/mlton -codegen amd64 -PackedRepresentation.makeSubWord32sAllPrims-style 0 C01 /home/mtf/devel/mlton/builds/g442192cc6/bin/mlton -codegen amd64 -PackedRepresentation.makeSubWord32sAllPrims-style 1 C02 /home/mtf/devel/mlton/builds/g442192cc6/bin/mlton -codegen c -cc gcc-9 -PackedRepresentation.makeSubWord32sAllPrims-style 0 C03 /home/mtf/devel/mlton/builds/g442192cc6/bin/mlton -codegen c -cc gcc-9 -PackedRepresentation.makeSubWord32sAllPrims-style 1 C04 /home/mtf/devel/mlton/builds/g442192cc6/bin/mlton -codegen c -cc clang -PackedRepresentation.makeSubWord32sAllPrims-style 0 C05 /home/mtf/devel/mlton/builds/g442192cc6/bin/mlton -codegen c -cc clang -PackedRepresentation.makeSubWord32sAllPrims-style 1 C06 /home/mtf/devel/mlton/builds/g442192cc6/bin/mlton -codegen llvm -PackedRepresentation.makeSubWord32sAllPrims-style 0 C07 /home/mtf/devel/mlton/builds/g442192cc6/bin/mlton -codegen llvm -PackedRepresentation.makeSubWord32sAllPrims-style 1 task_clock ratio_means.fieller@0.95 (2-level) program `C01/C00` `C03/C02` `C05/C04` `C07/C06` barnes-hut 1.009 1.035 1.045 0.9451 boyer 0.9428 1.021 1.032 0.9271 checksum 1.059 1.003 1.023 1.016 count-graphs 1.026 1.027 1.001 0.9633 DLXSimulator 0.9942 0.9998 0.9678 1.007 even-odd 0.9971 1.010 0.9923 0.9254 fft 0.9995 1.024 1.003 0.9989 fib 1.019 1.006 0.9870 0.9868 flat-array 1.043 1.033 1.005 0.9861 hamlet 0.9939 0.9801 1.001 1.018 imp-for 0.9881 0.9604 0.9966 1.009 knuth-bendix 1.018 1.030 1.024 1.083 lexgen 0.9576 0.9931 1.025 1.003 life 1.037 0.9915 0.9959 0.9898 logic 0.9612 0.9721 1.063 0.9973 mandelbrot 0.9880 1.011 0.9596 1.019 matrix-multiply 0.9213 1.071 0.9590 0.9062 md5 1.001 1.006 1.023 1.011 merge 0.9767 0.9559 1.055 1.043 mlyacc 0.9817 0.9820 1.022 0.9859 model-elimination 1.011 0.9908 1.006 1.020 mpuz 1.011 1.034 1.019 1.025 nucleic 0.9873 1.040 0.9875 0.9802 output1 1.035 1.018 0.9807 0.9917 peek 1.032 1.006 0.9901 0.9118 pidigits 1.011 1.002 0.9743 1.020 psdes-random 0.9998 1.024 0.9844 1.005 ratio-regions 0.9858 1.008 0.9046 0.9728 ray 1.017 0.9788 0.9821 0.9837 raytrace 0.9315 0.9691 1.058 0.9579 simple 0.9747 0.9805 0.9624 1.000 smith-normal-form 1.015 0.9796 1.004 0.9648 string-concat 1.046 1.095 1.031 1.013 tailfib 1.003 1.001 0.9553 1.052 tailmerge 1.064 0.9976 1.007 1.018 tak 1.034 0.9985 1.004 0.9783 tensor 0.9909 1.004 0.9382 1.026 tsp 0.9698 0.9715 1.044 1.081 tyan 0.9743 1.032 0.9592 0.9776 vector-rev 1.062 1.035 0.9386 1.046 vector32-concat 0.9604 1.016 1.041 0.9189 vector64-concat 0.9453 0.9938 0.9561 0.9335 vliw 0.9443 1.012 1.038 0.9898 wc-input1 0.9917 1.016 1.006 0.9505 wc-scanStream 1.027 0.9543 1.103 1.023 zebra 1.012 1.012 0.9888 0.9723 zern 0.9854 1.025 1.003 0.9951 MIN 0.9213 0.9543 0.9046 0.9062 GMEAN 0.9981 1.006 1.000 0.9913 MAX 1.064 1.095 1.103 1.083 Commit: ec0def189ab150b5a16d02bfc1aa4e235bf8a5be https://github.com/MLton/mlton/commit/ec0def189ab150b5a16d02bfc1aa4e235bf8a5be Author: Matthew Fluet <mat...@gm...> Date: 2020-02-26 (Wed, 26 Feb 2020) Changed paths: M mlton/backend/rep-type.fun M mlton/control/control-flags.sig M mlton/control/control-flags.sml M mlton/main/main.fun Log Message: ----------- Remove control for different styles for `RepType.checkOffset` Commit: 9db8833e68daccbe5cc0592314275fe3749b0e44 https://github.com/MLton/mlton/commit/9db8833e68daccbe5cc0592314275fe3749b0e44 Author: Matthew Fluet <Mat...@gm...> Date: 2020-02-26 (Wed, 26 Feb 2020) Changed paths: M mlton/atoms/atoms.fun M mlton/atoms/atoms.sig A mlton/atoms/prod.fun A mlton/atoms/prod.sig M mlton/atoms/sources.cm M mlton/atoms/sources.mlb M mlton/backend/backend-atoms.fun M mlton/backend/backend-atoms.sig M mlton/backend/backend.fun M mlton/backend/collect-statics.fun M mlton/backend/implement-profiling.fun M mlton/backend/limit-check.fun M mlton/backend/machine.fun M mlton/backend/object-type.sig M mlton/backend/object.fun M mlton/backend/object.sig M mlton/backend/packed-representation.fun M mlton/backend/rep-type.fun M mlton/backend/rep-type.sig M mlton/backend/representation.sig M mlton/backend/rssa-type-check.fun M mlton/backend/ssa2-to-rssa.fun M mlton/codegen/c-codegen/c-codegen.fun M mlton/control/bits.sml M mlton/ssa/ssa-tree2.fun M mlton/ssa/ssa-tree2.sig A regression/flat-array.4.ok A regression/flat-array.4.sml Log Message: ----------- Merge pull request #369 from MatthewFluet/backend-types Refactor RSSA/Machine object types Change: datatype OBJECT_TYPE.t = Normal of {hasIdentity: bool, ty: ty} | Sequence of {elt: ty, hasIdentity: bool} | Stack | Weak of ty option (* in Weak (SOME t), must have Type.isObjptr t *) to datatype OBJECT_TYPE.t = Normal of {components: ty Prod.t, hasIdentity: bool} | Sequence of {components: ty Prod.t, hasIdentity: bool} | Stack | Weak of ty option (* in Weak (SOME t), must have Type.isObjptr t *) With this change, the backend is able to be less conservative about placing static objects in the `Dynamic` heap (b39a8f84c) and the RSSA type checker can verify that updates via object offsets are of mutable components (f72b174be). Compare: https://github.com/MLton/mlton/compare/3d039c2ab449...9db8833e68da |
From: Matthew F. <no...@gi...> - 2020-02-16 23:20:14
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 3d81d427894e7adb4349b8a81555d41c259a87bc https://github.com/MLton/mlton/commit/3d81d427894e7adb4349b8a81555d41c259a87bc Author: Matthew Fluet <mat...@gm...> Date: 2020-02-16 (Sun, 16 Feb 2020) Changed paths: M mlton/ssa/simplify-types.fun Log Message: ----------- Fix regression in functionality of `SimplifyTypes`. The previous "simplifying" of `SimplifyTypes` was overzealous. It ended up eliminating the aspects of the transformation that cleaned up types of cardinality 1; such types are equivalent (and many become translated) to `unit` and should be removed from types, arguments, etc. Commit: 3d039c2ab44931f3156db99d5e67db243b5c4d8d https://github.com/MLton/mlton/commit/3d039c2ab44931f3156db99d5e67db243b5c4d8d Author: Matthew Fluet <Mat...@gm...> Date: 2020-02-16 (Sun, 16 Feb 2020) Changed paths: M mlton/ssa/simplify-types.fun Log Message: ----------- Merge pull request #368 from MatthewFluet/simplify-types-update Fix regression in functionality of `SimplifyTypes`. Compare: https://github.com/MLton/mlton/compare/ef0f05961366...3d039c2ab449 |
From: Matthew F. <no...@gi...> - 2020-02-14 19:02:59
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: a7b19de3a8a38ffbae4a6183100f948cc0ac2b49 https://github.com/MLton/mlton/commit/a7b19de3a8a38ffbae4a6183100f948cc0ac2b49 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-12 (Wed, 12 Feb 2020) Changed paths: M mlton/ssa/simplify-types.fun Log Message: ----------- Cleanup formatting and whitespace Commit: 87d2f179aadd7a5c93e82d8eaac810e47f3a6f62 https://github.com/MLton/mlton/commit/87d2f179aadd7a5c93e82d8eaac810e47f3a6f62 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-13 (Thu, 13 Feb 2020) Changed paths: M mlton/ssa/simplify-types.fun Log Message: ----------- Refactor `simplifyType` property of `SimplifyTypes` to `simplifyTypeOpt` Previously, the `simplifyType` property had the type `Type.t -> Type.t`, where `Type.unit` was used to signal an uninhabited type. However, this is ambiguous, as `Type.unit` is an inhabited type. The refactored `simplifyTypeOpt` property has the type `Type.t -> Type.t option`, where `NONE` is used to signal an uninhabited type. Commit: 216d5050d8c25b479d2438cd78d991badf66dcef https://github.com/MLton/mlton/commit/216d5050d8c25b479d2438cd78d991badf66dcef Author: Matthew Fluet <mat...@gm...> Date: 2020-02-13 (Thu, 13 Feb 2020) Changed paths: M mlton/ssa/simplify-types.fun Log Message: ----------- Refactor handling of uninhabited types in `SimplifyTypes` Following the previous commit, further use a `Type.t option` and `NONE` to signal an uninhabited type, rather than a `Type.t` and `Type.unit`. In particular, a `Statement.t` that purports to produce a value of an uninhabited type must be unreachable. This optimization isn't expressible when an uninhabited type is signaled by `Type.unit`, because many statements may produce a value of `Type.unit`. Commit: 51ae3cdfeef3c47e514ad216d7105e4bd809ae2b https://github.com/MLton/mlton/commit/51ae3cdfeef3c47e514ad216d7105e4bd809ae2b Author: Matthew Fluet <mat...@gm...> Date: 2020-02-13 (Thu, 13 Feb 2020) Changed paths: M mlton/ssa/simplify-types.fun Log Message: ----------- Fix bug in `SimplifyTypes` After identifying an unreachable statement (e.g., the `ConApp` of a `Useless` constructor), `SimplifyTypes` stops visiting subsequent statements in the block. However, visiting statements is necessary to `setVarInfo` on the variables defined in the block. Because `SimplifyTypes` visits the blocks of a function via a DFS, it may visit (necessarily unreachable) blocks that use variables that were defined (but not visited) by a previously unreachable block. This triggers a `no varInfo property` compiler error. This was previously noted (see the comment at the end of MLton/mlton@19b07c0) and has now been observed in the wild (see MPLLang/mpl#107). To fix the bug, switch from a DFS to a dominator tree traversal, where the dominator tree traversal does not visit any children of an unreachable block. This addresses the `no varInfo property` compiler error, because any block that uses a variable must be dominated by the block that defines the variable. Commit: f27a6bfaacdf04572c3252a20f11f047d2952581 https://github.com/MLton/mlton/commit/f27a6bfaacdf04572c3252a20f11f047d2952581 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-13 (Thu, 13 Feb 2020) Changed paths: M mlton/ssa/simplify-types.fun Log Message: ----------- Further optimize `SimplifyTypes` It is impossible for a block to be called with a value of an uninhabited type. In practice, such a block is usually the target of a `Case` transfer for a `Useless` constructor. The corresponding branch of the `Case` transfer will be eliminated. Commit: efeb4ccee30ea7e814be497793f56c0bd667cefc https://github.com/MLton/mlton/commit/efeb4ccee30ea7e814be497793f56c0bd667cefc Author: Matthew Fluet <mat...@gm...> Date: 2020-02-13 (Thu, 13 Feb 2020) Changed paths: M mlton/ssa/simplify-types.fun Log Message: ----------- Rename `SimplifyTypes.Result.Bugg` to `Dead` Commit: 674c8205f54a29c81c1ce83455dd588774172868 https://github.com/MLton/mlton/commit/674c8205f54a29c81c1ce83455dd588774172868 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-13 (Thu, 13 Feb 2020) Changed paths: M mlton/ssa/simplify-types.fun Log Message: ----------- Use an explicit `void` type for sequences of uninhabited types Rather than using `unit` Commit: 08d219704356648fcd9319ee78dd2ce50c76b104 https://github.com/MLton/mlton/commit/08d219704356648fcd9319ee78dd2ce50c76b104 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-13 (Thu, 13 Feb 2020) Changed paths: M mlton/ssa/simplify-types.fun Log Message: ----------- Don't need to record information about uninhabited datatypes Commit: ed7d109115ae8c8dddb445ee0ee2f98b4dea138c https://github.com/MLton/mlton/commit/ed7d109115ae8c8dddb445ee0ee2f98b4dea138c Author: Matthew Fluet <mat...@gm...> Date: 2020-02-13 (Thu, 13 Feb 2020) Changed paths: M mlton/ssa/simplify-types.fun Log Message: ----------- Further optimize `SimplifyTypes` It is impossible for a function to be called with a value of an uninhabited type. Commit: fab36d3a79b8878e93c4edcc5802e7cec6ac6a40 https://github.com/MLton/mlton/commit/fab36d3a79b8878e93c4edcc5802e7cec6ac6a40 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-13 (Thu, 13 Feb 2020) Changed paths: M mlton/ssa/simplify-types.fun Log Message: ----------- Further optimize `SimplifyTypes` It is impossible for a primitive to be called with a value of an uninhabited type. Hence, a reachable primitive must have all inhabited (and therefore useful) arguments. As a further consequence, a reachable `MLton_eq` and `MLton_equal` must have all inhabited (and therefore useful) arguments and there will be no opportunity to simplify the equality to `true`. Commit: 3b8f3f782715f86716066e7ac34b306f1e796163 https://github.com/MLton/mlton/commit/3b8f3f782715f86716066e7ac34b306f1e796163 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-13 (Thu, 13 Feb 2020) Changed paths: M mlton/ssa/simplify-types.fun Log Message: ----------- Further optimize `SimplifyTypes` An array or vector of an uninhabited type is necessarily empty. This is important, because while an `Array_sub` or `Vector_sub` of a sequence of an uninhabited type will be recognized as unreachable, the "origin" of the unreachability is the dominating bounds check that must necessarily fail. Replacing `Array_length` and `Vector_length` of a sequence of an uninhabited type allows the dominating bounds check to be simplified. Commit: d6f732ba5270409a3027ec94a26328c02ce58fa8 https://github.com/MLton/mlton/commit/d6f732ba5270409a3027ec94a26328c02ce58fa8 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-13 (Thu, 13 Feb 2020) Changed paths: M mlton/ssa/simplify-types.fun Log Message: ----------- Eliminate (now) unused `unitVar` from `SimplifyTypes` Commit: 33614ae2a6aabed478c0eea67a150fe44f907245 https://github.com/MLton/mlton/commit/33614ae2a6aabed478c0eea67a150fe44f907245 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-13 (Thu, 13 Feb 2020) Changed paths: M mlton/ssa/simplify-types.fun Log Message: ----------- Further optimize `SimplifyTypes` It is impossible to `ConApp`, `Call`, `Raise`, or `Return` with a value of an uninhabited type. Hence, a reachable `ConApp`, `Call`, `Raise`, or `Return` must have all inhabited (and therefore useful) arguments. Commit: cdc536d584a1a6d2632cc7829a49a9a7ca070169 https://github.com/MLton/mlton/commit/cdc536d584a1a6d2632cc7829a49a9a7ca070169 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-13 (Thu, 13 Feb 2020) Changed paths: M mlton/ssa/simplify-types.fun Log Message: ----------- Fix latent bug in previous optimization of `SimplifyTypes` In a previous commit, it was noted that it is impossible for a block to be called with a value of an uninhabited type. This was used to justify not including such a block in the transformed function. One example is a block that is the target of a `Case` transfer for a `Useless` constructor. The corresponding branch of the `Case` transfer will be eliminated and the block will not have a use in the transformed function. However, it is possible for such a block to be the `cont` or `handle` of a non-tail call. While it will be impossible for the called function to `Return` or `Raise` with a value of an uninhabited type, the type of the function must be (mostly) preserved. In particular, the `returns` and `raises` are transformed via: val returns = Option.map (returns, keepSimplifyTypes) val raises = Option.map (raises, keepSimplifyTypes) where `keepSimplifyTypes` drops uninhabited components. Because the `returns` and `raises` of the function are not eliminated, the `cont` and `handle` blocks cannot be eliminated. On the other hand, when the block is the target of a `Case` transfer for a `Useless` constructor, then there will be no use of the block in the transformed program and the block will be eliminated by `Shrink`. While it would be possible to adjust the `cont` and `handle` at a `Call`, it is non-trivial. For example, a function that purports to return a value of an uninhabited type cannot actually `Return`, but could continue to `Raise`. However, the SSA IR cannot express a non-tail call with a `handle` but no `cont`, so some dummy `cont` block would nonetheless be required. Moreover, it would require inspecting the `returns` and `raises` types of the called function, which are not currently recorded in a property for `SimplifyTypes`. Finally, this kind of calling-convention adjustment is suitably handled by `RemoveUnused`. Commit: 92cc669d9c73f174498bb98fc0a3e224f15a11a3 https://github.com/MLton/mlton/commit/92cc669d9c73f174498bb98fc0a3e224f15a11a3 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-13 (Thu, 13 Feb 2020) Changed paths: M mlton/ssa/simplify-types.fun Log Message: ----------- Further optimize `SimplifyTypes` It is impossible to encounter a `ConRep.FFI` `ConApp`, because all `ConRep.FFI` constructors were converted to `ConRep.Useful`. It is impossible to encounter a `ConRep.Useless` `ConApp`, because it such constructors were deemed useless. Commit: 7f93cea64ad3d1946a775bb2f22419a432cfbc2f https://github.com/MLton/mlton/commit/7f93cea64ad3d1946a775bb2f22419a432cfbc2f Author: Matthew Fluet <mat...@gm...> Date: 2020-02-13 (Thu, 13 Feb 2020) Changed paths: M mlton/ssa/simplify-types.fun Log Message: ----------- Further optimize `SimplifyTypes`; `simplifyExp` always succeeds Commit: 297677aececbfb062a07b3c603d85a89d6b8b0e2 https://github.com/MLton/mlton/commit/297677aececbfb062a07b3c603d85a89d6b8b0e2 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-13 (Thu, 13 Feb 2020) Changed paths: M mlton/ssa/simplify-types.fun Log Message: ----------- Eliminate unnecessary `structure Result` in `SimplifyTypes` All statements are either dead or kept (and none are deleted), so a simple option suffices. Commit: 0ace0ffee3c4de144871a76b83ec6ab1d81a93b0 https://github.com/MLton/mlton/commit/0ace0ffee3c4de144871a76b83ec6ab1d81a93b0 Author: Matthew Fluet <mat...@gm...> Date: 2020-02-14 (Fri, 14 Feb 2020) Changed paths: M mlton/ssa/simplify-types.fun Log Message: ----------- Further optimize `SimplifyTypes` `MLton_eq` and `MLton_equal` at a type of cardinality 1 must return `true`. Commit: 9b95df4df19773c30d49a1d2ab71b181a5150cfc https://github.com/MLton/mlton/commit/9b95df4df19773c30d49a1d2ab71b181a5150cfc Author: Matthew Fluet <mat...@gm...> Date: 2020-02-14 (Fri, 14 Feb 2020) Changed paths: M CHANGELOG.adoc Log Message: ----------- Note `SimplifyTypes` bug fix in `CHANGELOG.adoc` Commit: ef0f059613665aa4087a9cf0cf236330ed463e68 https://github.com/MLton/mlton/commit/ef0f059613665aa4087a9cf0cf236330ed463e68 Author: Matthew Fluet <Mat...@gm...> Date: 2020-02-14 (Fri, 14 Feb 2020) Changed paths: M CHANGELOG.adoc M mlton/ssa/simplify-types.fun Log Message: ----------- Merge pull request #367 from MatthewFluet/simplify-types-fix Fix SimplifyTypes SSA optimization pass `SimplifyTypes` could fail with a `no varInfo property` internal compiler error. `SimplifyTypes` transforms each function by visiting the blocks via `Function.dfs`. When visiting a statement, `setVarInfo` is called for the defined variable. However, after identifying an unreachable statement (e.g., the `ConApp` of a `Useless` constructor), `SimplifyTypes` does not visit the remaining statements of the block. When continuing with the DFS, `SimplifyTypes` may subsequently visit a block that use variables that were defined (but not visited and, therefore, not `setVarInfo`-ed) by a previously visited block. This potential error was previously noted (see the comment at the end of MLton/mlton@19b07c0) and has now been observed in the wild (see MPLLang/mpl#107). To fix the error, switch from a DFS (on the control-flow graph) to a dominator tree (depth-first) traversal, where the dominator tree traversal does not visit any children blocks of an unreachable block. This addresses the `no varInfo property` internal compiler error, because any block that uses a variable must be dominated by the block that defines the variable. Also refactor the handling of uninhabited types. Previously, the `simplifyType` property had the type `Type.t -> Type.t`, where `Type.unit` was used to signal an uninhabited type. However, this is ambiguous, because `Type.unit` *is* an inhabited type. The refactored `simplifyTypeOpt` property has the type `Type.t -> Type.t option`, where `NONE` is used to signal an uninhabited type. Many subsequent simplifications of `SimplifyTypes` follow from this refactoring: * A `Statement.t` that purports to produce a value of an uninhabited type must be unreachable. This optimization isn't expressible when an uninhabited type is signaled by `Type.unit`, because many statements may produce a value of `Type.unit`. * A block with an argument of an uninhabited type must be unreachable. * A function with an argument of an unihabited type must be unreachable. * It is impossible to `ConApp`, `PrimApp`, `Call`, `Raise`, or `Return` with a value of an uninhabited type. * An array or vector of an uninhabited type must have length 0. * `MLton_eq` and `MLton_equal` at a type of cardinality 1 must return true. But, the above does not actually improve effectiveness of the optimization, because it simply eliminates dead code slight more aggressively than before. This dead code was likely to have been eliminated by `Shrink` and/or `RemoveUnused`. Compare: https://github.com/MLton/mlton/compare/2521cb3c6858...ef0f05961366 |
From: Matthew F. <no...@gi...> - 2020-01-25 01:38:27
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 27226278f27be9a4da9eb45447260eef6b4f39a9 https://github.com/MLton/mlton/commit/27226278f27be9a4da9eb45447260eef6b4f39a9 Author: Matthew Fluet <mat...@gm...> Date: 2020-01-24 (Fri, 24 Jan 2020) Changed paths: M mlton/main/main.fun Log Message: ----------- Simplify construction of library name in `mlton/main/main.fun` Commit: ad07445aa94a36029b2d9c47aca83fffd5afd793 https://github.com/MLton/mlton/commit/ad07445aa94a36029b2d9c47aca83fffd5afd793 Author: Matthew Fluet <mat...@gm...> Date: 2020-01-24 (Fri, 24 Jan 2020) Changed paths: M Makefile.binary Log Message: ----------- Reset `default::{pie,pic}` with `update` target of `Makefile.binary` Commit: bfbc2f9cfeb3e14203ea660771619c42c79d66aa https://github.com/MLton/mlton/commit/bfbc2f9cfeb3e14203ea660771619c42c79d66aa Author: Matthew Fluet <mat...@gm...> Date: 2020-01-24 (Fri, 24 Jan 2020) Changed paths: M Makefile.binary Log Message: ----------- Make `update` target of `Makefile.binary` idempotent when `WITH_GMP_DIR` unset Commit: 33b675daa8c7babe955e07ec21af35d34b84a486 https://github.com/MLton/mlton/commit/33b675daa8c7babe955e07ec21af35d34b84a486 Author: Matthew Fluet <mat...@gm...> Date: 2020-01-24 (Fri, 24 Jan 2020) Changed paths: M mlton/main/main.fun Log Message: ----------- Fix help string for `-pi-style` option Commit: bc8422dfdb08fab8478e4d162b254614d43c2483 https://github.com/MLton/mlton/commit/bc8422dfdb08fab8478e4d162b254614d43c2483 Author: Matthew Fluet <mat...@gm...> Date: 2020-01-24 (Fri, 24 Jan 2020) Changed paths: M mlton/control/control-flags.sml Log Message: ----------- Clang respects `-fno-pie` during linking, but not `-no-pie` (on MacOS) Commit: b16b8aebf6be17f8f849a21c431e1252695c0528 https://github.com/MLton/mlton/commit/b16b8aebf6be17f8f849a21c431e1252695c0528 Author: Matthew Fluet <mat...@gm...> Date: 2020-01-24 (Fri, 24 Jan 2020) Changed paths: M Makefile.binary Log Message: ----------- Copy `libmlton.a` from `libmlton{-npi,-pic,-pie}.a` with `update` target of `Makefile.binary` Commit: 2521cb3c6858f7db5baa4f0a13d275dddefbd3e0 https://github.com/MLton/mlton/commit/2521cb3c6858f7db5baa4f0a13d275dddefbd3e0 Author: Matthew Fluet <Mat...@gm...> Date: 2020-01-24 (Fri, 24 Jan 2020) Changed paths: M Makefile.binary M mlton/control/control-flags.sml M mlton/main/main.fun Log Message: ----------- Merge pull request #366 from MatthewFluet/binary-release-update-pi-default Reset position-independent style defaults with `update` target of `Makefile.binary` If the C compiler's default behavior with respect to position-independent code/executables is different between the machine that built a binary release and a machine that uses a binary release, then there could be link-time errors when using the compiler. In particular, if the machine that built the binary release defaults to `-fno-pie` (i.e., non-position independent), but the machine that uses the binary release defaults to `-pie` (i.e., position independent executable), then the link will fail (with a `relocation` error and a suggestion from the linker to recompile with `-fPIC`). The `update` target of the `Makefile.binary` now detects the default behavior of the C compiler on the machine using the binary release and appropriately resets the `default::{pie,pic}` values in the target-specific `constants` file and copies the appropriate of `%-npi.a`, `%-pic.a`, or `%-pie.a` to `%.a`. An apparently simpler solution (than copying `%.a` from `%-npi.a`, `%-pic.a`, or `%-pie.a`) would be to only use the `%-npi.a`, `%-pic.a`, or `%-pie.a` libraries and, after parsing command-line options and determining the target, pretend that `-pi-style` was set to the target default (unless explicitly set). However, this leads to awkward behavior on MacOS. Although MacOS generates PIE by default, `echo "__pie__ __pic__" | clang -E -P -` returns `__pie__ 2` (and returns that same result regardless of `-fno-pie`, `-fPIE`, `-fno-pic`, `-fPIC` arguments). Thus, the MacOS is considered to have a default of `pic`; however, compiling with `-pi-style pic` would cause the link command to have `-fno-pie -no-pie`, which would generate a non-pi executable. Retaining a "default" that invokes the compiler and linker with no extra flags avoids this awkwardness. (Cygwin and MinGW would probably have similar awkwardnesses.) Compare: https://github.com/MLton/mlton/compare/af68d22ac06c...2521cb3c6858 |