|
3 | 3 | {exports, [{'__info__',1},
|
4 | 4 | {foo,1},
|
5 | 5 | {local,1},
|
| 6 | + {local_closure,0}, |
6 | 7 | {module,1},
|
7 | 8 | {module_info,0},
|
8 |
| - {module_info,1}]}. |
| 9 | + {module_info,1}, |
| 10 | + {remote_closure,0}]}. |
9 | 11 |
|
10 | 12 | {attributes, []}.
|
11 | 13 |
|
12 |
| -{labels, 22}. |
| 14 | +{labels, 26}. |
13 | 15 |
|
14 | 16 |
|
15 | 17 | {function, '__info__', 1, 2}.
|
|
44 | 46 | {move,{atom,'Elixir.Bench'},{x,0}}.
|
45 | 47 | return.
|
46 | 48 | {label,5}.
|
47 |
| - {move,{literal,[{foo,1},{local,1},{module,1}]},{x,0}}. |
| 49 | + {move,{literal,[{foo,1}, |
| 50 | + {local,1}, |
| 51 | + {local_closure,0}, |
| 52 | + {module,1}, |
| 53 | + {remote_closure,0}]}, |
| 54 | + {x,0}}. |
48 | 55 | return.
|
49 | 56 | {label,6}.
|
50 |
| - {move,{literal,<<249,220,148,233,109,149,24,191,155,116,221,51,167,22,151, |
51 |
| - 183>>}, |
| 57 | + {move,{literal,<<23,253,119,194,33,204,205,227,211,208,5,195,55,16,104,222>>}, |
52 | 58 | {x,0}}.
|
53 | 59 | return.
|
54 | 60 | {label,7}.
|
|
59 | 65 | {move,{atom,'Elixir.Bench'},{x,0}}.
|
60 | 66 | {call_ext_only,2,{extfunc,erlang,get_module_info,2}}.
|
61 | 67 | {label,9}.
|
62 |
| - {call_only,1,{f,21}}. % '-inlined-__info__/1-'/1 |
| 68 | + {call_only,1,{f,25}}. % '-inlined-__info__/1-'/1 |
63 | 69 |
|
64 | 70 |
|
65 | 71 | {function, foo, 1, 11}.
|
66 | 72 | {label,10}.
|
67 |
| - {line,[{location,"bench/local_vs_module.exs",15}]}. |
| 73 | + {line,[{location,"bench/local_vs_module.exs",16}]}. |
68 | 74 | {func_info,{atom,'Elixir.Bench'},{atom,foo},1}.
|
69 | 75 | {label,11}.
|
70 | 76 | {gc_bif,'+',{f,0},1,[{x,0},{integer,1}],{x,0}}.
|
|
73 | 79 |
|
74 | 80 | {function, local, 1, 13}.
|
75 | 81 | {label,12}.
|
76 |
| - {line,[{location,"bench/local_vs_module.exs",11}]}. |
| 82 | + {line,[{location,"bench/local_vs_module.exs",9}]}. |
77 | 83 | {func_info,{atom,'Elixir.Bench'},{atom,local},1}.
|
78 | 84 | {label,13}.
|
79 | 85 | {test_heap,{alloc,[{words,0},{floats,0},{funs,1}]},1}.
|
80 | 86 | {make_fun3,{f,11},0,0,{x,1},{list,[]}}.
|
81 | 87 | {'%',{var_info,{x,1},[{fun_type,{t_number,any}}]}}.
|
82 |
| - {line,[{location,"bench/local_vs_module.exs",12}]}. |
| 88 | + {line,[{location,"bench/local_vs_module.exs",10}]}. |
83 | 89 | {call_ext_only,2,{extfunc,'Elixir.Enum',each,2}}.
|
84 | 90 |
|
85 | 91 |
|
86 |
| -{function, module, 1, 15}. |
| 92 | +{function, local_closure, 0, 15}. |
87 | 93 | {label,14}.
|
88 |
| - {line,[{location,"bench/local_vs_module.exs",7}]}. |
89 |
| - {func_info,{atom,'Elixir.Bench'},{atom,module},1}. |
| 94 | + {line,[{location,"bench/local_vs_module.exs",13}]}. |
| 95 | + {func_info,{atom,'Elixir.Bench'},{atom,local_closure},0}. |
90 | 96 | {label,15}.
|
91 |
| - {move,{literal,fun 'Elixir.Foo':foo/1},{x,1}}. |
92 |
| - {line,[{location,"bench/local_vs_module.exs",8}]}. |
93 |
| - {call_ext_only,2,{extfunc,'Elixir.Enum',each,2}}. |
| 97 | + {test_heap,{alloc,[{words,0},{floats,0},{funs,1}]},0}. |
| 98 | + {make_fun3,{f,11},0,0,{x,0},{list,[]}}. |
| 99 | + {'%',{var_info,{x,0},[{fun_type,{t_number,any}}]}}. |
| 100 | + return. |
94 | 101 |
|
95 | 102 |
|
96 |
| -{function, module_info, 0, 17}. |
| 103 | +{function, module, 1, 17}. |
97 | 104 | {label,16}.
|
| 105 | + {line,[{location,"bench/local_vs_module.exs",5}]}. |
| 106 | + {func_info,{atom,'Elixir.Bench'},{atom,module},1}. |
| 107 | + {label,17}. |
| 108 | + {move,{literal,fun 'Elixir.Bench':foo/1},{x,1}}. |
| 109 | + {line,[{location,"bench/local_vs_module.exs",6}]}. |
| 110 | + {call_ext_only,2,{extfunc,'Elixir.Enum',each,2}}. |
| 111 | + |
| 112 | + |
| 113 | +{function, remote_closure, 0, 19}. |
| 114 | + {label,18}. |
| 115 | + {line,[{location,"bench/local_vs_module.exs",14}]}. |
| 116 | + {func_info,{atom,'Elixir.Bench'},{atom,remote_closure},0}. |
| 117 | + {label,19}. |
| 118 | + {move,{literal,fun 'Elixir.Bench':foo/1},{x,0}}. |
| 119 | + return. |
| 120 | + |
| 121 | + |
| 122 | +{function, module_info, 0, 21}. |
| 123 | + {label,20}. |
98 | 124 | {line,[]}.
|
99 | 125 | {func_info,{atom,'Elixir.Bench'},{atom,module_info},0}.
|
100 |
| - {label,17}. |
| 126 | + {label,21}. |
101 | 127 | {move,{atom,'Elixir.Bench'},{x,0}}.
|
102 | 128 | {call_ext_only,1,{extfunc,erlang,get_module_info,1}}.
|
103 | 129 |
|
104 | 130 |
|
105 |
| -{function, module_info, 1, 19}. |
106 |
| - {label,18}. |
| 131 | +{function, module_info, 1, 23}. |
| 132 | + {label,22}. |
107 | 133 | {line,[]}.
|
108 | 134 | {func_info,{atom,'Elixir.Bench'},{atom,module_info},1}.
|
109 |
| - {label,19}. |
| 135 | + {label,23}. |
110 | 136 | {move,{x,0},{x,1}}.
|
111 | 137 | {move,{atom,'Elixir.Bench'},{x,0}}.
|
112 | 138 | {call_ext_only,2,{extfunc,erlang,get_module_info,2}}.
|
113 | 139 |
|
114 | 140 |
|
115 |
| -{function, '-inlined-__info__/1-', 1, 21}. |
116 |
| - {label,20}. |
| 141 | +{function, '-inlined-__info__/1-', 1, 25}. |
| 142 | + {label,24}. |
117 | 143 | {line,[]}.
|
118 | 144 | {func_info,{atom,'Elixir.Bench'},{atom,'-inlined-__info__/1-'},1}.
|
119 |
| - {label,21}. |
120 |
| - {jump,{f,20}}. |
| 145 | + {label,25}. |
| 146 | + {jump,{f,24}}. |
0 commit comments