[erlang-patches] Optimize handling of local fun variables in v3_kernel

Anthony Ramine <>
Mon Oct 14 13:07:26 CEST 2013


Err,

t2() -> fun identity/1.

-- 
Anthony Ramine

> Le 14 oct. 2013 à 12:45, Anthony Ramine <> a écrit :
> 
> Hello Kostis,
> 
> To reproduce the crash, compile the following module with +native with my rm-reverse-eta-conversion branch:
> 
> -module(t).
> -export([t1/0,t2/0]).
> 
> t1() -> fun identity/1.
> t2() -> fun identity/2.
> 
> identity(X) -> X.
> 
> Loading this module compiled with HiPE on my branch will make HiPE crash in patch_funentries. Commenting the t2/0 function out makes the crash disappear. That shows that the cause of the crash is multiple references to the same local function.
> 
> Regards,
> 
> -- 
> Anthony Ramine
> 
>> Le 8 oct. 2013 à 20:12, Kostis Sagonas <> a écrit :
>> 
>> Anyway, I am not sure how to contribute here and it will take me quite some time to investigate this from scratch, time which sadly I do not have these days.  I can spend some time on this if I feel like hacking again one of the nights to come, but only if you minimize this and send me a self-contained module that shows the problem when you generate BEAM code with the changed compiler, but not with the vanilla.
> 


More information about the erlang-patches mailing list