1{module, merge_undefined}. %% version = 0 2 3{exports, [{uninitialized,2},{undecided,2}]}. 4 5{attributes, []}. 6 7{labels, 15}. 8 9{function, uninitialized, 2, 2}. 10 {label,1}. 11 {func_info,{atom,t},{atom,uninitialized},2}. 12 {label,2}. 13 {test,is_atom,{f,1},[{x,0}]}. 14 {select_val,{x,0},{f,1},{list,[{atom,gurka},{f,3},{atom,delete},{f,4}]}}. 15 {label,3}. 16 {allocate_heap,2,6,2}. 17 {test,is_eq_exact,{f,5},[{x,0},{atom,ok}]}. 18 %% This is unreachable since {x,0} is known not to be 'ok'. We should not 19 %% fail with "uninitialized y registers" on erlang:exit/1 20 {move,{atom,nisse},{x,0}}. 21 {call_ext,1,{extfunc,erlang,exit,1}}. 22 {label,4}. 23 {allocate_heap,2,6,2}. 24 {move,{x,1},{y,0}}. 25 {put_list,{integer,112},nil,{x,0}}. 26 {put_list,{integer,126},{x,0},{x,0}}. 27 {put_list,{y,0},nil,{x,1}}. 28 {'%live',2}. 29 {call_ext,2,{extfunc,io,format,2}}. 30 {test,is_ne_exact,{f,6},[{x,0},{atom,ok}]}. 31 {label,5}. 32 %% The Y registers are not initialized here. 33 {move,{atom,logReader},{x,1}}. 34 {move,{atom,console},{x,0}}. 35 {call_ext,2,{extfunc,debug,filter,2}}. 36 {test_heap,14,1}. 37 {put_list,{atom,logReader},nil,{x,1}}. 38 {put_list,{atom,console},{x,1},{x,1}}. 39 {put_tuple,3,{x,2}}. 40 {put,{atom,debug}}. 41 {put,{atom,filter}}. 42 {put,{x,1}}. 43 {put_tuple,2,{x,1}}. 44 {put,{x,2}}. 45 {put,{x,0}}. 46 {put_tuple,2,{x,0}}. 47 {put,{atom,badmatch}}. 48 {put,{x,1}}. 49 {'%live',1}. 50 {call_ext,1,{extfunc,erlang,exit,1}}. 51 {label,6}. 52 {move,{y,0},{x,0}}. 53 {call_last,1,{f,14},1}. 54 55{function, undecided, 2, 8}. 56 {label,7}. 57 {func_info,{atom,t},{atom,undecided},2}. 58 {label,8}. 59 {test,is_atom,{f,7},[{x,0}]}. 60 {select_val,{x,0},{f,7},{list,[{atom,gurka},{f,9},{atom,delete},{f,10}]}}. 61 {label,9}. 62 {allocate_heap,2,6,2}. 63 {test,is_eq_exact,{f,11},[{x,0},{atom,ok}]}. 64 %% This is unreachable since {x,0} is known not to be 'ok'. We should not 65 %% fail with "uninitialized y registers" on erlang:exit/1 66 {move,{atom,nisse},{x,0}}. 67 {call_ext,1,{extfunc,erlang,exit,1}}. 68 {label,10}. 69 {allocate_heap,1,6,2}. 70 {move,{x,1},{y,0}}. 71 {put_list,{integer,112},nil,{x,0}}. 72 {put_list,{integer,126},{x,0},{x,0}}. 73 {put_list,{y,0},nil,{x,1}}. 74 {'%live',2}. 75 {call_ext,2,{extfunc,io,format,2}}. 76 {test,is_ne_exact,{f,12},[{x,0},{atom,ok}]}. 77 {label,11}. 78 %% The number of allocated Y registers are in conflict here. 79 {move,{atom,logReader},{x,1}}. 80 {move,{atom,console},{x,0}}. 81 {call_ext,2,{extfunc,debug,filter,2}}. 82 {test_heap,14,1}. 83 {put_list,{atom,logReader},nil,{x,1}}. 84 {put_list,{atom,console},{x,1},{x,1}}. 85 {put_tuple,3,{x,2}}. 86 {put,{atom,debug}}. 87 {put,{atom,filter}}. 88 {put,{x,1}}. 89 {put_tuple,2,{x,1}}. 90 {put,{x,2}}. 91 {put,{x,0}}. 92 {put_tuple,2,{x,0}}. 93 {put,{atom,badmatch}}. 94 {put,{x,1}}. 95 {'%live',1}. 96 {call_ext,1,{extfunc,erlang,exit,1}}. 97 {label,12}. 98 {move,{y,0},{x,0}}. 99 {call_last,1,{f,8},1}. 100 101{function, foo, 1, 14}. 102 {label,13}. 103 {func_info,{atom,t},{atom,foo},1}. 104 {label,14}. 105 {move,{atom,ok},{x,0}}. 106 return. 107