<!DOCTYPE html><html><head><title></title><style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style></head><body><div>The JIT will support tracing like normal. So even if it was on-par or even a little slower than HiPE I think that is reason enough alone to switch -- and reason enough to have been attempting at alternatives all these years.<br></div><div><br></div><div>JIT could be a solution that makes sense in general usage while HIPE because of its limitations (even before recent OTP changes that diverged from HIPE even more so) meant it was a niche tool. Very useful to those problems it fit, but still niche.<br></div><div><br></div><div>Tristan<br></div><div><br></div><div>On Fri, Jun 19, 2020, at 10:45, Grzegorz Junka wrote:<br></div><blockquote type="cite" id="qt" style=""><p>Hi Kenneth,<br></p><p>Thanks to Richard's link I was able to see the presentation about
      JIT and it looks like the team was putting a lot of effort since
      as early as 2012 into JIT. But on none of the benchmarks JIT was
      actually better than HiPE.<br></p><p>I am interested, in what way JIT is better than HiPE that it's
      worth putting the effort into developing something new instead of
      fixing HiPE?<br></p><p>Regards<br></p><p>Grzegorz<br></p><p><br></p><div class="qt-moz-cite-prefix">On 18/06/2020 08:35, Kenneth Lundin
      wrote:<br></div><blockquote type="cite" cite="mid:CAOzgw91uH8j3uvXksznPWoYa_U6nyiujAOEtoU_ZvG0+KRDuOA@mail.gmail.com"><div dir="ltr"><h4 style="color:rgb(0, 0, 0);font-family:sans-serif;font-size:13px;"><span class="qt-gmail-mw-headline"></span><br></h4><p style="margin-top:1em;margin-right:0px;margin-bottom:1em;margin-left:0px;color:rgb(0, 0, 0);font-family:sans-serif;font-size:13px;">HiPE
          is the runtime and compiler support for native code generation
          of Erlang modules that some of you might have tried, it is
          part of the OTP repository today.<br></p><p style="margin-top:1em;margin-right:0px;margin-bottom:1em;margin-left:0px;color:rgb(0, 0, 0);font-family:sans-serif;font-size:13px;">The
          OTP team is planning to remove HiPE in the OTP 24 release for
          the following reasons:<br></p><ul style="line-height:1.5em;list-style-type:square;margin-top:0.3em;margin-right:0px;margin-bottom:0px;margin-left:1.5em;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;color:rgb(0, 0, 0);font-family:sans-serif;font-size:13px;"><li style="margin-bottom:0.1em;">we plan to introduce a new way
            of executing Erlang, the "JIT" described by Lukas Larsson at
            Code Beam V<br></li><li style="margin-bottom:0.1em;">since OTP 22, HiPE is not
            fully functional (does not handle all beam instructions and
            combinations)<br></li><li style="margin-bottom:0.1em;">there is no use of HiPE among
            our primary customers. We actually don't know where HiPE is
            used except for speeding up Dialyzer which we have another
            solution for.<br></li><li style="margin-bottom:0.1em;">The current support for HiPE
            in the code is a blocker or creates extra work in our new
            development.<br></li></ul><p style="margin-top:1em;margin-right:0px;margin-bottom:1em;margin-left:0px;color:rgb(0, 0, 0);font-family:sans-serif;font-size:13px;">In
          order to not remove HiPE in OTP 24, we really soon need
          maintainers committing (long term) to keep HiPE in shape and
          up to date with the rest of OTP.<br></p><div>/Kenneth Erlang/OTP, Ericsson<br></div></div></blockquote></blockquote><div><br></div></body></html>