[erlang-questions] Patch Package OTP 22.0.6 Released

Mikael Pettersson mikpelinux@REDACTED
Thu Jul 11 00:00:35 CEST 2019

On Wed, Jul 10, 2019 at 6:08 PM Loïc Hoguin <essen@REDACTED> wrote:
> >    OTP-15949    Application(s): dialyzer, hipe
> >
> >                 The HiPE compiler would badly miscompile certain
> >                 try/catch expressions, so it will now refuse to compile
> >                 modules containing try or catch.
> >
> >                 As a consequence of this, dialyzer will no longer
> >                 compile key modules to native code.
> This means --enable-native-libs is now broken. Results in:
> hipe.erl: native-code compilation failed because of an unimplemented
> instruction (catch).
> That's a bit rough.
> Is HiPE just going to slowly rot or are there plans to revive it somehow

I had this discussion with Björn from the OTP team at the latest EUC
(er, "Code BEAM Sto").

The issue is that the original implementers of HiPE have long since
moved on to other things
and can't spend time on it any more.  At the same time the OTP team is only able
to support things their customers care about and pay for.  HiPE isn't
one of those things.

So it's up to the community as a whole to support HiPE, if it wants
it.  This could take the
form of one or more dedicated individuals taking on maintenance of
HiPE and fixing issues
as they are discovered.  (There's at least one such individual working
on the bit syntax
compilation issue in OTP-22 right now.)  Another solution could be for
interested parties to
fund maintenance via the Erlang Ecosystem Foundation.

The try/catch issue is news to me, but since the bit syntax
compilation issue was known
as OTP-22.0 was released, my view is that OTP should have deprecated
HiPE at that point
with the understanding that OTP-23 would delete HiPE unless the
community stepped up
and fixed the issues.  (And by that I don't mean "silently don't
compile things we can't handle
any more".)

/Mikael, ex-HiPE developer

More information about the erlang-questions mailing list