<div dir="ltr"><div style>The code looks fine.</div><div style><br></div><div style>I have only one comment for this part of the patch:</div><div style><br></div><div>@@ -1663,6 +1655,19 @@ uexpr(#ifun{anno=A,vars=Vs,body=B0}, {break,Rs}, St0) -></div>
<div> <span class="" style="white-space:pre"> </span> #k_int{val=Index},#k_int{val=Uniq}|Fvs],</div><div> <span class="" style="white-space:pre"> </span> ret=Rs},</div><div> Free,add_local_function(Fun, St)};</div>
<div>+uexpr(#k_local{anno=A,name=Name,arity=Arity}, {break,Rs}, St) -></div><div>+ Fs = get_free(Name, Arity, St),</div><div>+ FsCount = length(Fs),</div><div>+ Free = lit_list_vars(Fs),</div><div>+ %% Set dummy values for Index and Uniq -- the real values will</div>
<div>+ %% be assigned by beam_asm.</div><div>+ Index = Uniq = 0,</div><div>+ Bif = #k_bif{anno=#k{us=Free,ns=lit_list_vars(Rs),a=A},</div><div>+ op=#k_internal{name=make_fun,arity=FsCount+3},</div>
<div>+ args=[#k_atom{val=Name},#k_int{val=FsCount+Arity},</div><div>+ #k_int{val=Index},#k_int{val=Uniq}|Fs],</div><div>+ ret=Rs},</div><div>+ {Bif,Free,St};</div><div>
uexpr(Lit, {break,Rs0}, St0) -></div><div> %% Transform literals to puts here.</div><div> %%ok = io:fwrite("uexpr ~w:~p~n", [?LINE,Lit]),</div><div><br></div><div style>The code handles free variables. As far as I can understand, there</div>
<div style>can be no free variables in this case, so you should simplify the code.</div><div style><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jan 9, 2013 at 4:51 PM, Fredrik <span dir="ltr"><<a href="mailto:fredrik@erlang.org" target="_blank">fredrik@erlang.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello Anthony,<br>
Your patch is failing the following suites and tests;<br>
trace_local_SUITE, exception_apply_function<br>
trace_local_SUITE, exception_function<br>
trace_local_SUITE, exception_meta_apply_function<br>
trace_local_SUITE, exception_meta_function<br>
trace_local_SUITE, exception_meta_nocatch_apply_<u></u>function<br>
trace_local_SUITE, exception_meta_nocatch_<u></u>function<br>
trace_local_SUITE, exception_nocatch_apply_<u></u>function<br>
trace_local_SUITE, exception_nocatch_function<br>
<br>
Could you please fix this and then give me a notice,<br>
<br>
BR Fredrik Gustafsson<br>
Erlang OTP Team<div class="im HOEnZb"><br>
On 12/03/2012 11:28 AM, Anthony Ramine wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I've removed the second commit of this branch because I'm not happy with it and because it makes the mnesia test suites fail. Enabling propagatation of local function names should be another patch on its own, let's not put that in this branch.<br>
<br>
Please refetch.<br>
<br>
</blockquote>
<br></div><div class="HOEnZb"><div class="h5">
______________________________<u></u>_________________<br>
erlang-patches mailing list<br>
<a href="mailto:erlang-patches@erlang.org" target="_blank">erlang-patches@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-patches" target="_blank">http://erlang.org/mailman/<u></u>listinfo/erlang-patches</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Björn Gustavsson, Erlang/OTP, Ericsson AB
</div>