1{module, overwrite_catchtag}. %% version = 0 2 3{exports, [{foo,1},{module_info,0},{module_info,1}]}. 4 5{attributes, []}. 6 7{labels, 8}. 8 9 10{function, foo, 1, 2}. 11 {label,1}. 12 {func_info,{atom,overwrite_catchtag},{atom,foo},1}. 13 {label,2}. 14 {allocate,1,1}. 15 {'catch',{y,0},{f,3}}. 16 {move,{x,0},{y,0}}. % <= {catchtag,3} 17 {call,1,{f,2}}. 18 {label,3}. 19 {catch_end,{y,0}}. 20 {deallocate,1}. 21 return. 22 23 24{function, module_info, 0, 5}. 25 {label,4}. 26 {func_info,{atom,overwrite_catchtag},{atom,module_info},0}. 27 {label,5}. 28 {move,{atom,overwrite_catchtag},{x,0}}. 29 {call_ext_only,1,{extfunc,erlang,get_module_info,1}}. 30 31 32{function, module_info, 1, 7}. 33 {label,6}. 34 {func_info,{atom,overwrite_catchtag},{atom,module_info},1}. 35 {label,7}. 36 {move,{x,0},{x,1}}. 37 {move,{atom,overwrite_catchtag},{x,0}}. 38 {call_ext_only,2,{extfunc,erlang,get_module_info,2}}. 39