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. v. MLton-c. <mlt...@ml...> - 2024-08-09 11:50:09
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 9c8aa88e5bf3cc68d43401477b2639300ee6cdff https://github.com/MLton/mlton/commit/9c8aa88e5bf3cc68d43401477b2639300ee6cdff Author: Matthew Fluet <mat...@gm...> Date: 2024-08-09 (Fri, 09 Aug 2024) Changed paths: M CHANGELOG.adoc M doc/guide/src/LLVMCodegen.adoc M mlton/codegen/llvm-codegen/llvm-codegen.fun Log Message: ----------- Update the LLVM codegen to generate LLVM IR using opaque pointers Using the LLVM codegen requires LLVM 15 (or higher). Commit: 7dc071812d040b7670571003772104513950877e https://github.com/MLton/mlton/commit/7dc071812d040b7670571003772104513950877e Author: Matthew Fluet <Mat...@gm...> Date: 2024-08-09 (Fri, 09 Aug 2024) Changed paths: M CHANGELOG.adoc M doc/guide/src/LLVMCodegen.adoc M mlton/codegen/llvm-codegen/llvm-codegen.fun Log Message: ----------- Merge pull request #574 from MatthewFluet/llvm-opaque-ptr LLVM opaque pointers Update the LLVM codegen to generate LLVM IR using opaque pointers; using the LLVM codegen requires LLVM 15 (or higher). Compare: https://github.com/MLton/mlton/compare/7a85b3b2d558...7dc071812d04 To unsubscribe from these emails, change your notification settings at https://github.com/MLton/mlton/settings/notifications |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2024-08-08 15:37:58
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 7836bc30fc7d8446cf2258e0e1128d934e9901f9 https://github.com/MLton/mlton/commit/7836bc30fc7d8446cf2258e0e1128d934e9901f9 Author: Matthew Fluet <mat...@gm...> Date: 2024-07-31 (Wed, 31 Jul 2024) Changed paths: M mlton/ssa/ssa-tree.fun M mlton/ssa/ssa-tree2.fun Log Message: ----------- Clear `SsaTree{,2}.Function.name: Func.t` properties in `SsaTree{,2}.Program.clearTop` Commit: 445fdc12dc78bd6f5cfd33b82c92bae03adf39bd https://github.com/MLton/mlton/commit/445fdc12dc78bd6f5cfd33b82c92bae03adf39bd Author: Matthew Fluet <mat...@gm...> Date: 2024-07-31 (Wed, 31 Jul 2024) Changed paths: M mlton/ssa/ssa-tree.fun M mlton/ssa/ssa-tree2.fun Log Message: ----------- Tweak `SsaTree{,2}.Function.layoutDot` Commit: 8e385a89cc65a61e4783dc65ab65fcb375c3da6e https://github.com/MLton/mlton/commit/8e385a89cc65a61e4783dc65ab65fcb375c3da6e Author: Matthew Fluet <mat...@gm...> Date: 2024-07-31 (Wed, 31 Jul 2024) Changed paths: M mlton/backend/rssa-tree.fun M mlton/backend/rssa-tree.sig Log Message: ----------- Add `RssaTree.Function.{controlFlow,layoutDot}` Commit: 7a85b3b2d55879faf1ab53c23e21c10568dab5a1 https://github.com/MLton/mlton/commit/7a85b3b2d55879faf1ab53c23e21c10568dab5a1 Author: Matthew Fluet <Mat...@gm...> Date: 2024-08-08 (Thu, 08 Aug 2024) Changed paths: M mlton/backend/rssa-tree.fun M mlton/backend/rssa-tree.sig M mlton/ssa/ssa-tree.fun M mlton/ssa/ssa-tree2.fun Log Message: ----------- Merge pull request #573 from MatthewFluet/rssa-infrastructure {Ssa,Ssa2,Rssa} infrastructure Compare: https://github.com/MLton/mlton/compare/258cb5b08e92...7a85b3b2d558 To unsubscribe from these emails, change your notification settings at https://github.com/MLton/mlton/settings/notifications |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2024-05-23 00:38:46
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: e73f438abb16a80868fe6d194d522dd01cd8ee59 https://github.com/MLton/mlton/commit/e73f438abb16a80868fe6d194d522dd01cd8ee59 Author: Matthew Fluet <mat...@gm...> Date: 2024-05-22 (Wed, 22 May 2024) Changed paths: M LICENSE Log Message: ----------- Update LICENSE date Commit: c66ecc11d95b441f612c6d8cb21211818fa776ce https://github.com/MLton/mlton/commit/c66ecc11d95b441f612c6d8cb21211818fa776ce Author: Matthew Fluet <mat...@gm...> Date: 2024-05-22 (Wed, 22 May 2024) Changed paths: M CHANGELOG.adoc Log Message: ----------- Update CHANGELOG Commit: 7f31145f215cea489828e4906c31a9424c4a5518 https://github.com/MLton/mlton/commit/7f31145f215cea489828e4906c31a9424c4a5518 Author: Matthew Fluet <mat...@gm...> Date: 2024-05-22 (Wed, 22 May 2024) Changed paths: M runtime/Makefile Log Message: ----------- Change `WASMTIME` variable to `EMULATE` in `runtime/Makefile` Commit: 258cb5b08e9263a332e2b261319b9bead91c4fec https://github.com/MLton/mlton/commit/258cb5b08e9263a332e2b261319b9bead91c4fec Author: Matthew Fluet <Mat...@gm...> Date: 2024-05-22 (Wed, 22 May 2024) Changed paths: M CHANGELOG.adoc M LICENSE M runtime/Makefile Log Message: ----------- Merge pull request #570 from MatthewFluet/misc-updates Misc updates: LICENSE date; CHANGELOG; WASMTIME to EMULATE in runtime/Makefile Compare: https://github.com/MLton/mlton/compare/08b85af35b63...258cb5b08e92 To unsubscribe from these emails, change your notification settings at https://github.com/MLton/mlton/settings/notifications |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2024-05-22 21:25:01
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 2d07f55d162f1e91939d55f0d53a81b312dcc201 https://github.com/MLton/mlton/commit/2d07f55d162f1e91939d55f0d53a81b312dcc201 Author: Matthew Fluet <mat...@gm...> Date: 2024-05-17 (Fri, 17 May 2024) Changed paths: M mlton/ssa/useless.fun Log Message: ----------- Lift `Useless.Value.coerceSlot` Commit: 30629e775ab07c345ed9c8546beb054a6f8ba228 https://github.com/MLton/mlton/commit/30629e775ab07c345ed9c8546beb054a6f8ba228 Author: Matthew Fluet <mat...@gm...> Date: 2024-05-17 (Fri, 17 May 2024) Changed paths: M mlton/ssa/useless.fun Log Message: ----------- Add `Useless.de{array,vector}Slot` Commit: ee544e1e4f71bdbf472d702c7b7417c83c083c4f https://github.com/MLton/mlton/commit/ee544e1e4f71bdbf472d702c7b7417c83c083c4f Author: Matthew Fluet <mat...@gm...> Date: 2024-05-17 (Fri, 17 May 2024) Changed paths: M mlton/ssa/useless.fun Log Message: ----------- Simplify forcing of usefulness of `Array_alloc` argument Rather than always forcing a `Value.Array`'s length to be useful whenever an array element exists, only force the `Array_alloc`'s argument to be useful whenever an array element exists. Commit: 4a39ded661828abe43ea5cbca9926d4e9838e3b8 https://github.com/MLton/mlton/commit/4a39ded661828abe43ea5cbca9926d4e9838e3b8 Author: Matthew Fluet <mat...@gm...> Date: 2024-05-17 (Fri, 17 May 2024) Changed paths: M mlton/ssa/useless.fun Log Message: ----------- Unify analysis of sequence primitives in `Useless` Commit: 81bf18f5148bebff5c128f49a938324313cea80b https://github.com/MLton/mlton/commit/81bf18f5148bebff5c128f49a938324313cea80b Author: Matthew Fluet <mat...@gm...> Date: 2024-05-17 (Fri, 17 May 2024) Changed paths: M mlton/ssa/useless.fun Log Message: ----------- Strengthen `Useless` analysis of `Array_to{Array,Vector}` Commit: f557f13255d673aa30f39b58c1834546cde2c360 https://github.com/MLton/mlton/commit/f557f13255d673aa30f39b58c1834546cde2c360 Author: Matthew Fluet <mat...@gm...> Date: 2024-05-17 (Fri, 17 May 2024) Changed paths: M mlton/ssa/useless.fun Log Message: ----------- Fix variable name convention for `Useless.Value.Tuple` argument Commit: 74758132ccf5fa0a77a945ace87768a79dcda567 https://github.com/MLton/mlton/commit/74758132ccf5fa0a77a945ace87768a79dcda567 Author: Matthew Fluet <mat...@gm...> Date: 2024-05-17 (Fri, 17 May 2024) Changed paths: M mlton/ssa/useless.fun Log Message: ----------- Refactor `Useless.Value.getNew` Commit: 1aad5fe772bd73a1ad24134e24da1d9042304acd https://github.com/MLton/mlton/commit/1aad5fe772bd73a1ad24134e24da1d9042304acd Author: Matthew Fluet <mat...@gm...> Date: 2024-05-22 (Wed, 22 May 2024) Changed paths: M mlton/ssa/useless.fun Log Message: ----------- Optimize representation of sequences in Useless pass The `Useless` optimization pass may determine that the contents of a sequence (array or vector) is useless; similarly, it may determine that the length of a sequence is useless; finally, it may determine that the identity of an array is useless. However, the transformation performed by the `Useless` optimization pass would, at most, change a `t array` or `t vector` to `unit array` or `unit vector`. This commit allows the `Useless` optimization pass to change sequences with useless contents to simpler types. In particular: * a `t array` with useless contents, useless length, and useless identity becomes a `unit` * a `t array` with useless contents, useless length, and useful identity becomes a `unit ref` * a `t array` with useless contents, useful length, and useless identity becomes a `word64` (or a `word32` on 32-bit platforms) * a `t array` with useless contents, useful length, and useful identity becomes a `word64 ref` (or a `word32 ref` on 32-bit platforms) * a `t vector` with useless contents and useless length becomes a `unit` * a `t vector` with useless contents and useful length becomes a `word64` (or a `word32` on 32-bit platforms) Such optimizations do not happen frequently, but there are a few instances in a self-compile. Commit: 08b85af35b63f7500a2c425b65d5a94d88637d65 https://github.com/MLton/mlton/commit/08b85af35b63f7500a2c425b65d5a94d88637d65 Author: Matthew Fluet <Mat...@gm...> Date: 2024-05-22 (Wed, 22 May 2024) Changed paths: M mlton/ssa/useless.fun Log Message: ----------- Merge pull request #569 from MatthewFluet/useless-update Optimize representation of sequences in Useless pass The `Useless` optimization pass may determine that the contents of a sequence (array or vector) is useless; similarly, it may determine that the length of a sequence is useless; finally, it may determine that the identity of an array is useless. However, the transformation performed by the `Useless` optimization pass would, at most, change a `t array` or `t vector` to `unit array` or `unit vector`. This PR allows the `Useless` optimization pass to change sequences with useless contents to simpler types. In particular: * a `t array` with useless contents, useless length, and useless identity becomes a `unit` * a `t array` with useless contents, useless length, and useful identity becomes a `unit ref` * a `t array` with useless contents, useful length, and useless identity becomes a `word64` (or a `word32` on 32-bit platforms) * a `t array` with useless contents, useful length, and useful identity becomes a `word64 ref` (or a `word32 ref` on 32-bit platforms) * a `t vector` with useless contents and useless length becomes a `unit` * a `t vector` with useless contents and useful length becomes a `word64` (or a `word32` on 32-bit platforms) Such optimizations do not happen frequently, but there are a few instances in a self-compile. Compare: https://github.com/MLton/mlton/compare/db3ea0bdbcc9...08b85af35b63 To unsubscribe from these emails, change your notification settings at https://github.com/MLton/mlton/settings/notifications |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2024-05-22 19:43:05
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: ae7f2b5def503d43fd9f0459bb8209125c6030a4 https://github.com/MLton/mlton/commit/ae7f2b5def503d43fd9f0459bb8209125c6030a4 Author: Matthew Fluet <mat...@gm...> Date: 2024-05-22 (Wed, 22 May 2024) Changed paths: M .github/workflows/ci.yml Log Message: ----------- Use explicit runner labels Commit: e9eaaf1e481d265172d88e8368c69c227888226a https://github.com/MLton/mlton/commit/e9eaaf1e481d265172d88e8368c69c227888226a Author: Matthew Fluet <mat...@gm...> Date: 2024-05-22 (Wed, 22 May 2024) Changed paths: M .github/workflows/ci.yml Log Message: ----------- Try enabling beta `ubuntu-24.04` runner Commit: b07d314dac9d5ad7744fcde39939cb65fc613178 https://github.com/MLton/mlton/commit/b07d314dac9d5ad7744fcde39939cb65fc613178 Author: Matthew Fluet <mat...@gm...> Date: 2024-05-22 (Wed, 22 May 2024) Changed paths: M .github/workflows/ci.yml Log Message: ----------- Use `brew install -q` to quell warnings Commit: 062d6986c655c194cbb6802bb566a72c1a2f0e29 https://github.com/MLton/mlton/commit/062d6986c655c194cbb6802bb566a72c1a2f0e29 Author: Matthew Fluet <mat...@gm...> Date: 2024-05-22 (Wed, 22 May 2024) Changed paths: M .github/workflows/ci.yml Log Message: ----------- Use `ubuntu-24.04` in CI Commit: db3ea0bdbcc99b19f987224154039711dd0a124f https://github.com/MLton/mlton/commit/db3ea0bdbcc99b19f987224154039711dd0a124f Author: Matthew Fluet <Mat...@gm...> Date: 2024-05-22 (Wed, 22 May 2024) Changed paths: M .github/workflows/ci.yml Log Message: ----------- Merge pull request #568 from MatthewFluet/ci-updates CI updates Compare: https://github.com/MLton/mlton/compare/359be750b843...db3ea0bdbcc9 To unsubscribe from these emails, change your notification settings at https://github.com/MLton/mlton/settings/notifications |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2024-05-21 16:12:03
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 505b31d299c49f64c2793cd5f19aa738a4c83701 https://github.com/MLton/mlton/commit/505b31d299c49f64c2793cd5f19aa738a4c83701 Author: Adam Goode <ag...@go...> Date: 2024-05-19 (Sun, 19 May 2024) Changed paths: M basis-library/mlton/platform.sig M basis-library/mlton/platform.sml M basis-library/sml-nj/sml-nj.sml M mlton/main/main.fun Log Message: ----------- Add Wasm32 and WASI to Arch and OS structures Commit: c14b658f22e60185129390c1ce08adc523658c24 https://github.com/MLton/mlton/commit/c14b658f22e60185129390c1ce08adc523658c24 Author: Adam Goode <ag...@go...> Date: 2024-05-19 (Sun, 19 May 2024) Changed paths: M bin/mlton-script M runtime/Makefile M runtime/cenv.h M runtime/gc/heap.c M runtime/platform.h M runtime/platform/aix.h M runtime/platform/cygwin.h M runtime/platform/darwin.h M runtime/platform/freebsd.h M runtime/platform/hpux.h M runtime/platform/hurd.h M runtime/platform/linux.h M runtime/platform/mingw.h M runtime/platform/netbsd.h M runtime/platform/openbsd.h M runtime/platform/solaris.h A runtime/platform/wasi.c A runtime/platform/wasi.h A runtime/platform/wasm32.h Log Message: ----------- Add wasm32-wasi target to mlton This requires: - WASI SDK: https://github.com/WebAssembly/wasi-sdk - wasmtime: https://wasmtime.dev/ Commit: 4f3d2992ba245a7a116f998ea809272adb53a433 https://github.com/MLton/mlton/commit/4f3d2992ba245a7a116f998ea809272adb53a433 Author: Adam Goode <ag...@go...> Date: 2024-05-19 (Sun, 19 May 2024) Changed paths: M doc/guide/src/PlatformSpecificNotes.adoc A doc/guide/src/RunningOnWASI.adoc Log Message: ----------- Add WASI docs Commit: 359be750b84328e0b497bfde3eb35059074d326f https://github.com/MLton/mlton/commit/359be750b84328e0b497bfde3eb35059074d326f Author: Matthew Fluet <Mat...@gm...> Date: 2024-05-21 (Tue, 21 May 2024) Changed paths: M basis-library/mlton/platform.sig M basis-library/mlton/platform.sml M basis-library/sml-nj/sml-nj.sml M bin/mlton-script M doc/guide/src/PlatformSpecificNotes.adoc A doc/guide/src/RunningOnWASI.adoc M mlton/main/main.fun M runtime/Makefile M runtime/cenv.h M runtime/gc/heap.c M runtime/platform.h M runtime/platform/aix.h M runtime/platform/cygwin.h M runtime/platform/darwin.h M runtime/platform/freebsd.h M runtime/platform/hpux.h M runtime/platform/hurd.h M runtime/platform/linux.h M runtime/platform/mingw.h M runtime/platform/netbsd.h M runtime/platform/openbsd.h M runtime/platform/solaris.h A runtime/platform/wasi.c A runtime/platform/wasi.h A runtime/platform/wasm32.h Log Message: ----------- Merge pull request #550 from agoode/wascally Add WASI (WebAssembly) cross compile support Compare: https://github.com/MLton/mlton/compare/475cf2b14993...359be750b843 To unsubscribe from these emails, change your notification settings at https://github.com/MLton/mlton/settings/notifications |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2024-05-19 18:51:49
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 0107aa5e2227b952f70c8ead5c355c21ef955315 https://github.com/MLton/mlton/commit/0107aa5e2227b952f70c8ead5c355c21ef955315 Author: Adam Goode <ag...@go...> Date: 2024-05-19 (Sun, 19 May 2024) Changed paths: M runtime/gc/gc_state.h M runtime/gc/init.c M runtime/gc/profiling.h M runtime/gc/signals.c M runtime/gc/signals.h Log Message: ----------- Fix up some compiler warnings related to prototypes Commit: 659e0d2814a896042d53472c7d481e5268e0dee2 https://github.com/MLton/mlton/commit/659e0d2814a896042d53472c7d481e5268e0dee2 Author: Adam Goode <ag...@go...> Date: 2024-05-19 (Sun, 19 May 2024) Changed paths: M runtime/gc/profiling.h Log Message: ----------- Fix "unused function" warning in gc/profiling.h Commit: c1a710995d267cc415ae5e51cecf1dc7e0f5d4ac https://github.com/MLton/mlton/commit/c1a710995d267cc415ae5e51cecf1dc7e0f5d4ac Author: Adam Goode <ag...@go...> Date: 2024-05-19 (Sun, 19 May 2024) Changed paths: M runtime/basis/Real/IEEEReal-consts.c Log Message: ----------- Automatically detect various rounding modes As defined in the standard, each of these macros are only defined if the platform supports that rounding mode. https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/fenv.h.html Commit: 4d05837c6e94bf5a42a842fcbbc5b44c9b06c9b0 https://github.com/MLton/mlton/commit/4d05837c6e94bf5a42a842fcbbc5b44c9b06c9b0 Author: Adam Goode <ag...@go...> Date: 2024-05-19 (Sun, 19 May 2024) Changed paths: M Makefile M Makefile.binary M bin/mlton-script Log Message: ----------- Store some target-specific variables in $TARGET/vars This will allow running mlton as a cross-compiler more easily, since the CC and GMP vars may be different between targets. Commit: 21d94b88d9207c19546e84235f7e9eab47735250 https://github.com/MLton/mlton/commit/21d94b88d9207c19546e84235f7e9eab47735250 Author: Adam Goode <ag...@go...> Date: 2024-05-19 (Sun, 19 May 2024) Changed paths: M Makefile Log Message: ----------- Add install-runtime to Makefile This makes it easier to build multiple per-target runtime targets and install them together. Commit: f39bec2b89263feb8b6747cadb35b083748f2508 https://github.com/MLton/mlton/commit/f39bec2b89263feb8b6747cadb35b083748f2508 Author: Adam Goode <ag...@go...> Date: 2024-05-19 (Sun, 19 May 2024) Changed paths: M bin/regression Log Message: ----------- Always pass flags to mlton in bin/regression This makes any `-target` flag get passed to get the right OBJPTR_REP for cross regressions. Commit: 475cf2b14993869711f1a93a15a9fa854b5126ed https://github.com/MLton/mlton/commit/475cf2b14993869711f1a93a15a9fa854b5126ed Author: Matthew Fluet <Mat...@gm...> Date: 2024-05-19 (Sun, 19 May 2024) Changed paths: M Makefile M Makefile.binary M bin/mlton-script M bin/regression M runtime/basis/Real/IEEEReal-consts.c M runtime/gc/gc_state.h M runtime/gc/init.c M runtime/gc/profiling.h M runtime/gc/signals.c M runtime/gc/signals.h Log Message: ----------- Merge pull request #562 from agoode/misc A handful of improvements related to cross compiling Compare: https://github.com/MLton/mlton/compare/d79fcc8e5427...475cf2b14993 To unsubscribe from these emails, change your notification settings at https://github.com/MLton/mlton/settings/notifications |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2024-05-16 09:51:28
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: b606cdab17fdcd894f4cb0aa1d61e0bce04fd54d https://github.com/MLton/mlton/commit/b606cdab17fdcd894f4cb0aa1d61e0bce04fd54d Author: Matthew Fluet <mat...@gm...> Date: 2024-05-15 (Wed, 15 May 2024) Changed paths: M .github/workflows/ci.yml Log Message: ----------- Exclude `cc: "gcc"` from `os: macos-13` Commit: b250f106486da39fb016c31a2eab7378077ed9e0 https://github.com/MLton/mlton/commit/b250f106486da39fb016c31a2eab7378077ed9e0 Author: Matthew Fluet <mat...@gm...> Date: 2024-05-15 (Wed, 15 May 2024) Changed paths: M .github/workflows/ci.yml Log Message: ----------- GitHub `macos-13` runner is amd64 Commit: aaf598caf368ff7125dfe6d1f56e8702815a701e https://github.com/MLton/mlton/commit/aaf598caf368ff7125dfe6d1f56e8702815a701e Author: Matthew Fluet <mat...@gm...> Date: 2024-05-15 (Wed, 15 May 2024) Changed paths: M .github/workflows/ci.yml Log Message: ----------- Reorder workflow excludes Commit: 669efbd63c1e1c5d1c099b378fc55ff55341b21f https://github.com/MLton/mlton/commit/669efbd63c1e1c5d1c099b378fc55ff55341b21f Author: Matthew Fluet <mat...@gm...> Date: 2024-05-15 (Wed, 15 May 2024) Changed paths: M .github/workflows/ci.yml Log Message: ----------- Experiment with macos-14 (arm64) CI Commit: c957181c94afc58b4745d28f6ddf367bd453847f https://github.com/MLton/mlton/commit/c957181c94afc58b4745d28f6ddf367bd453847f Author: Matthew Fluet <mat...@gm...> Date: 2024-05-15 (Wed, 15 May 2024) Changed paths: M .github/workflows/ci.yml Log Message: ----------- Rename `matrix.os` to `matrix.runner` The runner corresponds to a platform (arch and os), particularly for macOS Commit: a928b7b4fb6bd42351e848d3332302da34014660 https://github.com/MLton/mlton/commit/a928b7b4fb6bd42351e848d3332302da34014660 Author: Matthew Fluet <mat...@gm...> Date: 2024-05-15 (Wed, 15 May 2024) Changed paths: M bin/regression Log Message: ----------- Skip `world*` regression tests on `darwin` `-no-pie` (required for `MLton.Word.{save,load}`) is deprecated in macOS 13 and ignored (on arm64) in macOS 14 Commit: 6dc51678e681d895d193c43392f434a761f50e8f https://github.com/MLton/mlton/commit/6dc51678e681d895d193c43392f434a761f50e8f Author: Matthew Fluet <mat...@gm...> Date: 2024-05-15 (Wed, 15 May 2024) Changed paths: M .github/workflows/ci.yml Log Message: ----------- Try enabling the `runner: windows-latest`/`codegen: "c"` CI workflow Commit: c42a5addd7c729ea3bf09a19c74a65d683d16e37 https://github.com/MLton/mlton/commit/c42a5addd7c729ea3bf09a19c74a65d683d16e37 Author: Matthew Fluet <Mat...@gm...> Date: 2024-05-16 (Thu, 16 May 2024) Changed paths: M .github/workflows/ci.yml M bin/regression Log Message: ----------- Merge pull request #566 from MatthewFluet/ci-updates CI Updates: enable macos-14 (arm64) and enable c codegen on windows-latest Compare: https://github.com/MLton/mlton/compare/009a89784313...c42a5addd7c7 To unsubscribe from these emails, change your notification settings at https://github.com/MLton/mlton/settings/notifications |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2024-05-16 09:36:58
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 4a06e6e5d8d3672c7e6d830c67d4704fc83176ee https://github.com/MLton/mlton/commit/4a06e6e5d8d3672c7e6d830c67d4704fc83176ee Author: Matthew Fluet <mat...@gm...> Date: 2024-05-15 (Wed, 15 May 2024) Changed paths: M mlton/ssa/useless.fun Log Message: ----------- Refactor `Useless.Value.layout` Commit: 5e84a24352f8a7004bb6094114527b3bf3a5555e https://github.com/MLton/mlton/commit/5e84a24352f8a7004bb6094114527b3bf3a5555e Author: Matthew Fluet <mat...@gm...> Date: 2024-05-15 (Wed, 15 May 2024) Changed paths: M mlton/ssa/useless.fun Log Message: ----------- Simplify `Useless.doit{Exp,Statement}` Ensure that `Useless.doitExp` is called with a (non-`NONE`) `Value.t`. Commit: 322205fc8b55854356dc4cb32774275d16aa2b5b https://github.com/MLton/mlton/commit/322205fc8b55854356dc4cb32774275d16aa2b5b Author: Matthew Fluet <mat...@gm...> Date: 2024-05-15 (Wed, 15 May 2024) Changed paths: M mlton/ssa/useless.fun Log Message: ----------- Improve/fix handling of `WordXVector` constants in `Useless` pass Allow a `Exp.Const (Const.WordXVector ws)` to "optimize" to a `Vector_vector[unit](unitVar, ..., unitVar)` when the elements are useless. Closes MLton/mlton#559 Commit: 741732b424ccf5a9052baa55b7381cb0b9a25f98 https://github.com/MLton/mlton/commit/741732b424ccf5a9052baa55b7381cb0b9a25f98 Author: Matthew Fluet <mat...@gm...> Date: 2024-05-15 (Wed, 15 May 2024) Changed paths: M mlton/ssa/useless.fun Log Message: ----------- Improve `Useless.Value.layout` Commit: d79fcc8e54277bb42a2c3cfd801e3f8cd19bc968 https://github.com/MLton/mlton/commit/d79fcc8e54277bb42a2c3cfd801e3f8cd19bc968 Author: Matthew Fluet <Mat...@gm...> Date: 2024-05-16 (Thu, 16 May 2024) Changed paths: M mlton/ssa/useless.fun Log Message: ----------- Merge pull request #567 from MatthewFluet/useless-issue-559 Improve/fix handling of WordXVector constants in Useless pass Compare: https://github.com/MLton/mlton/compare/c42a5addd7c7...d79fcc8e5427 To unsubscribe from these emails, change your notification settings at https://github.com/MLton/mlton/settings/notifications |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2024-05-16 02:49:46
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 464ed52c7b4fdfeba4d8a84159e40defd4e47477 https://github.com/MLton/mlton/commit/464ed52c7b4fdfeba4d8a84159e40defd4e47477 Author: Matthew Fluet <mat...@gm...> Date: 2024-05-15 (Wed, 15 May 2024) Changed paths: M runtime/gc/translate.c Log Message: ----------- Fix bug in heap translation It is valid for an object pointer to point to the "end" of the heap (`s->heap.start + s->heap.oldGenSize`) if it is a pointer to an object of zero size, such as a zero-length array/vector or a `unit array` or `unit ref`, in which case the object proper does not extend beyond the "end" of heap. Closes MLton/mlton#560 Commit: 009a8978431305531413306b01450684f727c83d https://github.com/MLton/mlton/commit/009a8978431305531413306b01450684f727c83d Author: Matthew Fluet <Mat...@gm...> Date: 2024-05-15 (Wed, 15 May 2024) Changed paths: M runtime/gc/translate.c Log Message: ----------- Merge pull request #565 from MatthewFluet/translate-heap-issue-560 Fix bug in heap translation Compare: https://github.com/MLton/mlton/compare/b20e5425075a...009a89784313 To unsubscribe from these emails, change your notification settings at https://github.com/MLton/mlton/settings/notifications |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2024-05-14 02:04:17
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 584a1d25f77ff67a634e99cb0462dc0990ba702c https://github.com/MLton/mlton/commit/584a1d25f77ff67a634e99cb0462dc0990ba702c Author: Matthew Fluet <mat...@gm...> Date: 2024-05-13 (Mon, 13 May 2024) Changed paths: M CHANGELOG.adoc M mlton/front-end/ml.lex M mlton/front-end/ml.lex.sml.boot M mlton/front-end/mlb.lex M mlton/front-end/mlb.lex.sml.boot Log Message: ----------- Fix regression in `#line` directives. Prior to a2606d0, MLton (in concert with SML/NJ) accepted line directives like: (*#line 407 "lazyparse.nw"*) with an implicit column of 1. With a2606d0, the lexer was refactored and mistakenly changed to require a column number. Thanks to Norman Ramsey for the bug report. Closes MLton/mlton#557. Commit: b20e5425075a6a0e71fbbd001d11660118cad067 https://github.com/MLton/mlton/commit/b20e5425075a6a0e71fbbd001d11660118cad067 Author: Matthew Fluet <Mat...@gm...> Date: 2024-05-13 (Mon, 13 May 2024) Changed paths: M CHANGELOG.adoc M mlton/front-end/ml.lex M mlton/front-end/ml.lex.sml.boot M mlton/front-end/mlb.lex M mlton/front-end/mlb.lex.sml.boot Log Message: ----------- Merge pull request #561 from MatthewFluet/line-directive-fix Fix regression in `#line` directives Compare: https://github.com/MLton/mlton/compare/3c08771a68e3...b20e5425075a To unsubscribe from these emails, change your notification settings at https://github.com/MLton/mlton/settings/notifications |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2024-05-13 19:19:40
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: d3a3648748007396a08ae4c2d34b35e1b645dedb https://github.com/MLton/mlton/commit/d3a3648748007396a08ae4c2d34b35e1b645dedb Author: Matthew Fluet <mat...@gm...> Date: 2024-05-13 (Mon, 13 May 2024) Changed paths: M .github/workflows/ci.yml Log Message: ----------- Switch from `macos-latest` to `macos-13` `macos-latest` has switched to `macos-14` (`arm64`), which will be nice to use, but will require some additional updates. Commit: 3c08771a68e3cac66b1a2e7b4f5ab1dce859611b https://github.com/MLton/mlton/commit/3c08771a68e3cac66b1a2e7b4f5ab1dce859611b Author: Matthew Fluet <Mat...@gm...> Date: 2024-05-13 (Mon, 13 May 2024) Changed paths: M .github/workflows/ci.yml Log Message: ----------- Merge pull request #563 from MatthewFluet/ci-updates Switch from `macos-latest` to `macos-13` Compare: https://github.com/MLton/mlton/compare/d688f0ef2d23...3c08771a68e3 To unsubscribe from these emails, change your notification settings at https://github.com/MLton/mlton/settings/notifications |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2024-03-28 19:38:05
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: e2e3227d55526a4a7e667c6b057612b34419988c https://github.com/MLton/mlton/commit/e2e3227d55526a4a7e667c6b057612b34419988c Author: Dan Cross <cr...@ga...> Date: 2024-03-28 (Thu, 28 Mar 2024) Changed paths: M bin/mlton-script Log Message: ----------- mlton-script: OpenBSD link-opt for no xonly text Add a `-target-link-opt` for OpenBSD that disables "xonly" text. OpenBSD's linker, by default, makes a program's text segment executable-only ("xonly"): that is, executable but not readable. However, MLton needs to be able to read the text segment when mapping return addresses to stack frame indices, possibly among other things. This causes programs compiled with MLton's native code generator to fault and die with `SIGSEGV`. However, the default "xonly" behavior can be disabled with a linker option (`--no-execute-only`), so we can turn it off with a `-target-link-opt` specific to OpenBSD in `mlton-script`. Binaries built in this configuration run as expected. Fixes #538 Signed-off-by: Dan Cross <cr...@ga...> Commit: d688f0ef2d2343e94aa4d0117221f09cc719c1ac https://github.com/MLton/mlton/commit/d688f0ef2d2343e94aa4d0117221f09cc719c1ac Author: Matthew Fluet <Mat...@gm...> Date: 2024-03-28 (Thu, 28 Mar 2024) Changed paths: M bin/mlton-script Log Message: ----------- Merge pull request #555 from dancrossnyc/openbsd-link-opt mlton-script: OpenBSD link-opt for no xonly text Compare: https://github.com/MLton/mlton/compare/3f761053c682...d688f0ef2d23 To unsubscribe from these emails, change your notification settings at https://github.com/MLton/mlton/settings/notifications |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2024-03-17 22:04:31
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 1d506428b37f21fb33ccc20994e5e20e11af7556 https://github.com/MLton/mlton/commit/1d506428b37f21fb33ccc20994e5e20e11af7556 Author: Matthew Fluet <mat...@gm...> Date: 2024-03-16 (Sat, 16 Mar 2024) Changed paths: M mlton/ast/ast-const.fun M mlton/ast/ast-const.sig M mlton/elaborate/elaborate-core.fun M mlton/front-end/ml.grm M mlton/front-end/ml.grm.sig.boot M mlton/front-end/ml.grm.sml.boot M mlton/front-end/ml.lex M mlton/front-end/ml.lex.sml.boot Log Message: ----------- Use literal text for constants in error messages Carry the exact (literal) text used for constants (literals) from lexer through to elaboration, so that error message using the constants appear as they are written in the source file. Consider the program (with type errors): val _ = "a甲\010" ^ (Substring.full "b乙\n") val _ : word = 0xabcd val _ : string = "abc\uaBcD\UAbCdEf00xyz" Previously, the error messages were: Error: z.sml 1.9-1.46. Function applied to incorrect argument. expects: _ * [string] but got: _ * [char VectorSlice.slice] in: ^ ("a\231\148\178\n", Substring.full "b\228\185\153\n") Error: z.sml 2.5-2.21. Pattern and expression disagree. pattern: [word] expression: [int] in: val _: word = 43981 Error: z.sml 3.18-3.41. String constant with characters too large for type: #"\uABCD", #"\UABCDEF00". type: string Now, the error messages are: Error: z.sml 1.9-1.46. Function applied to incorrect argument. expects: _ * [string] but got: _ * [char VectorSlice.slice] in: ^ ("a甲\010", Substring.full "b乙\n") Error: z.sml 2.5-2.21. Pattern and expression disagree. pattern: [word] expression: [int] in: val _: word = 0xabcd Error: z.sml 3.18-3.41. String constant with characters too large for type: #"\uaBcD", #"\UAbCdEf00". type: string in: "abc\uaBcD\UAbCdEf00xyz" Closes MLton/mlton#517 Commit: f41ca5ee7aa614ff1cd5edcab159d18c2934d60d https://github.com/MLton/mlton/commit/f41ca5ee7aa614ff1cd5edcab159d18c2934d60d Author: Matthew Fluet <mat...@gm...> Date: 2024-03-17 (Sun, 17 Mar 2024) Changed paths: M mlton/ast/ast-core.fun M mlton/ast/ast-core.sig M mlton/ast/ast-programs.fun M mlton/elaborate/elaborate-core.fun M mlton/elaborate/precedence-parse.fun M mlton/elaborate/scope.fun Log Message: ----------- Show pattern and expression applications in infix in error messages Record whether a pattern or expression application originated from an infix application and layout such patterns and expressions as appropriate, so that error messages appear as they are written in the source file. Consider the program (with type errors): datatype t = $ of int * int infix $ val _ = case 1 $ 1 of true $ false => false val _ = 1 + 2.0 + "b" + true Previously, the error messages were: Error: z.sml 3.24-3.35. Constructor applied to incorrect argument in pattern. expects: [int] * [int] but got: [bool] * [bool] in: $ (true, false) Error: z.sml 4.9-4.15. Function applied to incorrect argument. expects: _ * [int] but got: _ * [real] in: + (1, 2.0) Error: z.sml 4.9-4.21. Function applied to incorrect argument. expects: _ * [int] but got: _ * [string] in: + (+ (1, 2.0), "b") Error: z.sml 4.9-4.28. Function applied to incorrect argument. expects: _ * [int] but got: _ * [bool] in: + (+ (+ (1, 2.0), "b"), true) Now, the error messages are: Error: z.sml 3.24-3.35. Constructor applied to incorrect argument in pattern. expects: [int] * [int] but got: [bool] * [bool] in: true $ false Error: z.sml 4.9-4.15. Function applied to incorrect argument. expects: _ * [int] but got: _ * [real] in: 1 + 2.0 Error: z.sml 4.9-4.21. Function applied to incorrect argument. expects: _ * [int] but got: _ * [string] in: (1 + 2.0) + "b" Error: z.sml 4.9-4.28. Function applied to incorrect argument. expects: _ * [int] but got: _ * [bool] in: ((1 + 2.0) + "b") + true Commit: 3f761053c682eba903036a23d477a9af4bb8f8c7 https://github.com/MLton/mlton/commit/3f761053c682eba903036a23d477a9af4bb8f8c7 Author: Matthew Fluet <Mat...@gm...> Date: 2024-03-17 (Sun, 17 Mar 2024) Changed paths: M mlton/ast/ast-const.fun M mlton/ast/ast-const.sig M mlton/ast/ast-core.fun M mlton/ast/ast-core.sig M mlton/ast/ast-programs.fun M mlton/elaborate/elaborate-core.fun M mlton/elaborate/precedence-parse.fun M mlton/elaborate/scope.fun M mlton/front-end/ml.grm M mlton/front-end/ml.grm.sig.boot M mlton/front-end/ml.grm.sml.boot M mlton/front-end/ml.lex M mlton/front-end/ml.lex.sml.boot Log Message: ----------- Merge pull request #554 from MatthewFluet/constant-and-infix-elaborate-error-messages Update elaboration error messages involving constants and infix pats/exps Compare: https://github.com/MLton/mlton/compare/debf366bf6d1...3f761053c682 To unsubscribe from these emails, change your notification settings at https://github.com/MLton/mlton/settings/notifications |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2024-03-15 17:14:49
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: a9d647b7d9766080eb45a30f8c12b9ac6fe2f84a https://github.com/MLton/mlton/commit/a9d647b7d9766080eb45a30f8c12b9ac6fe2f84a Author: Matthew Fluet <mat...@gm...> Date: 2024-03-15 (Fri, 15 Mar 2024) Changed paths: M .github/workflows/ci.yml M .github/workflows/guide.yml Log Message: ----------- Update `actions/checkout` and `actions/upload-artifact` versions Commit: debf366bf6d11858ea55be760c4f9fa364ea2ee8 https://github.com/MLton/mlton/commit/debf366bf6d11858ea55be760c4f9fa364ea2ee8 Author: Matthew Fluet <Mat...@gm...> Date: 2024-03-15 (Fri, 15 Mar 2024) Changed paths: M .github/workflows/ci.yml M .github/workflows/guide.yml Log Message: ----------- Merge pull request #553 from MatthewFluet/ci-updates Update `actions/checkout` and `actions/upload-artifact` versions Compare: https://github.com/MLton/mlton/compare/582d6bc65c2b...debf366bf6d1 To unsubscribe from these emails, change your notification settings at https://github.com/MLton/mlton/settings/notifications |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2024-03-15 09:53:35
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 1bc6747ca02ce2c7c983dccf728fa621ec81b0f0 https://github.com/MLton/mlton/commit/1bc6747ca02ce2c7c983dccf728fa621ec81b0f0 Author: Matthew Fluet <mat...@gm...> Date: 2024-03-14 (Thu, 14 Mar 2024) Changed paths: M bin/mlton-script Log Message: ----------- Update note regarding LLVM versions for "legacy" pass manager Commit: a519b6e257d38824565b32a260bf0a98578cf2cb https://github.com/MLton/mlton/commit/a519b6e257d38824565b32a260bf0a98578cf2cb Author: Matthew Fluet <mat...@gm...> Date: 2024-03-14 (Thu, 14 Mar 2024) Changed paths: M doc/guide/src/LLVMCodegen.adoc Log Message: ----------- Improve LLVMCodegen documentation Note compile-time options for selecting a specific version of the LLVM command-line tools. Note that MLton 20210117 requires LLVM 13 or 14. Closes MLton/mlton#544. Commit: 5041fb4b4c7e4bdba0d59d9f9eb62adcd8072542 https://github.com/MLton/mlton/commit/5041fb4b4c7e4bdba0d59d9f9eb62adcd8072542 Author: Matthew Fluet <mat...@gm...> Date: 2024-03-14 (Thu, 14 Mar 2024) Changed paths: M doc/guide/src/CompileTimeOptions.adoc M man/mlton.1 M mlton/main/main.fun Log Message: ----------- Document the `-llvm-{as,llc,opt}` compile-time options Commit: f048bcc3db41240e31a49f6bd323034d0f5d01c6 https://github.com/MLton/mlton/commit/f048bcc3db41240e31a49f6bd323034d0f5d01c6 Author: Matthew Fluet <mat...@gm...> Date: 2024-03-14 (Thu, 14 Mar 2024) Changed paths: M doc/guide/src/CompileTimeOptions.adoc M man/mlton.1 M mlton/main/main.fun Log Message: ----------- Document the `-cc` compile-time option Commit: 582d6bc65c2b224c417f47a7ba5ae040643776a1 https://github.com/MLton/mlton/commit/582d6bc65c2b224c417f47a7ba5ae040643776a1 Author: Matthew Fluet <Mat...@gm...> Date: 2024-03-15 (Fri, 15 Mar 2024) Changed paths: M bin/mlton-script M doc/guide/src/CompileTimeOptions.adoc M doc/guide/src/LLVMCodegen.adoc M man/mlton.1 M mlton/main/main.fun Log Message: ----------- Merge pull request #552 from MatthewFluet/llvm-codegen-docs LLVM codegen documentation Compare: https://github.com/MLton/mlton/compare/1351d3921383...582d6bc65c2b To unsubscribe from these emails, change your notification settings at https://github.com/MLton/mlton/settings/notifications |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2024-03-13 19:46:44
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 2926f321d2ecad348e9fcd6ca3d5d7c01fbecfab https://github.com/MLton/mlton/commit/2926f321d2ecad348e9fcd6ca3d5d7c01fbecfab Author: Colin McDonald <983...@us...> Date: 2024-03-13 (Wed, 13 Mar 2024) Changed paths: M doc/guide/src/SSASimplify.adoc Log Message: ----------- Fix broken link in SSASimplify.adoc Commit: 1351d3921383bbdb493ab46668ceb6af8e8f4968 https://github.com/MLton/mlton/commit/1351d3921383bbdb493ab46668ceb6af8e8f4968 Author: Matthew Fluet <Mat...@gm...> Date: 2024-03-13 (Wed, 13 Mar 2024) Changed paths: M doc/guide/src/SSASimplify.adoc Log Message: ----------- Merge pull request #551 from colin-mcd/patch-1 Fix broken link in SSASimplify.adoc Compare: https://github.com/MLton/mlton/compare/2637b22ccdd9...1351d3921383 To unsubscribe from these emails, change your notification settings at https://github.com/MLton/mlton/settings/notifications |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2024-01-19 15:44:03
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: b613b60c6baeae8068c562878766a90fb750150b https://github.com/MLton/mlton/commit/b613b60c6baeae8068c562878766a90fb750150b Author: JiaLing Zhang <zha...@lo...> Date: 2024-01-12 (Fri, 12 Jan 2024) Changed paths: M basis-library/mlton/platform.sig M basis-library/mlton/platform.sml M bin/platform M runtime/cenv.h A runtime/platform/loongarch64.h Log Message: ----------- Add LoongArch64 support Signed-off-by: JiaLing Zhang <zha...@lo...> Commit: 2637b22ccdd9cd1268b6b46ff6107066bf8c8888 https://github.com/MLton/mlton/commit/2637b22ccdd9cd1268b6b46ff6107066bf8c8888 Author: Matthew Fluet <Mat...@gm...> Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M basis-library/mlton/platform.sig M basis-library/mlton/platform.sml M bin/platform M runtime/cenv.h A runtime/platform/loongarch64.h Log Message: ----------- Merge pull request #541 from loongson-zjl/master Add LoongArch64 support Compare: https://github.com/MLton/mlton/compare/fd6d8705780e...2637b22ccdd9 |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2023-11-23 14:04:48
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: e26362ea1b82c47206161b475bf15c9787ff07ae https://github.com/MLton/mlton/commit/e26362ea1b82c47206161b475bf15c9787ff07ae Author: Matthew Fluet <mat...@gm...> Date: 2023-11-22 (Wed, 22 Nov 2023) Changed paths: A regression/textio.3.ok A regression/textio.3.sml Log Message: ----------- New regression test demonstrating bug with `TextIO.getInstream` Commit: 3d19b9368bf88c8aab69f26fdf270dd2c2c9f97d https://github.com/MLton/mlton/commit/3d19b9368bf88c8aab69f26fdf270dd2c2c9f97d Author: Matthew Fluet <mat...@gm...> Date: 2023-11-22 (Wed, 22 Nov 2023) Changed paths: M basis-library/io/imperative-io.fun Log Message: ----------- Fix bug in `ImperativeIO.getInstream` Properly flush the "imperative" ImperativeIO buffer when realizing the underlying stream via `getInstream`. Failing to reset the `first` and `last` refs when realizing the `StreamIO.instream` from an `ImperativeIO.instream` that is in "imperative" mode allows subsequent `ImperativeIO.input*` functions to advance the stream with respect to the "imperative" mode but not advance the `StreamIO.instream`. After realizing the `StreamIO.instream` from an `ImpearativeIO.instream`, the stream should be in "stream" mode and always advance the `StreamIO.instream`. Fixes MLton/mlton#535 Commit: fd6d8705780ea6e223c91a6b33553be1633c4eab https://github.com/MLton/mlton/commit/fd6d8705780ea6e223c91a6b33553be1633c4eab Author: Matthew Fluet <Mat...@gm...> Date: 2023-11-23 (Thu, 23 Nov 2023) Changed paths: M basis-library/io/imperative-io.fun A regression/textio.3.ok A regression/textio.3.sml Log Message: ----------- Merge pull request #536 from MatthewFluet/imperativeio-getinstream-bug Fix bug in `ImperativeIO(...).getInstream` Compare: https://github.com/MLton/mlton/compare/15a19ab47afc...fd6d8705780e |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2023-11-21 15:30:34
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 87362b1cd944f57b3bd88f50ddb7058b5dc87e15 https://github.com/MLton/mlton/commit/87362b1cd944f57b3bd88f50ddb7058b5dc87e15 Author: murray <mur...@pr...> Date: 2023-11-21 (Tue, 21 Nov 2023) Changed paths: M mlton/main/main.fun Log Message: ----------- Set default alignment on powerpc64 to 8 8 bytes is the natural alignment of pointers on powerpc64 Commit: 15a19ab47afc785ecee895f025383f12455c0a5f https://github.com/MLton/mlton/commit/15a19ab47afc785ecee895f025383f12455c0a5f Author: Matthew Fluet <Mat...@gm...> Date: 2023-11-21 (Tue, 21 Nov 2023) Changed paths: M mlton/main/main.fun Log Message: ----------- Merge pull request #534 from ii8/master Set default alignment on powerpc64 to 8 Compare: https://github.com/MLton/mlton/compare/2a5e8c03c357...15a19ab47afc |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2023-11-18 00:10:33
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 24f93116f789088764d60945b59a85c13107809f https://github.com/MLton/mlton/commit/24f93116f789088764d60945b59a85c13107809f Author: Matthew Fluet <mat...@gm...> Date: 2023-11-17 (Fri, 17 Nov 2023) Changed paths: M .github/workflows/ci.yml Log Message: ----------- Don't `brew update` on `macos` runner Commit: 2a5e8c03c35769aa43a297c25b6cbb9e91408d82 https://github.com/MLton/mlton/commit/2a5e8c03c35769aa43a297c25b6cbb9e91408d82 Author: Matthew Fluet <Mat...@gm...> Date: 2023-11-17 (Fri, 17 Nov 2023) Changed paths: M .github/workflows/ci.yml Log Message: ----------- Merge pull request #533 from MatthewFluet/ci-update Don't `brew update` on `macos` runner Compare: https://github.com/MLton/mlton/compare/f4bf53b24cb1...2a5e8c03c357 |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2023-11-17 22:45:07
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 4513641ae78fe12e14b3d999bfdb58de06e85d28 https://github.com/MLton/mlton/commit/4513641ae78fe12e14b3d999bfdb58de06e85d28 Author: Matthew Fluet <mat...@gm...> Date: 2023-11-16 (Thu, 16 Nov 2023) Changed paths: M runtime/gc/mark-compact.c Log Message: ----------- Add some `DEBUG_MARK_COMPACT` messages Commit: 14cae0a1e8b1acb6bbe71bedf2e76da3d78ab205 https://github.com/MLton/mlton/commit/14cae0a1e8b1acb6bbe71bedf2e76da3d78ab205 Author: Matthew Fluet <mat...@gm...> Date: 2023-11-16 (Thu, 16 Nov 2023) Changed paths: M runtime/gc/mark-compact.c Log Message: ----------- Try (and fail) to add an assertion for mark compact GC Commit: b53cc28bf07847ec16399eedf9ba2f3e86df33ef https://github.com/MLton/mlton/commit/b53cc28bf07847ec16399eedf9ba2f3e86df33ef Author: Matthew Fluet <mat...@gm...> Date: 2023-11-16 (Thu, 16 Nov 2023) Changed paths: M runtime/gc/mark-compact.c Log Message: ----------- Perform compressing in mark compact before threading internal pointers Mostly fixes `DEBUG_MARK_COMPACT` messages so that `compressing from ... to ... (length = ...)` appears before `threading ... of size ...`. Commit: be6ed548f859de09bf273f1d31d62dcb256c7561 https://github.com/MLton/mlton/commit/be6ed548f859de09bf273f1d31d62dcb256c7561 Author: Matthew Fluet <mat...@gm...> Date: 2023-11-17 (Fri, 17 Nov 2023) Changed paths: M mlton/backend/packed-representation.fun Log Message: ----------- Ensure that Objptrs are aligned in Sequence objects With `-align 4`, no padding was added to the element components of a Sequence object. This could result in Sequence object types of the form: Sequence {components = ([Word1, Bits7], Objptr (opt_144), Objptr (opt_5)), hasIdentity = false} This places the Objptr components at offsets 1 and 5. For x86, such misaligned accesses are accepted (possibly at a performance cost); other 32-bit platforms might not accept such missaligned accesses. However, this representation is incompatible with the mark-compact GC (Jonker's compacting collector), which must be able to distinguish object headers from object pointers when threading. In particular, the runtime uses `GC_VALID_HEADER_MASK & header`, where `#define GC_VALID_HEADER_MASK ((GC_header)0x1)`, to determine whether or not an object is threaded by examining its header. When the first object pointer in a sequence like that above is threaded, this will result in the address of that object pointer being stored in a header field (of the object pointed-to by the object pointer in the sequence). But, the address of the first object pointer is at offset 1 from the start of the sequence object and is therefore at an address with a low bit of 1. This means that the threaded pointer will be mistakenly interpreted as a header and either an assertion failure or segmentation fault. To address the issue, padding is added to the element components of a Sequence object to ensure that the width of an element is aligned to the minimum of the requested global alignment (i.e., `-align <n>`) and the maximum size of a component. So, for instance, a sequence with only a Word8 component will require no padding, while a sequence with a Word8 component and an Objptr component (on a 32-bit system) will require 24 bytes of padding. The above Sequence object is now represented as: Sequence {components = ([Word1, Bits7], Bits16, Bits8, Objptr (opt_144), Objptr (opt_5)), hasIdentity = false} With `-align 8`, this was already handled by ensuring that any sequence with an element component of width 8 bytes (e.g., an Objptr) was padded so that the width of an element is 8-byte aligned. This does increase the size of some sequence objects. Technically, only sequences with objptr components need to have padding and only need to be 2-byte aligned. However, for uniformity with `-align 8` and for faster data access, aligning to the minimum of the global alignment and the maximum size of a component is chosen. To save space and avoid misaligned objptr data, it would be better to perform an "sequence of tuples" to "tuple of sequences" transformation in the SSA2 IR. Commit: 519aacb69421c98c1329edb9a3a62ad63e667e3b https://github.com/MLton/mlton/commit/519aacb69421c98c1329edb9a3a62ad63e667e3b Author: Matthew Fluet <mat...@gm...> Date: 2023-11-17 (Fri, 17 Nov 2023) Changed paths: M mlton/backend/rep-type.fun M mlton/control/bits.sml Log Message: ----------- Check alignment of `Normal` and `Sequence` `ObjectType`s Commit: 3cf6382432b576ea2eab43010fbbf7c70547a3b6 https://github.com/MLton/mlton/commit/3cf6382432b576ea2eab43010fbbf7c70547a3b6 Author: Matthew Fluet <mat...@gm...> Date: 2023-11-17 (Fri, 17 Nov 2023) Changed paths: M mlton/main/compile.fun Log Message: ----------- Perform initial and final RSSA type checking by default On a self-compile, RSSA type checking is only 2.6s of the total 227.36s compile time; SSA and SSA2 type checking are 1.82s and 1.34s, respectively. Commit: f4bf53b24cb175db1b543261449de6b08fc77b32 https://github.com/MLton/mlton/commit/f4bf53b24cb175db1b543261449de6b08fc77b32 Author: Matthew Fluet <Mat...@gm...> Date: 2023-11-17 (Fri, 17 Nov 2023) Changed paths: M mlton/backend/packed-representation.fun M mlton/backend/rep-type.fun M mlton/control/bits.sml M mlton/main/compile.fun M runtime/gc/mark-compact.c Log Message: ----------- Merge pull request #532 from MatthewFluet/mark-compact-bug Mark-Compact GC bug with `-align 4` Compare: https://github.com/MLton/mlton/compare/58ddf1e549ad...f4bf53b24cb1 |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2023-11-11 16:50:02
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 8c6450e82279532dd8cfdbd37e1640166ddec051 https://github.com/MLton/mlton/commit/8c6450e82279532dd8cfdbd37e1640166ddec051 Author: Matthew Fluet <mat...@gm...> Date: 2023-11-11 (Sat, 11 Nov 2023) Changed paths: M mlton/codegen/x86-codegen/x86-allocate-registers.fun Log Message: ----------- Fix inefficiency/bug in x86 reg alloc of floating-point stack The x86 register allocator for the floating-point stack for a simple float-to-float move tries to optimize for the common case of moving from an allocated but to-be-removed memloc by simply reassigning the floating-point stack slot to the destination. However, this was mistakenly done before performing the register-allocation "pre" work, which had a number of unfortunate side effects. Since the destination memloc has not been written to memory, its newly assigned floating-point stack slot is marked "not synchronized". The subsequent "pre" work would redundantly save the destination to memory in order to "synchronize". This is redundant, because the float-to-float move is typically the first step of performing a floating-point operation (remember, in x86 assembly, a source operand is first moved to the destination operand and then the operation is performed (possibly with additional source operands), since x86 instructions use one operand as both a source and destination). Another side effect is that the "pre" work may have modified the floating-point stack (e.g., to get the destination to the floating-point-stack top in order for the `fst` instruction to write it to memory). The instruction was marking the original source floating-point-stack-slot location as "not synchronized" (because it has been reassigned to the destination memloc), but, due to the potential modification of the floating-point stack, this would incorrectly mark some other memloc's floating-point-stack slot as "not synchronized". Typically, this would again simply be an inefficiency, since the incorrectly marked memloc/floating-point-stack-slot would simply be redundantly written back to memory at some latter point. In rare circumstances, the incorrectly marked memloc corresponds to a floating-point constant stored in the immutable static heap. (Because it is a pain to load `float` and `double` constants in x86/amd64 assembly, the compiler collects up all of the floating-point constants and allocates global vectors of constants and then just fetches the constants from those vectors. Since they are global constants, they can be allocated in the "immutable static heap" (`staticHeapI`).) Writing such a value back to memory would be incorrect, since the immutable static heap should be read-only memory. This would manifest as a segmentation fault at an instruction like: fstpL (staticHeapI+0x1E8) However, this bug wasn't observed before, because the "immutable static heap" was only introduced much after the switch to amd64 as the primary development platform. (Prior to the "immutable static heap", the floating point constants were allocated as vectors in the "normal" heap, which is, of course, writeable.) The fix is to simply perform the register-allocation "pre" work before the reassignment of the floating-point stack slot to the destination. Commit: 58ddf1e549ad77abce36d5008e17efcc96f05874 https://github.com/MLton/mlton/commit/58ddf1e549ad77abce36d5008e17efcc96f05874 Author: Matthew Fluet <Mat...@gm...> Date: 2023-11-11 (Sat, 11 Nov 2023) Changed paths: M mlton/codegen/x86-codegen/x86-allocate-registers.fun Log Message: ----------- Merge pull request #531 from MatthewFluet/x86-fltstack-reg-alloc-bug Bug with x86 register allocation of floating-point stack Compare: https://github.com/MLton/mlton/compare/04d76908f03d...58ddf1e549ad |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2023-11-09 22:44:39
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 052a34afada94c9a716be8322c5484f7e2610d7f https://github.com/MLton/mlton/commit/052a34afada94c9a716be8322c5484f7e2610d7f Author: Matthew Fluet <mat...@gm...> Date: 2023-11-09 (Thu, 09 Nov 2023) Changed paths: M mlton/backend/allocate-variables.fun Log Message: ----------- Report interference as error in `AllocateVariables.Stack.new` A well-formed stack allocation should not include stack offsets that interfere. Commit: 9c8c87182ceff76ef0e54de407920931b81a9637 https://github.com/MLton/mlton/commit/9c8c87182ceff76ef0e54de407920931b81a9637 Author: Matthew Fluet <mat...@gm...> Date: 2023-11-09 (Thu, 09 Nov 2023) Changed paths: M mlton/backend/allocate-variables.fun Log Message: ----------- Add handler info diagnostics to `AllocateVariables` Commit: 823ec5fb449e7cffa4bdc1a515e7af295b9bd97f https://github.com/MLton/mlton/commit/823ec5fb449e7cffa4bdc1a515e7af295b9bd97f Author: Matthew Fluet <mat...@gm...> Date: 2023-11-09 (Thu, 09 Nov 2023) Changed paths: M mlton/backend/allocate-variables.fun Log Message: ----------- Fix bug in allocation of `handlerOffset` and `handlerArgs` MLton/mlton#321 (especially 69eec2d4d) introduced a new raising convention, whereby raised values are communicated from the raisee to the handler via the ML stack. As noted in that commit: "Sufficient space for raised values are reserved in the handler frame immediately above the handler label." However, the mechanism by which this space was reserved was not correct and, in rare circumstances, could lead to a `Machine.typeCheck` internal compiler error. The intended mechanism was to allocate stack slots for the link, handler label, and handler arguments after all of the stack slots allocated to the incoming actual arguments. The code to do so was like this: (* create a stack allocation that includes all incoming actuals *) val stack = ... (* allocate stack slot for `link` *) val (stack, {offset = linkOffset, ...}) = Allocation.Stack.get (stack, Type.exnStack ()) (* allocate stack slot for `handler` *) val (_, {offset = handlerOffset, ...}) = Allocation.Stack.get (stack, Type.label (Label.newNoname ())) (* align handler args immediately after handler *) val handlerArgsOffset = Bytes.align (Bytes.+ (handlerOffset, Runtime.labelSize ()), {alignment = (case !Control.align of Control.Align4 => Bytes.inWord32 | Control.Align8 => Bytes.inWord64)}) (* reset `handlerOffset` to immediately before handler args *) val handlerOffset = Bytes.- (handlerArgsOffset, Runtime.labelSize ()) where `stack` was the stack allocation of incoming actual arguments. Typically, this sequence would allocate after all of the incoming actual arguments. However `Allocation.Stack.get` does try to find "gaps" in an allocation in which to allocate new stack slots, in order to keep frame sizes small. An issue arises on 32-bit platforms, when `Type.exnStack()` and `Type.label` are 32-bits but `Real64` values are 8-byte aligned. An RSSA IR function with `Real64` arguments may have 32-bit "gaps" in order to place the next `Real64` argument on an 8-byte boundary. In which case, the above could place the `linkOffset` and (initial) `handlerOffset` in between actual arguments. If those offsets were only used to hold 32-bit values, then there would be no problem. But, the `handlerArgsOffset` is computed from `handlerOffset` and in the previously described scenario, would interfere with actual arguments (as would the reset `handlerOffset`). In practice, this may not have caused problems, if the actual arguments were dead before writing to `handlerOffset` (at the point of installing an exception handler) or to `handlerArgsOffset` (at the point of a raise back to this function). But, it would be flagged as a Machine IR type error. The fix is to simply ensure that `handlerOffset` really is placed after all of the incoming arguments: val handlerOffset = Type.align (Type.label (Label.newNoname ()), Allocation.Stack.size stack) Commit: 04d76908f03d29c323b7579769f71a8a0a95def7 https://github.com/MLton/mlton/commit/04d76908f03d29c323b7579769f71a8a0a95def7 Author: Matthew Fluet <Mat...@gm...> Date: 2023-11-09 (Thu, 09 Nov 2023) Changed paths: M mlton/backend/allocate-variables.fun Log Message: ----------- Merge pull request #530 from MatthewFluet/allocate-vars-handler-offset-bug Fix `Backend` bug in allocation of `handlerOffset` and `handlerArgs` Compare: https://github.com/MLton/mlton/compare/115f6f2c9872...04d76908f03d |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2023-11-08 23:18:21
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: c53bcb1738bc43eab06605fd76845488fbb1aaf8 https://github.com/MLton/mlton/commit/c53bcb1738bc43eab06605fd76845488fbb1aaf8 Author: Matthew Fluet <mat...@gm...> Date: 2023-11-08 (Wed, 08 Nov 2023) Changed paths: M mlton/codegen/x86-codegen/x86-generate-transfers.fun Log Message: ----------- Fix bug in X86GenerateTransfers introduced by 286a54cc0. Commit 286a54cc0 introduced a dependency on the declared prototype of a C function when generating the assembly for a C function call, in order to properly sign extend 8-bit and 16-bit arguments. Early in the x86 codegen, Word64 values are converted into pairs of Word32 values, so a C function call with Word64 values will converted to a call with pairs of Word32 values for those arguments (increasing the number of arguments relative to the earlier IRs). But, no such translation was made to the C function's prototype, which continued to use Int64 and Word64 types. This lead to a `Fail: fold2` internal-compiler error due to the mismatch in the number of actual arguments and the number of prototype arguments. A simple solution is to expand the Int64 and Word64 prototype arguments to pairs of Word32 arguments (signedness does not matter). Commit: 115f6f2c987205d3aff0b941a1fbb89514ac349f https://github.com/MLton/mlton/commit/115f6f2c987205d3aff0b941a1fbb89514ac349f Author: Matthew Fluet <Mat...@gm...> Date: 2023-11-08 (Wed, 08 Nov 2023) Changed paths: M mlton/codegen/x86-codegen/x86-generate-transfers.fun Log Message: ----------- Merge pull request #529 from MatthewFluet/x86-generate-transfers-fold2-bug Fix bug in X86GenerateTransfers introduced by 286a54cc0. Compare: https://github.com/MLton/mlton/compare/434c6516ddba...115f6f2c9872 |