|
... |
|
|
|
{:function, :non_tail_call, 1, 8, |
|
[{:label, 7}, {:line, [{:location, 'nofile', 10}]}, |
|
{:func_info, {:atom, Test}, {:atom, :non_tail_call}, 1}, {:label, 8}, |
|
{:allocate, 0, 1}, {:line, [{:location, 'nofile', 11}]}, |
|
{:call, 1, {:f, 10}}, {:line, [{:location, 'nofile', 11}]}, <- non_tail call |
|
{:gc_bif, :+, {:f, 0}, 1, [integer: 1, x: 0], {:x, 0}}, {:deallocate, 0}, |
|
:return]}, |
|
... |
|
|
|
{:function, :tail_call, 1, 10, |
|
[{:label, 9}, {:line, [{:location, 'nofile', 2}]}, |
|
{:func_info, {:atom, Test}, {:atom, :tail_call}, 1}, {:label, 10}, |
|
{:test, :is_lt, {:f, 11}, [integer: 0, x: 0]}, {:call_only, 1, {:f, 10}}, |
|
{:label, 11}, {:call_only, 1, {:f, 10}}]}, <- tail call |