[MLton] MLton 20200722 release

Matthew Fluet <[email protected]> Thu, 23 Jul 2020 13:54:31 -0400
Newsgroups gmane.comp.lang.ml.mlton.devel
Message-ID <CAMrhFL74-q8Lcas3jyzOUo5ha0f1wUib0avdmH2g-0g0iogKFQ@mail.gmail.com>
--===============2575845860821994498==
Content-Type: multipart/alternative; boundary="0000000000000b6e2305ab1f8da8"

--0000000000000b6e2305ab1f8da8
Content-Type: text/plain; charset="UTF-8"

I'm pleased to announce a new release of MLton, the whole-program
optimizing compiler for Standard ML, available at
http://mlton.org/Release20180207 (and
https://github.com/MLton/mlton/releases/tag/on-20200722-release).

* Compiler.
  * Added expert `-pi-style {default|npi|pic|pie}` and `-native-pic
{false|true}` options, which can be used to override a target-determined
default.
  * Fix a number of instances of excessive live data during compilation.
  * Disable `Zone` SSA optimization pass by default; the `Zone` pass is
known to not be safe-for-space.
  * Statically allocate and initialize some global objects.
  * Many updates and improvements to C and LLVM codegens.
  * Add new `BounceVars` RSSA optimization pass to split the live ranges of
RSSA variables.
  * Improve `RssaShrink` optimization.
  * Add support for alternate globalization strategies in
`ConstantPropagation`.
  * Strengthen `Useless` optimization with respect to a number of
primitives.
  * Add new `DuplicateGlobals` and `SplitTypes` SSA optimization passes.
  * Introduce new `Overflow`-checking primitives and remove old
`Overflow`-checking primitives and special-case code required (e.g.,
`Arith` transfers in IRs) to support them.
  * Add parsers for XML, SXML, SSA, and SSA2 IRs.
* Runtime.
  * Detect and report incompatible use of ASLR/PIE on `load-world`.
  * Added support for RISC-V architecture.
* Language.
* Libraries.
  * Basis Library.
    * Change `OS.IO.poll` to not be restarted when interrupted by a signal.
 (This is consistent with `Socket.select`.)
    * Add `MLton.sizeAll: unit -> IntInf.int` that returns the size of
reachable live data.
    * Change type of `MLton.size` from `'a -> int` to `'a -> IntInf.int`,
because with 64-bit systems, the size of a single object can exceed that
representable by a signed 32-bit integer.
  * Other libraries.
    * Updated: ckit library, MLLPT library, MLRISC library, SML/NJ library
* Tools.
* Other.
  * Updates to simplify porting MLton.
  * Support parallel build (i.e., `make -j`).  This mainly supports
platforms/packagers that use a parallel `make` by default; it does not
obtain significant build speedups.
  * Various updates to `Makefile`s.  See `Makefile.config` for common and
user-customizable configuration.
  * Characterize MLton-LICENSE as an instance of the Historical Permission
Notice and Disclaimer (HPND) license, rather than BSD-style.

Binary packages for amd64-linux and amd64-darwin are currently available
from the release page (and are the platforms tested).  Additional binary
packages will be made available as they are contributed by users.  We'd
like to encourage downstream maintainers for the various Linux and *BSD
distributions to update to the new release.

--0000000000000b6e2305ab1f8da8
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:courier =
new,monospace;font-size:large">I&#39;m pleased to announce a new release of=
 MLton, the whole-program optimizing compiler for Standard ML, available at=
 <a href=3D"http://mlton.org/Release20180207">http://mlton.org/Release20180=
207</a> (and <a href=3D"https://github.com/MLton/mlton/releases/tag/on-2020=
0722-release">https://github.com/MLton/mlton/releases/tag/on-20200722-relea=
se</a>).<br></div><div class=3D"gmail_default" style=3D"font-family:courier=
 new,monospace;font-size:large"><br></div><div class=3D"gmail_default" styl=
e=3D"font-family:courier new,monospace;font-size:large">* Compiler.<br>=C2=
=A0 * Added expert `-pi-style {default|npi|pic|pie}` and `-native-pic {fals=
e|true}` options, which can be used to override a target-determined default=
.<br>=C2=A0 * Fix a number of instances of excessive live data during compi=
lation.<br>=C2=A0 * Disable `Zone` SSA optimization pass by default; the `Z=
one` pass is known to not be safe-for-space.<br>=C2=A0 * Statically allocat=
e and initialize some global objects.<br>=C2=A0 * Many updates and improvem=
ents to C and LLVM codegens.<br>=C2=A0 * Add new `BounceVars` RSSA optimiza=
tion pass to split the live ranges of RSSA variables.<br>=C2=A0 * Improve `=
RssaShrink` optimization.<br>=C2=A0 * Add support for alternate globalizati=
on strategies in `ConstantPropagation`.<br>=C2=A0 * Strengthen `Useless` op=
timization with respect to a number of primitives.<br>=C2=A0 * Add new `Dup=
licateGlobals` and `SplitTypes` SSA optimization passes.<br>=C2=A0 * Introd=
uce new `Overflow`-checking primitives and remove old `Overflow`-checking p=
rimitives and special-case code required (e.g., `Arith` transfers in IRs) t=
o support them.<br>=C2=A0 * Add parsers for XML, SXML, SSA, and SSA2 IRs.<b=
r>* Runtime.<br>=C2=A0 * Detect and report incompatible use of ASLR/PIE on =
`load-world`.<br>=C2=A0 * Added support for RISC-V architecture.<br>* Langu=
age.<br>* Libraries.<br>=C2=A0 * Basis Library.<br>=C2=A0 =C2=A0 * Change `=
OS.IO.poll` to not be restarted when interrupted by a signal. =C2=A0(This i=
s consistent with `Socket.select`.)<br>=C2=A0 =C2=A0 * Add `MLton.sizeAll: =
unit -&gt; IntInf.int` that returns the size of reachable live data.<br>=C2=
=A0 =C2=A0 * Change type of `MLton.size` from `&#39;a -&gt; int` to `&#39;a=
 -&gt; IntInf.int`, because with 64-bit systems, the size of a single objec=
t can exceed that representable by a signed 32-bit integer.<br>=C2=A0 * Oth=
er libraries.<br>=C2=A0 =C2=A0 * Updated: ckit library, MLLPT library, MLRI=
SC library, SML/NJ library<br>* Tools.<br>* Other.<br>=C2=A0 * Updates to s=
implify porting MLton.<br>=C2=A0 * Support parallel build (i.e., `make -j`)=
.=C2=A0 This mainly supports platforms/packagers that use a parallel `make`=
 by default; it does not obtain significant build speedups.<br>=C2=A0 * Var=
ious updates to `Makefile`s.=C2=A0 See `Makefile.config` for common and use=
r-customizable configuration.<br>=C2=A0 * Characterize MLton-LICENSE as an =
instance of the Historical Permission Notice and Disclaimer (HPND) license,=
 rather than BSD-style.</div><div class=3D"gmail_default" style=3D"font-fam=
ily:courier new,monospace;font-size:large"><br></div><div class=3D"gmail_de=
fault" style=3D"font-family:courier new,monospace;font-size:large">Binary p=
ackages for amd64-linux and amd64-darwin are currently available from the r=
elease page (and are the platforms tested).=C2=A0=C2=A0Additional binary pa=
ckages will be made available as they are=C2=A0contributed by users.=C2=A0 =
We&#39;d like to encourage downstream maintainers for the various Linux and=
 *BSD distributions to update to the new=C2=A0release.<br></div><div class=
=3D"gmail_default" style=3D"font-family:courier new,monospace;font-size:lar=
ge"><br></div></div>

--0000000000000b6e2305ab1f8da8--


--===============2575845860821994498==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============2575845860821994498==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MLton-devel mailing list
[email protected]; [email protected]
https://lists.sourceforge.net/lists/listinfo/mlton-devel

--===============2575845860821994498==--