[erlang-bugs] [erlang-patches] Native compilation hangs with rm-reverse-eta-conversion

Fredrik <>
Wed Mar 13 10:15:06 CET 2013

On 03/12/2013 08:07 PM, Kostis Sagonas wrote:
> On 01/23/2013 12:49 PM, Anthony Ramine wrote:
>> Hi,
>> The bytecode invariant that I broke is the fact that a function 
>> cannot be used as
>> a closure and as a normal function both at the same time, thus the 
>> eta-abstraction
>> is needed by HiPE.
>> Fredrik, for the time being you should probably revert 
>> rm-reverse-eta-conversion
>> because I don't think I'll be able to make HiPE work with the 
>> eta-abstraction in
>> that much time.
>> Kostis, could you give me directions on how to make HiPE not need the 
>> intermediate
>> closures when doing fun Name/Arity?
> Thanks to Anthony repeatedly prompting me to look into this and 
> sending me a minimal example to test and to Bjorn Gustavsson for 
> checking the code of hipe_icode_coordinator, today I adapted the 
> assumptions of the native code compiler and simplified the code that 
> computes escaping functions. The following hipe patch should be 
> included in OTP:
>   git fetch git://github.com/kostis/otp.git hipe-cleanup-escaping
> After its inclusion, Anthony's patch that removes the automatic 
> eta-abstraction for function references from the BEAM compiler can 
> probably be included without any problems.
> Kostis
> _______________________________________________
> erlang-patches mailing list
> http://erlang.org/mailman/listinfo/erlang-patches
Fetched. It is now in the 'pu' branch.


BR Fredrik Gustafsson
Erlang OTP Team

More information about the erlang-bugs mailing list