[erlang-questions] Patch Package OTP 22.0.6 Released
Fri Jul 12 12:57:19 CEST 2019
On 10/07/2019 22:00, Mikael Pettersson wrote:
> 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
Mikael, would it be possible for you or someone else from the OTP team
to provide more details about the minimal amount of work required to
bring HiPE back to the working order? I am looking for things like:
1. Any test suites available for HiPE (I would expect some tests not
passing due to recent changes)
2. Documentation detailing the HiPE implementation (if available)
3. New features that the new compiler no longer compiles for HiPE
4. Planned features that will require support in the compiler in the
Also, is the HiPE code tightly integrated with OTP and its compiler or
it could be extracted into a separate repo and maintained at its own peace?
More information about the erlang-questions