Created
March 21, 2022 17:23
-
-
Save davisp/ca9cd2e51c4913d80683cd6ceb51b9c7 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- couch_key_tree.21.S 2022-03-21 12:24:36.000000000 -0500 | |
+++ couch_key_tree.23.S 2022-03-21 12:21:59.000000000 -0500 | |
@@ -26,7 +26,7 @@ | |
{attributes, []}. | |
-{labels, 303}. | |
+{labels, 269}. | |
{function, multi_merge, 2, 2}. | |
@@ -37,10 +37,9 @@ | |
{allocate,2,2}. | |
{move,{x,1},{y,0}}. | |
{move,{x,0},{y,1}}. | |
- {make_fun2,{f,301},0,0,0}. | |
- {move,{x,0},{x,1}}. | |
- {move,{y,0},{x,0}}. | |
- {move,{x,1},{y,0}}. | |
+ {make_fun2,{f,268},0,0,0}. | |
+ {'%',{var_info,{x,0},[{fun_type,{t_list,any,nil}}]}}. | |
+ {swap,{y,0},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",51}]}. | |
{call_ext,1,{extfunc,lists,sort,1}}. | |
{move,{y,1},{x,1}}. | |
@@ -58,1107 +57,1182 @@ | |
{allocate_zero,1,2}. | |
{move,nil,{x,2}}. | |
{line,[{location,"couch_key_tree.erl",58}]}. | |
- {call,3,{f,7}}. | |
- {test,is_tuple,{f,5},[{x,0}]}. | |
- {test,test_arity,{f,5},[{x,0},2]}. | |
+ {call,3,{f,6}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{1 => {t_list,any,nil}, | |
+ 2 => {t_atom,[internal_node,new_branch,new_leaf]}}}}]}}. | |
+ {get_tuple_element,{x,0},0,{x,1}}. | |
{get_tuple_element,{x,0},1,{y,0}}. | |
- {get_tuple_element,{x,0},0,{x,0}}. | |
+ {move,{x,1},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",59}]}. | |
{call_ext,1,{extfunc,lists,sort,1}}. | |
{test_heap,3,1}. | |
- {put_tuple,2,{x,1}}. | |
- {put,{x,0}}. | |
- {put,{y,0}}. | |
- {move,{x,1},{x,0}}. | |
+ {put_tuple2,{x,0},{list,[{x,0},{y,0}]}}. | |
{deallocate,1}. | |
return. | |
- {label,5}. | |
- {line,[{location,"couch_key_tree.erl",58}]}. | |
- {badmatch,{x,0}}. | |
-{function, merge_tree, 3, 7}. | |
- {label,6}. | |
+{function, merge_tree, 3, 6}. | |
+ {label,5}. | |
{line,[{location,"couch_key_tree.erl",67}]}. | |
{func_info,{atom,couch_key_tree},{atom,merge_tree},3}. | |
- {label,7}. | |
- {test,is_nonempty_list,{f,9},[{x,0}]}. | |
+ {label,6}. | |
+ {'%',{var_info,{x,2},[{type,{t_list,{t_tuple,2,true,#{}},nil}}]}}. | |
+ {test,is_nonempty_list,{f,8},[{x,0}]}. | |
{get_list,{x,0},{x,3},{x,4}}. | |
- {test,is_tuple,{f,6},[{x,3}]}. | |
- {test,test_arity,{f,6},[{x,3},2]}. | |
- {test,is_tuple,{f,6},[{x,1}]}. | |
- {test,test_arity,{f,6},[{x,1},2]}. | |
- {allocate_zero,6,5}. | |
- {get_tuple_element,{x,3},0,{x,5}}. | |
- {get_tuple_element,{x,3},1,{x,6}}. | |
- {get_tuple_element,{x,1},0,{x,7}}. | |
- {get_tuple_element,{x,1},1,{x,8}}. | |
+ {test,is_tuple,{f,5},[{x,3}]}. | |
+ {test,test_arity,{f,5},[{x,3},2]}. | |
+ {test,is_tuple,{f,5},[{x,1}]}. | |
+ {test,test_arity,{f,5},[{x,1},2]}. | |
+ {get_tuple_element,{x,3},0,{x,0}}. | |
+ {get_tuple_element,{x,1},0,{x,5}}. | |
{line,[{location,"couch_key_tree.erl",84}]}. | |
- {gc_bif,'-',{f,0},9,[{x,5},{x,7}],{x,0}}. | |
- {test_heap,4,9}. | |
- {move,{x,2},{y,5}}. | |
- {move,{x,1},{y,4}}. | |
- {move,{x,4},{y,3}}. | |
- {move,{x,3},{y,2}}. | |
+ {gc_bif,'-',{f,0},6,[{x,0},{x,5}],{x,6}}. | |
+ {allocate_heap,7,4,7}. | |
+ {init,{y,0}}. | |
{move,{x,5},{y,1}}. | |
- {move,{x,7},{y,0}}. | |
- {put_list,{x,6},nil,{x,6}}. | |
- {put_list,{x,8},nil,{x,2}}. | |
- {move,{x,0},{x,1}}. | |
- {move,{x,6},{x,0}}. | |
+ {move,{x,0},{y,2}}. | |
+ {move,{x,3},{y,3}}. | |
+ {move,{x,4},{y,4}}. | |
+ {move,{x,2},{y,5}}. | |
+ {move,{x,1},{y,6}}. | |
+ {get_tuple_element,{x,1},1,{x,0}}. | |
+ {get_tuple_element,{x,3},1,{x,1}}. | |
+ {put_list,{x,1},nil,{x,1}}. | |
+ {put_list,{x,0},nil,{x,2}}. | |
+ {move,{x,1},{x,0}}. | |
+ {move,{x,6},{x,1}}. | |
{line,[{location,"couch_key_tree.erl",84}]}. | |
- {call,3,{f,13}}. | |
- {test,is_tuple,{f,8},[{x,0}]}. | |
- {test,test_arity,{f,11},[{x,0},2]}. | |
- {get_tuple_element,{x,0},0,{x,1}}. | |
- {get_tuple_element,{x,0},1,{x,2}}. | |
- {test,is_nonempty_list,{f,11},[{x,1}]}. | |
- {get_list,{x,1},{x,3},{x,4}}. | |
- {test,is_nil,{f,11},[{x,4}]}. | |
- {move,{y,0},{x,1}}. | |
- {move,{x,3},{y,2}}. | |
- {move,{x,2},{y,4}}. | |
- {move,{y,1},{x,0}}. | |
- {trim,2,4}. | |
- {line,[{location,"couch_key_tree.erl",86}]}. | |
+ {call,3,{f,12}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_union, | |
+ {t_atom,[fail]}, | |
+ none,none, | |
+ {t_tuple,2,true, | |
+ #{1 => {t_cons,any,any}, | |
+ 2 => {t_atom,[internal_node,new_branch,new_leaf]}}}, | |
+ none}}]}}. | |
+ {move,{x,0},{y,0}}. | |
+ {test,is_tuple,{f,7},[{x,0}]}. | |
+ {get_tuple_element,{x,0},0,{x,0}}. | |
+ {get_list,{x,0},{y,6},{x,0}}. | |
+ {test,is_nil,{f,10},[{x,0}]}. | |
+ {move,{y,1},{x,1}}. | |
+ {move,{y,2},{x,0}}. | |
+ {move,{y,0},{y,3}}. | |
+ {trim,3,4}. | |
{call_ext,2,{extfunc,erlang,min,2}}. | |
{test_heap,5,1}. | |
- {put_tuple,2,{x,2}}. | |
- {put,{x,0}}. | |
- {put,{y,0}}. | |
- {put_list,{x,2},{y,3},{x,1}}. | |
+ {put_tuple2,{x,0},{list,[{x,0},{y,3}]}}. | |
+ {put_list,{x,0},{y,2},{x,1}}. | |
{move,{y,1},{x,0}}. | |
- {move,{y,2},{y,3}}. | |
+ {move,{y,0},{y,3}}. | |
{trim,3,1}. | |
{line,[{location,"couch_key_tree.erl",87}]}. | |
{call_ext,2,{extfunc,erlang,'++',2}}. | |
{test_heap,3,1}. | |
- {put_tuple,2,{x,1}}. | |
- {put,{x,0}}. | |
- {put,{y,0}}. | |
- {move,{x,1},{x,0}}. | |
+ {get_tuple_element,{y,0},1,{x,1}}. | |
+ {put_tuple2,{x,0},{list,[{x,0},{x,1}]}}. | |
{deallocate,1}. | |
return. | |
- {label,8}. | |
- {test,is_eq_exact,{f,11},[{x,0},{atom,fail}]}. | |
+ {label,7}. | |
{test_heap,2,0}. | |
- {put_list,{y,2},{y,5},{x,2}}. | |
- {move,{y,4},{x,1}}. | |
- {move,{y,3},{x,0}}. | |
- {call_last,3,{f,7},6}. | |
- {label,9}. | |
- {test,is_nil,{f,6},[{x,0}]}. | |
- {test,is_nil,{f,10},[{x,2}]}. | |
+ {put_list,{y,3},{y,5},{x,2}}. | |
+ {move,{y,6},{x,1}}. | |
+ {move,{y,4},{x,0}}. | |
+ {call_last,3,{f,6},7}. | |
+ {label,8}. | |
+ {test,is_nil,{f,5},[{x,0}]}. | |
+ {test,is_nil,{f,9},[{x,2}]}. | |
{test_heap,5,2}. | |
- {put_list,{x,1},nil,{x,1}}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{x,1}}. | |
- {put,{atom,new_leaf}}. | |
+ {put_list,{x,1},nil,{x,0}}. | |
+ {put_tuple2,{x,0},{list,[{x,0},{atom,new_leaf}]}}. | |
return. | |
- {label,10}. | |
+ {label,9}. | |
{test_heap,5,3}. | |
- {put_list,{x,1},{x,2},{x,1}}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{x,1}}. | |
- {put,{atom,new_branch}}. | |
+ {put_list,{x,1},{x,2},{x,0}}. | |
+ {put_tuple2,{x,0},{list,[{x,0},{atom,new_branch}]}}. | |
return. | |
- {label,11}. | |
+ {label,10}. | |
{line,[{location,"couch_key_tree.erl",84}]}. | |
- {case_end,{x,0}}. | |
+ {case_end,{y,0}}. | |
-{function, merge_at, 3, 13}. | |
- {label,12}. | |
+{function, merge_at, 3, 12}. | |
+ {label,11}. | |
{line,[{location,"couch_key_tree.erl",100}]}. | |
{func_info,{atom,couch_key_tree},{atom,merge_at},3}. | |
- {label,13}. | |
- {test,is_nil,{f,14},[{x,2}]}. | |
- {move,{atom,fail},{x,0}}. | |
- return. | |
- {label,14}. | |
- {test,is_nil,{f,15},[{x,0}]}. | |
- {move,{atom,fail},{x,0}}. | |
- return. | |
- {label,15}. | |
- {test,is_nonempty_list,{f,18},[{x,2}]}. | |
+ {label,12}. | |
+ {'%',{var_info,{x,1},[{type,number}]}}. | |
+ {'%',{var_info,{x,2},[{type,{t_cons,any,any}}]}}. | |
+ {test,is_ne_exact,{f,19},[{x,0},nil]}. | |
{get_list,{x,2},{x,3},{x,4}}. | |
- {test,is_tuple,{f,18},[{x,3}]}. | |
- {test,test_arity,{f,18},[{x,3},3]}. | |
- {get_tuple_element,{x,3},0,{x,5}}. | |
- {get_tuple_element,{x,3},1,{x,6}}. | |
- {get_tuple_element,{x,3},2,{x,7}}. | |
- {test,is_nonempty_list,{f,17},[{x,7}]}. | |
- {get_tl,{x,7},{x,8}}. | |
- {test,is_nil,{f,18},[{x,8}]}. | |
- {test,is_nil,{f,18},[{x,4}]}. | |
- {test,is_lt,{f,18},[{integer,0},{x,1}]}. | |
- {allocate_zero,2,8}. | |
+ {test,is_tuple,{f,14},[{x,3}]}. | |
+ {test,test_arity,{f,14},[{x,3},3]}. | |
+ {get_tuple_element,{x,3},2,{x,5}}. | |
+ {test,is_nonempty_list,{f,13},[{x,5}]}. | |
+ {get_tl,{x,5},{x,6}}. | |
+ {test,is_nil,{f,14},[{x,6}]}. | |
+ {test,is_nil,{f,14},[{x,4}]}. | |
+ {test,is_lt,{f,14},[{integer,0},{x,1}]}. | |
{line,[{location,"couch_key_tree.erl",107}]}. | |
- {gc_bif,'-',{f,0},8,[{x,1},{integer,1}],{x,1}}. | |
- {move,{x,7},{x,2}}. | |
- {move,{x,6},{y,0}}. | |
- {move,{x,5},{y,1}}. | |
+ {gc_bif,'-',{f,0},6,[{x,1},{integer,1}],{x,1}}. | |
+ {allocate,1,6}. | |
+ {move,{x,3},{y,0}}. | |
+ {move,{x,5},{x,2}}. | |
{line,[{location,"couch_key_tree.erl",107}]}. | |
- {call,3,{f,13}}. | |
- {test,is_tuple,{f,16},[{x,0}]}. | |
- {test,test_arity,{f,26},[{x,0},2]}. | |
+ {call,3,{f,12}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_union, | |
+ {t_atom,[fail]}, | |
+ none,none, | |
+ {t_tuple,2,true, | |
+ #{1 => {t_cons,any,any}, | |
+ 2 => {t_atom,[internal_node,new_branch,new_leaf]}}}, | |
+ none}}]}}. | |
+ {test,is_tuple,{f,21},[{x,0}]}. | |
{test_heap,9,1}. | |
- {get_tuple_element,{x,0},0,{x,1}}. | |
- {get_tuple_element,{x,0},1,{x,2}}. | |
- {put_tuple,3,{x,3}}. | |
- {put,{y,1}}. | |
- {put,{y,0}}. | |
- {put,{x,1}}. | |
- {put_list,{x,3},nil,{x,1}}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{x,1}}. | |
- {put,{x,2}}. | |
- {deallocate,2}. | |
- return. | |
- {label,16}. | |
- {test,is_eq_exact,{f,26},[{x,0},{atom,fail}]}. | |
- {deallocate,2}. | |
+ {get_tuple_element,{y,0},0,{x,1}}. | |
+ {get_tuple_element,{y,0},1,{x,2}}. | |
+ {get_tuple_element,{x,0},0,{x,3}}. | |
+ {get_tuple_element,{x,0},1,{x,0}}. | |
+ {put_tuple2,{x,1},{list,[{x,1},{x,2},{x,3}]}}. | |
+ {put_list,{x,1},nil,{x,1}}. | |
+ {put_tuple2,{x,0},{list,[{x,1},{x,0}]}}. | |
+ {deallocate,1}. | |
return. | |
- {label,17}. | |
- {test,is_nil,{f,18},[{x,7}]}. | |
- {test,is_nil,{f,18},[{x,4}]}. | |
- {test,is_ge,{f,23},[{integer,0},{x,1}]}. | |
- {label,18}. | |
- {test,is_nonempty_list,{f,12},[{x,0}]}. | |
- {get_list,{x,0},{x,3},{x,4}}. | |
- {test,is_tuple,{f,24},[{x,3}]}. | |
- {test,test_arity,{f,24},[{x,3},3]}. | |
- {get_tuple_element,{x,3},0,{x,5}}. | |
- {get_tuple_element,{x,3},1,{x,6}}. | |
- {get_tuple_element,{x,3},2,{x,7}}. | |
- {test,is_lt,{f,21},[{x,1},{integer,0}]}. | |
- {allocate_zero,6,8}. | |
+ {label,13}. | |
+ {test,is_nil,{f,14},[{x,5}]}. | |
+ {test,is_nil,{f,14},[{x,4}]}. | |
+ {test,is_ge,{f,19},[{integer,0},{x,1}]}. | |
+ {label,14}. | |
+ {test,is_nonempty_list,{f,11},[{x,0}]}. | |
+ {get_list,{x,0},{x,5},{x,6}}. | |
+ {test,is_tuple,{f,20},[{x,5}]}. | |
+ {test,test_arity,{f,20},[{x,5},3]}. | |
+ {get_tuple_element,{x,5},0,{x,7}}. | |
+ {get_tuple_element,{x,5},1,{x,8}}. | |
+ {get_tuple_element,{x,5},2,{x,9}}. | |
+ {test,is_lt,{f,17},[{x,1},{integer,0}]}. | |
{line,[{location,"couch_key_tree.erl",118}]}. | |
- {gc_bif,'+',{f,0},8,[{x,1},{integer,1}],{x,0}}. | |
- {move,{x,1},{y,1}}. | |
+ {gc_bif,'+',{f,0},10,[{x,1},{integer,1}],{x,0}}. | |
+ {allocate,6,10}. | |
+ {move,{x,7},{y,0}}. | |
+ {move,{x,8},{y,1}}. | |
+ {move,{x,5},{y,2}}. | |
+ {move,{x,6},{y,3}}. | |
+ {move,{x,2},{y,4}}. | |
+ {move,{x,1},{y,5}}. | |
{move,{x,0},{x,1}}. | |
- {move,{x,2},{y,0}}. | |
- {move,{x,4},{y,2}}. | |
- {move,{x,3},{y,3}}. | |
- {move,{x,6},{y,4}}. | |
- {move,{x,5},{y,5}}. | |
- {move,{x,7},{x,0}}. | |
+ {move,{x,9},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",118}]}. | |
- {call,3,{f,13}}. | |
- {test,is_tuple,{f,19},[{x,0}]}. | |
- {test,test_arity,{f,28},[{x,0},2]}. | |
+ {call,3,{f,12}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_union, | |
+ {t_atom,[fail]}, | |
+ none,none, | |
+ {t_tuple,2,true, | |
+ #{1 => {t_cons,any,any}, | |
+ 2 => {t_atom,[internal_node,new_branch,new_leaf]}}}, | |
+ none}}]}}. | |
+ {test,is_tuple,{f,15},[{x,0}]}. | |
{test_heap,9,1}. | |
{get_tuple_element,{x,0},0,{x,1}}. | |
- {get_tuple_element,{x,0},1,{x,2}}. | |
- {put_tuple,3,{x,3}}. | |
- {put,{y,5}}. | |
- {put,{y,4}}. | |
- {put,{x,1}}. | |
- {put_list,{x,3},{y,2},{x,1}}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{x,1}}. | |
- {put,{x,2}}. | |
+ {get_tuple_element,{x,0},1,{x,0}}. | |
+ {put_tuple2,{x,1},{list,[{y,0},{y,1},{x,1}]}}. | |
+ {put_list,{x,1},{y,3},{x,1}}. | |
+ {put_tuple2,{x,0},{list,[{x,1},{x,0}]}}. | |
{deallocate,6}. | |
return. | |
- {label,19}. | |
- {test,is_eq_exact,{f,28},[{x,0},{atom,fail}]}. | |
- {move,{y,1},{x,1}}. | |
- {move,{y,0},{x,2}}. | |
- {move,{y,2},{x,0}}. | |
+ {label,15}. | |
+ {move,{y,4},{x,2}}. | |
+ {move,{y,5},{x,1}}. | |
+ {move,{y,3},{x,0}}. | |
{kill,{y,0}}. | |
{kill,{y,1}}. | |
- {kill,{y,2}}. | |
+ {kill,{y,3}}. | |
{kill,{y,4}}. | |
{kill,{y,5}}. | |
{line,[{location,"couch_key_tree.erl",125}]}. | |
- {call,3,{f,13}}. | |
- {test,is_tuple,{f,20},[{x,0}]}. | |
- {test,test_arity,{f,27},[{x,0},2]}. | |
+ {call,3,{f,12}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_union, | |
+ {t_atom,[fail]}, | |
+ none,none, | |
+ {t_tuple,2,true, | |
+ #{1 => {t_cons,any,any}, | |
+ 2 => {t_atom,[internal_node,new_branch,new_leaf]}}}, | |
+ none}}]}}. | |
+ {test,is_tuple,{f,16},[{x,0}]}. | |
{test_heap,5,1}. | |
{get_tuple_element,{x,0},0,{x,1}}. | |
- {get_tuple_element,{x,0},1,{x,2}}. | |
- {put_list,{y,3},{x,1},{x,1}}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{x,1}}. | |
- {put,{x,2}}. | |
+ {get_tuple_element,{x,0},1,{x,0}}. | |
+ {put_list,{y,2},{x,1},{x,1}}. | |
+ {put_tuple2,{x,0},{list,[{x,1},{x,0}]}}. | |
{deallocate,6}. | |
return. | |
- {label,20}. | |
- {test,is_eq_exact,{f,27},[{x,0},{atom,fail}]}. | |
+ {label,16}. | |
+ {move,{atom,fail},{x,0}}. | |
{deallocate,6}. | |
return. | |
- {label,21}. | |
- {test,is_eq_exact,{f,12},[{x,1},{integer,0}]}. | |
- {test,is_nonempty_list,{f,24},[{x,2}]}. | |
- {get_list,{x,2},{x,8},{x,9}}. | |
- {test,is_tuple,{f,24},[{x,8}]}. | |
- {test,test_arity,{f,24},[{x,8},3]}. | |
- {test,is_nil,{f,24},[{x,9}]}. | |
- {get_tuple_element,{x,8},0,{x,10}}. | |
- {test,is_eq_exact,{f,22},[{x,10},{x,5}]}. | |
- {allocate,4,9}. | |
- {get_tuple_element,{x,8},1,{y,3}}. | |
- {get_tuple_element,{x,8},2,{x,1}}. | |
- {move,{x,4},{y,0}}. | |
- {move,{x,6},{y,1}}. | |
- {move,{x,5},{y,2}}. | |
- {move,{x,7},{x,0}}. | |
+ {label,17}. | |
+ {test,is_eq_exact,{f,11},[{x,1},{integer,0}]}. | |
+ {test,is_tuple,{f,20},[{x,3}]}. | |
+ {test,test_arity,{f,20},[{x,3},3]}. | |
+ {test,is_nil,{f,20},[{x,4}]}. | |
+ {get_tuple_element,{x,3},0,{x,4}}. | |
+ {test,is_eq_exact,{f,18},[{x,4},{x,7}]}. | |
+ {allocate,4,10}. | |
+ {move,{x,3},{y,0}}. | |
+ {move,{x,7},{y,1}}. | |
+ {move,{x,8},{y,2}}. | |
+ {move,{x,6},{y,3}}. | |
+ {get_tuple_element,{x,3},2,{x,1}}. | |
+ {move,{x,9},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",133}]}. | |
- {call,2,{f,32}}. | |
- {test,is_tuple,{f,29},[{x,0}]}. | |
- {test,test_arity,{f,29},[{x,0},2]}. | |
- {get_tuple_element,{x,0},0,{x,3}}. | |
- {get_tuple_element,{x,0},1,{x,2}}. | |
- {move,{y,3},{x,1}}. | |
- {move,{y,1},{x,0}}. | |
- {move,{x,3},{y,1}}. | |
- {move,{x,2},{y,3}}. | |
+ {call,2,{f,23}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_atom,[internal_node,new_branch,new_leaf]}}}}]}}. | |
+ {get_tuple_element,{y,0},1,{x,1}}. | |
+ {move,{y,2},{x,2}}. | |
+ {move,{x,0},{y,2}}. | |
+ {trim,1,3}. | |
+ {move,{x,2},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",134}]}. | |
- {call,2,{f,189}}. | |
+ {call,2,{f,162}}. | |
{test_heap,9,1}. | |
- {put_tuple,3,{x,1}}. | |
- {put,{y,2}}. | |
- {put,{x,0}}. | |
- {put,{y,1}}. | |
- {put_list,{x,1},{y,0},{x,1}}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{x,1}}. | |
- {put,{y,3}}. | |
- {deallocate,4}. | |
+ {get_tuple_element,{y,1},0,{x,1}}. | |
+ {get_tuple_element,{y,1},1,{x,2}}. | |
+ {put_tuple2,{x,0},{list,[{y,0},{x,0},{x,1}]}}. | |
+ {put_list,{x,0},{y,2},{x,0}}. | |
+ {put_tuple2,{x,0},{list,[{x,0},{x,2}]}}. | |
+ {deallocate,3}. | |
return. | |
- {label,22}. | |
- {test,is_lt,{f,24},[{x,10},{x,5}]}. | |
- {label,23}. | |
+ {label,18}. | |
+ {test,is_lt,{f,20},[{x,4},{x,7}]}. | |
+ {label,19}. | |
{move,{atom,fail},{x,0}}. | |
return. | |
- {label,24}. | |
- {test,is_eq_exact,{f,12},[{x,1},{integer,0}]}. | |
- {allocate,1,5}. | |
+ {label,20}. | |
+ {test,is_eq_exact,{f,11},[{x,1},{integer,0}]}. | |
+ {allocate,1,7}. | |
+ {move,{x,5},{y,0}}. | |
{move,{integer,0},{x,1}}. | |
- {move,{x,3},{y,0}}. | |
- {move,{x,4},{x,0}}. | |
+ {move,{x,6},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",140}]}. | |
- {call,3,{f,13}}. | |
- {test,is_tuple,{f,25},[{x,0}]}. | |
- {test,test_arity,{f,30},[{x,0},2]}. | |
+ {call,3,{f,12}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_union, | |
+ {t_atom,[fail]}, | |
+ none,none, | |
+ {t_tuple,2,true, | |
+ #{1 => {t_cons,any,any}, | |
+ 2 => {t_atom,[internal_node,new_branch,new_leaf]}}}, | |
+ none}}]}}. | |
+ {test,is_tuple,{f,21},[{x,0}]}. | |
{test_heap,5,1}. | |
{get_tuple_element,{x,0},0,{x,1}}. | |
- {get_tuple_element,{x,0},1,{x,2}}. | |
+ {get_tuple_element,{x,0},1,{x,0}}. | |
{put_list,{y,0},{x,1},{x,1}}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{x,1}}. | |
- {put,{x,2}}. | |
+ {put_tuple2,{x,0},{list,[{x,1},{x,0}]}}. | |
{deallocate,1}. | |
return. | |
- {label,25}. | |
- {test,is_eq_exact,{f,30},[{x,0},{atom,fail}]}. | |
+ {label,21}. | |
+ {move,{atom,fail},{x,0}}. | |
{deallocate,1}. | |
return. | |
- {label,26}. | |
- {line,[{location,"couch_key_tree.erl",107}]}. | |
- {case_end,{x,0}}. | |
- {label,27}. | |
- {line,[{location,"couch_key_tree.erl",125}]}. | |
- {case_end,{x,0}}. | |
- {label,28}. | |
- {line,[{location,"couch_key_tree.erl",118}]}. | |
- {case_end,{x,0}}. | |
- {label,29}. | |
- {line,[{location,"couch_key_tree.erl",133}]}. | |
- {badmatch,{x,0}}. | |
- {label,30}. | |
- {line,[{location,"couch_key_tree.erl",140}]}. | |
- {case_end,{x,0}}. | |
-{function, merge_extend, 2, 32}. | |
- {label,31}. | |
+{function, merge_extend, 2, 23}. | |
+ {label,22}. | |
{line,[{location,"couch_key_tree.erl",147}]}. | |
{func_info,{atom,couch_key_tree},{atom,merge_extend},2}. | |
- {label,32}. | |
- {test,is_nil,{f,33},[{x,0}]}. | |
- {test,is_ne_exact,{f,33},[{x,1},nil]}. | |
+ {label,23}. | |
+ {test,is_nil,{f,24},[{x,0}]}. | |
+ {test,is_ne_exact,{f,25},[{x,1},nil]}. | |
{test_heap,3,2}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{x,1}}. | |
- {put,{atom,new_leaf}}. | |
+ {put_tuple2,{x,0},{list,[{x,1},{atom,new_leaf}]}}. | |
return. | |
- {label,33}. | |
- {test,is_nil,{f,34},[{x,1}]}. | |
+ {label,24}. | |
+ {test,is_nil,{f,26},[{x,1}]}. | |
+ {label,25}. | |
{test_heap,3,1}. | |
- {put_tuple,2,{x,1}}. | |
- {put,{x,0}}. | |
- {put,{atom,internal_node}}. | |
- {move,{x,1},{x,0}}. | |
+ {put_tuple2,{x,0},{list,[{x,0},{atom,internal_node}]}}. | |
return. | |
- {label,34}. | |
- {test,is_nonempty_list,{f,31},[{x,0}]}. | |
+ {label,26}. | |
+ {test,is_nonempty_list,{f,22},[{x,0}]}. | |
{get_list,{x,0},{x,2},{x,3}}. | |
- {test,is_tuple,{f,36},[{x,2}]}. | |
- {test,test_arity,{f,36},[{x,2},3]}. | |
- {get_tuple_element,{x,2},0,{x,4}}. | |
- {get_tuple_element,{x,2},1,{x,5}}. | |
- {get_tuple_element,{x,2},2,{x,6}}. | |
- {test,is_nonempty_list,{f,36},[{x,1}]}. | |
- {get_list,{x,1},{x,7},{x,8}}. | |
- {test,is_tuple,{f,36},[{x,7}]}. | |
- {test,test_arity,{f,36},[{x,7},3]}. | |
- {test,is_nil,{f,36},[{x,8}]}. | |
- {get_tuple_element,{x,7},0,{x,9}}. | |
- {test,is_eq_exact,{f,35},[{x,9},{x,4}]}. | |
+ {test,is_tuple,{f,28},[{x,2}]}. | |
+ {test,test_arity,{f,28},[{x,2},3]}. | |
+ {test,is_nonempty_list,{f,28},[{x,1}]}. | |
+ {get_list,{x,1},{x,4},{x,5}}. | |
+ {test,is_tuple,{f,28},[{x,4}]}. | |
+ {test,test_arity,{f,28},[{x,4},3]}. | |
+ {get_tuple_element,{x,4},1,{x,6}}. | |
+ {test,is_nil,{f,28},[{x,5}]}. | |
+ {get_tuple_element,{x,4},0,{x,5}}. | |
+ {get_tuple_element,{x,2},0,{x,7}}. | |
+ {test,is_eq_exact,{f,27},[{x,5},{x,7}]}. | |
{allocate,4,8}. | |
- {get_tuple_element,{x,7},1,{y,3}}. | |
- {get_tuple_element,{x,7},2,{x,1}}. | |
- {move,{x,3},{y,0}}. | |
- {move,{x,5},{y,1}}. | |
- {move,{x,4},{y,2}}. | |
- {move,{x,6},{x,0}}. | |
+ {move,{x,6},{y,0}}. | |
+ {move,{x,7},{y,1}}. | |
+ {move,{x,2},{y,2}}. | |
+ {move,{x,3},{y,3}}. | |
+ {get_tuple_element,{x,4},2,{x,1}}. | |
+ {get_tuple_element,{x,2},2,{x,0}}. | |
{line,[{location,"couch_key_tree.erl",161}]}. | |
- {call,2,{f,32}}. | |
- {test,is_tuple,{f,39},[{x,0}]}. | |
- {test,test_arity,{f,39},[{x,0},2]}. | |
- {get_tuple_element,{x,0},0,{x,3}}. | |
- {get_tuple_element,{x,0},1,{x,2}}. | |
- {move,{y,3},{x,1}}. | |
- {move,{y,1},{x,0}}. | |
- {move,{x,3},{y,1}}. | |
- {move,{x,2},{y,3}}. | |
+ {call,2,{f,23}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_atom,[internal_node,new_branch,new_leaf]}}}}]}}. | |
+ {get_tuple_element,{y,2},1,{x,1}}. | |
+ {move,{x,0},{y,2}}. | |
+ {move,{y,0},{x,2}}. | |
+ {move,{x,1},{x,0}}. | |
+ {move,{x,2},{x,1}}. | |
+ {trim,1,3}. | |
{line,[{location,"couch_key_tree.erl",162}]}. | |
- {call,2,{f,189}}. | |
+ {call,2,{f,162}}. | |
{test_heap,9,1}. | |
- {put_tuple,3,{x,1}}. | |
- {put,{y,2}}. | |
- {put,{x,0}}. | |
- {put,{y,1}}. | |
- {put_list,{x,1},{y,0},{x,1}}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{x,1}}. | |
- {put,{y,3}}. | |
- {deallocate,4}. | |
+ {get_tuple_element,{y,1},0,{x,1}}. | |
+ {get_tuple_element,{y,1},1,{x,2}}. | |
+ {put_tuple2,{x,0},{list,[{y,0},{x,0},{x,1}]}}. | |
+ {put_list,{x,0},{y,2},{x,0}}. | |
+ {put_tuple2,{x,0},{list,[{x,0},{x,2}]}}. | |
+ {deallocate,3}. | |
return. | |
- {label,35}. | |
- {test,is_lt,{f,36},[{x,9},{x,4}]}. | |
- {test_heap,5,8}. | |
- {put_list,{x,7},{x,0},{x,1}}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{x,1}}. | |
- {put,{atom,new_branch}}. | |
+ {label,27}. | |
+ {test,is_lt,{f,28},[{x,5},{x,7}]}. | |
+ {test_heap,5,5}. | |
+ {put_list,{x,4},{x,0},{x,0}}. | |
+ {put_tuple2,{x,0},{list,[{x,0},{atom,new_branch}]}}. | |
return. | |
- {label,36}. | |
+ {label,28}. | |
{allocate,2,4}. | |
- {move,{x,3},{y,0}}. | |
- {move,{x,2},{y,1}}. | |
+ {move,{x,2},{y,0}}. | |
+ {move,{x,3},{y,1}}. | |
{move,{x,3},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",173}]}. | |
- {call,2,{f,32}}. | |
- {test,is_tuple,{f,40},[{x,0}]}. | |
- {test,test_arity,{f,40},[{x,0},2]}. | |
+ {call,2,{f,23}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_atom,[internal_node,new_branch,new_leaf]}}}}]}}. | |
{get_tuple_element,{x,0},0,{x,1}}. | |
- {get_tuple_element,{x,0},1,{x,2}}. | |
{line,[{location,"couch_key_tree.erl",175}]}. | |
- {gc_bif,length,{f,0},3,[{x,1}],{x,0}}. | |
+ {gc_bif,length,{f,0},2,[{x,1}],{x,2}}. | |
{line,[{location,"couch_key_tree.erl",175}]}. | |
- {gc_bif,length,{f,0},3,[{y,0}],{x,3}}. | |
- {move,{x,1},{y,0}}. | |
- {test,is_eq_exact,{f,37},[{x,0},{x,3}]}. | |
- {move,{x,2},{x,0}}. | |
- {jump,{f,38}}. | |
- {label,37}. | |
- {move,{atom,new_branch},{x,0}}. | |
- {label,38}. | |
- {test_heap,5,1}. | |
- {put_list,{y,1},{y,0},{x,1}}. | |
- {put_tuple,2,{x,2}}. | |
- {put,{x,1}}. | |
- {put,{x,0}}. | |
- {move,{x,2},{x,0}}. | |
+ {gc_bif,length,{f,0},3,[{y,1}],{x,3}}. | |
+ {test,is_eq_exact,{f,29},[{x,2},{x,3}]}. | |
+ {test_heap,5,2}. | |
+ {get_tuple_element,{x,0},1,{x,0}}. | |
+ {put_list,{y,0},{x,1},{x,1}}. | |
+ {put_tuple2,{x,0},{list,[{x,1},{x,0}]}}. | |
+ {deallocate,2}. | |
+ return. | |
+ {label,29}. | |
+ {test_heap,5,2}. | |
+ {put_list,{y,0},{x,1},{x,0}}. | |
+ {put_tuple2,{x,0},{list,[{x,0},{atom,new_branch}]}}. | |
{deallocate,2}. | |
return. | |
- {label,39}. | |
- {line,[{location,"couch_key_tree.erl",161}]}. | |
- {badmatch,{x,0}}. | |
- {label,40}. | |
- {line,[{location,"couch_key_tree.erl",173}]}. | |
- {badmatch,{x,0}}. | |
-{function, find_missing, 2, 42}. | |
- {label,41}. | |
+{function, find_missing, 2, 31}. | |
+ {label,30}. | |
{line,[{location,"couch_key_tree.erl",181}]}. | |
{func_info,{atom,couch_key_tree},{atom,find_missing},2}. | |
- {label,42}. | |
- {test,is_nil,{f,43},[{x,1}]}. | |
+ {label,31}. | |
+ {test,is_nil,{f,32},[{x,1}]}. | |
{move,nil,{x,0}}. | |
return. | |
- {label,43}. | |
- {test,is_nonempty_list,{f,44},[{x,0}]}. | |
+ {label,32}. | |
+ {test,is_nonempty_list,{f,33},[{x,0}]}. | |
{get_list,{x,0},{x,2},{x,3}}. | |
- {test,is_tuple,{f,41},[{x,2}]}. | |
- {test,test_arity,{f,41},[{x,2},2]}. | |
- {get_tuple_element,{x,2},0,{x,4}}. | |
- {get_tuple_element,{x,2},1,{x,5}}. | |
- {test,is_tuple,{f,41},[{x,5}]}. | |
- {test,test_arity,{f,41},[{x,5},3]}. | |
- {allocate,4,6}. | |
+ {test,is_tuple,{f,30},[{x,2}]}. | |
+ {test,test_arity,{f,30},[{x,2},2]}. | |
+ {get_tuple_element,{x,2},1,{x,4}}. | |
+ {test,is_tuple,{f,30},[{x,4}]}. | |
+ {test,test_arity,{f,30},[{x,4},3]}. | |
+ {allocate,4,5}. | |
+ {move,{x,4},{y,1}}. | |
+ {move,{x,3},{y,2}}. | |
+ {move,{x,1},{y,3}}. | |
+ {get_tuple_element,{x,2},0,{y,0}}. | |
{move,{x,1},{x,0}}. | |
- {move,{x,4},{x,1}}. | |
- {move,{x,0},{y,0}}. | |
- {move,{x,5},{y,1}}. | |
- {move,{x,1},{y,2}}. | |
- {move,{x,3},{y,3}}. | |
+ {move,{y,0},{x,1}}. | |
{line,[{location,"couch_key_tree.erl",186}]}. | |
- {call,2,{f,296}}. | |
- {move,{x,0},{x,2}}. | |
- {move,{y,2},{x,1}}. | |
- {move,{y,0},{x,0}}. | |
- {move,{x,2},{y,0}}. | |
+ {call,2,{f,263}}. | |
+ {'%',{var_info,{x,0},[{type,{t_list,{t_tuple,2,true,#{}},nil}}]}}. | |
+ {move,{y,0},{x,2}}. | |
+ {swap,{y,3},{x,0}}. | |
+ {move,{x,2},{x,1}}. | |
{line,[{location,"couch_key_tree.erl",187}]}. | |
- {call,2,{f,291}}. | |
+ {call,2,{f,258}}. | |
+ {'%',{var_info,{x,0},[{type,{t_list,{t_tuple,2,true,#{}},nil}}]}}. | |
{test_heap,2,1}. | |
{put_list,{y,1},nil,{x,1}}. | |
- {move,{x,0},{y,1}}. | |
- {move,{y,0},{x,2}}. | |
- {move,{y,2},{x,0}}. | |
- {kill,{y,2}}. | |
- {trim,1,3}. | |
+ {move,{y,3},{x,3}}. | |
+ {move,{x,0},{y,3}}. | |
+ {move,{y,0},{x,0}}. | |
+ {move,{x,3},{x,2}}. | |
+ {trim,2,2}. | |
{line,[{location,"couch_key_tree.erl",188}]}. | |
- {call,3,{f,46}}. | |
+ {call,3,{f,35}}. | |
+ {'%',{var_info,{x,0},[{type,{t_list,{t_tuple,2,true,#{}},nil}}]}}. | |
{move,{x,0},{x,1}}. | |
- {move,{y,0},{x,0}}. | |
- {trim,2,1}. | |
+ {move,{y,1},{x,0}}. | |
+ {kill,{y,1}}. | |
{line,[{location,"couch_key_tree.erl",189}]}. | |
{call_ext,2,{extfunc,erlang,'++',2}}. | |
{move,{x,0},{x,1}}. | |
{move,{y,0},{x,0}}. | |
- {call_last,2,{f,42},1}. | |
- {label,44}. | |
- {test,is_nil,{f,41},[{x,0}]}. | |
+ {call_last,2,{f,31},2}. | |
+ {label,33}. | |
+ {test,is_nil,{f,30},[{x,0}]}. | |
{move,{x,1},{x,0}}. | |
return. | |
-{function, find_missing_simple, 3, 46}. | |
- {label,45}. | |
+{function, find_missing_simple, 3, 35}. | |
+ {label,34}. | |
{line,[{location,"couch_key_tree.erl",191}]}. | |
{func_info,{atom,couch_key_tree},{atom,find_missing_simple},3}. | |
- {label,46}. | |
- {test,is_nil,{f,47},[{x,2}]}. | |
+ {label,35}. | |
+ {'%',{var_info,{x,2},[{type,{t_list,{t_tuple,2,true,#{}},nil}}]}}. | |
+ {test,is_nil,{f,36},[{x,2}]}. | |
{move,nil,{x,0}}. | |
return. | |
- {label,47}. | |
- {test,is_nonempty_list,{f,48},[{x,1}]}. | |
+ {label,36}. | |
+ {test,is_nonempty_list,{f,37},[{x,1}]}. | |
{get_list,{x,1},{x,3},{x,4}}. | |
- {test,is_tuple,{f,45},[{x,3}]}. | |
- {test,test_arity,{f,45},[{x,3},3]}. | |
+ {test,is_tuple,{f,34},[{x,3}]}. | |
+ {test,test_arity,{f,34},[{x,3},3]}. | |
{allocate,5,5}. | |
- {get_tuple_element,{x,3},0,{y,1}}. | |
- {get_tuple_element,{x,3},2,{y,2}}. | |
+ {move,{x,3},{y,1}}. | |
+ {move,{x,4},{y,2}}. | |
+ {move,{x,2},{y,3}}. | |
+ {move,{x,0},{y,4}}. | |
+ {get_tuple_element,{x,3},2,{y,0}}. | |
{move,{x,0},{x,1}}. | |
- {move,{x,2},{y,0}}. | |
- {move,{x,1},{y,3}}. | |
- {move,{x,4},{y,4}}. | |
{move,{x,2},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",196}]}. | |
- {call,2,{f,286}}. | |
- {move,{x,0},{x,2}}. | |
- {move,{y,3},{x,1}}. | |
- {move,{y,0},{x,0}}. | |
- {move,{x,2},{y,0}}. | |
+ {call,2,{f,254}}. | |
+ {'%',{var_info,{x,0},[{type,{t_list,{t_tuple,2,true,#{}},nil}}]}}. | |
+ {move,{y,4},{x,2}}. | |
+ {swap,{y,3},{x,0}}. | |
+ {move,{x,2},{x,1}}. | |
{line,[{location,"couch_key_tree.erl",197}]}. | |
- {call,2,{f,281}}. | |
+ {call,2,{f,250}}. | |
+ {'%',{var_info,{x,0},[{type,{t_list,{t_tuple,2,true,#{}},nil}}]}}. | |
{test_heap,5,1}. | |
- {put_tuple,2,{x,2}}. | |
- {put,{y,3}}. | |
- {put,{y,1}}. | |
- {move,{x,0},{y,1}}. | |
- {put_list,{x,2},nil,{x,1}}. | |
- {move,{y,0},{x,0}}. | |
- {trim,1,4}. | |
+ {get_tuple_element,{y,1},0,{x,1}}. | |
+ {put_tuple2,{x,1},{list,[{y,4},{x,1}]}}. | |
+ {put_list,{x,1},nil,{x,1}}. | |
+ {move,{y,3},{x,2}}. | |
+ {move,{x,0},{y,3}}. | |
+ {kill,{y,1}}. | |
+ {move,{x,2},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",199}]}. | |
{call_ext,2,{extfunc,erlang,'--',2}}. | |
{line,[{location,"couch_key_tree.erl",200}]}. | |
- {gc_bif,'+',{f,0},1,[{y,2},{integer,1}],{x,1}}. | |
+ {gc_bif,'+',{f,0},1,[{y,4},{integer,1}],{x,1}}. | |
{move,{x,0},{x,2}}. | |
{move,{x,1},{x,0}}. | |
- {move,{y,1},{x,1}}. | |
- {kill,{y,1}}. | |
+ {move,{y,0},{x,1}}. | |
+ {trim,2,3}. | |
{line,[{location,"couch_key_tree.erl",200}]}. | |
- {call,3,{f,46}}. | |
- {move,{y,3},{x,1}}. | |
+ {call,3,{f,35}}. | |
+ {'%',{var_info,{x,0},[{type,{t_list,{t_tuple,2,true,#{}},nil}}]}}. | |
+ {move,{y,0},{x,1}}. | |
{move,{x,0},{x,2}}. | |
{move,{y,2},{x,0}}. | |
- {kill,{y,2}}. | |
- {kill,{y,3}}. | |
+ {move,{y,1},{y,2}}. | |
+ {trim,2,1}. | |
{line,[{location,"couch_key_tree.erl",201}]}. | |
- {call,3,{f,46}}. | |
+ {call,3,{f,35}}. | |
+ {'%',{var_info,{x,0},[{type,{t_list,{t_tuple,2,true,#{}},nil}}]}}. | |
{move,{x,0},{x,1}}. | |
{move,{y,0},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",201}]}. | |
- {call_ext_last,2,{extfunc,erlang,'++',2},4}. | |
- {label,48}. | |
- {test,is_nil,{f,45},[{x,1}]}. | |
+ {call_ext_last,2,{extfunc,erlang,'++',2},1}. | |
+ {label,37}. | |
+ {test,is_nil,{f,34},[{x,1}]}. | |
{move,{x,2},{x,0}}. | |
return. | |
-{function, filter_leafs, 4, 50}. | |
- {label,49}. | |
+{function, filter_leafs, 4, 39}. | |
+ {label,38}. | |
{line,[{location,"couch_key_tree.erl",203}]}. | |
{func_info,{atom,couch_key_tree},{atom,filter_leafs},4}. | |
- {label,50}. | |
- {test,is_nonempty_list,{f,52},[{x,0}]}. | |
- {get_list,{x,0},{x,4},{x,5}}. | |
- {test,is_tuple,{f,49},[{x,4}]}. | |
- {test,test_arity,{f,49},[{x,4},2]}. | |
- {get_tuple_element,{x,4},0,{x,6}}. | |
- {get_tuple_element,{x,4},1,{x,7}}. | |
- {test,is_nonempty_list,{f,49},[{x,7}]}. | |
- {get_hd,{x,7},{x,8}}. | |
- {test,is_tuple,{f,49},[{x,8}]}. | |
- {test,test_arity,{f,49},[{x,8},2]}. | |
- {allocate_heap,7,3,9}. | |
- {get_tuple_element,{x,8},0,{y,0}}. | |
- {move,{x,3},{y,6}}. | |
+ {label,39}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_cons,{t_tuple,2,true,#{}},nil}}}, | |
+ nil}}]}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,2}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_cons,{t_tuple,2,true,#{}},nil}}}, | |
+ nil}}]}}. | |
+ {'%',{var_info,{x,3},[{type,{t_list,{t_tuple,2,true,#{}},nil}}]}}. | |
+ {test,is_nonempty_list,{f,41},[{x,0}]}. | |
+ {allocate_heap,7,3,4}. | |
+ {move,{x,3},{y,4}}. | |
{move,{x,2},{y,5}}. | |
- {move,{x,1},{y,4}}. | |
- {move,{x,5},{y,3}}. | |
- {move,{x,4},{y,2}}. | |
- {move,{x,6},{y,1}}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{x,6}}. | |
- {put,{y,0}}. | |
+ {move,{x,1},{y,6}}. | |
+ {get_list,{x,0},{y,3},{y,2}}. | |
+ {get_tuple_element,{y,3},1,{x,0}}. | |
+ {get_hd,{x,0},{x,0}}. | |
+ {get_tuple_element,{y,3},0,{y,1}}. | |
+ {get_tuple_element,{x,0},0,{y,0}}. | |
+ {put_tuple2,{x,0},{list,[{y,1},{y,0}]}}. | |
{line,[{location,"couch_key_tree.erl",206}]}. | |
{call_ext,2,{extfunc,lists,delete,2}}. | |
- {test,is_eq,{f,51},[{x,0},{y,4}]}. | |
+ {test,is_eq,{f,40},[{x,0},{y,6}]}. | |
{test_heap,2,0}. | |
- {put_list,{y,2},{y,5},{x,2}}. | |
- {move,{y,4},{x,1}}. | |
- {move,{y,6},{x,3}}. | |
- {move,{y,3},{x,0}}. | |
- {call_last,4,{f,50},7}. | |
- {label,51}. | |
+ {put_list,{y,3},{y,5},{x,2}}. | |
+ {move,{y,4},{x,3}}. | |
+ {move,{y,6},{x,1}}. | |
+ {move,{y,2},{x,0}}. | |
+ {call_last,4,{f,39},7}. | |
+ {label,40}. | |
{test_heap,5,1}. | |
- {put_tuple,2,{x,4}}. | |
- {put,{y,1}}. | |
- {put,{y,0}}. | |
- {put_list,{x,4},{y,6},{x,3}}. | |
+ {put_tuple2,{x,1},{list,[{y,1},{y,0}]}}. | |
+ {put_list,{x,1},{y,4},{x,3}}. | |
{move,{x,0},{x,1}}. | |
{move,{y,5},{x,2}}. | |
- {move,{y,3},{x,0}}. | |
- {call_last,4,{f,50},7}. | |
- {label,52}. | |
- {test,is_nil,{f,49},[{x,0}]}. | |
+ {move,{y,2},{x,0}}. | |
+ {call_last,4,{f,39},7}. | |
+ {label,41}. | |
{test_heap,3,4}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{x,2}}. | |
- {put,{x,3}}. | |
+ {put_tuple2,{x,0},{list,[{x,2},{x,3}]}}. | |
return. | |
-{function, remove_leafs, 2, 54}. | |
- {label,53}. | |
+{function, remove_leafs, 2, 43}. | |
+ {label,42}. | |
{line,[{location,"couch_key_tree.erl",217}]}. | |
{func_info,{atom,couch_key_tree},{atom,remove_leafs},2}. | |
- {label,54}. | |
+ {label,43}. | |
{allocate_zero,2,2}. | |
{move,{x,1},{y,1}}. | |
{line,[{location,"couch_key_tree.erl",219}]}. | |
- {call,1,{f,98}}. | |
+ {call,1,{f,74}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_cons,{t_tuple,2,true,#{}},nil}}}, | |
+ nil}}]}}. | |
{move,nil,{x,2}}. | |
{move,nil,{x,3}}. | |
{move,{y,1},{x,1}}. | |
{kill,{y,1}}. | |
{line,[{location,"couch_key_tree.erl",222}]}. | |
- {call,4,{f,50}}. | |
- {test,is_tuple,{f,55},[{x,0}]}. | |
- {test,test_arity,{f,55},[{x,0},2]}. | |
+ {call,4,{f,39}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{1 => | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_cons,{t_tuple,0,false,#{}},nil}}}, | |
+ nil}, | |
+ 2 => {t_list,{t_tuple,2,true,#{}},nil}}}}]}}. | |
+ {get_tuple_element,{x,0},0,{x,1}}. | |
{get_tuple_element,{x,0},1,{y,1}}. | |
- {get_tuple_element,{x,0},0,{x,0}}. | |
+ {move,{x,1},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",225}]}. | |
- {call,1,{f,277}}. | |
+ {call,1,{f,247}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{1 => number, | |
+ 2 => {t_cons,{t_tuple,0,false,#{}},nil}}}, | |
+ nil}}]}}. | |
{line,[{location,"couch_key_tree.erl",224}]}. | |
{call_ext,1,{extfunc,lists,sort,1}}. | |
{move,{x,0},{y,0}}. | |
- {make_fun2,{f,271},0,0,0}. | |
+ {make_fun2,{f,242},0,0,0}. | |
+ {'%',{var_info,{x,0},[{fun_type,{t_list,any,nil}}]}}. | |
{move,{y,0},{x,2}}. | |
{move,nil,{x,1}}. | |
{trim,1,1}. | |
{line,[{location,"couch_key_tree.erl",229}]}. | |
{call_ext,3,{extfunc,lists,foldl,3}}. | |
{test_heap,3,1}. | |
- {put_tuple,2,{x,1}}. | |
- {put,{x,0}}. | |
- {put,{y,0}}. | |
- {move,{x,1},{x,0}}. | |
+ {put_tuple2,{x,0},{list,[{x,0},{y,0}]}}. | |
{deallocate,1}. | |
return. | |
- {label,55}. | |
- {line,[{location,"couch_key_tree.erl",222}]}. | |
- {badmatch,{x,0}}. | |
-{function, get_key_leafs, 2, 57}. | |
- {label,56}. | |
+{function, get_key_leafs, 2, 45}. | |
+ {label,44}. | |
{line,[{location,"couch_key_tree.erl",245}]}. | |
{func_info,{atom,couch_key_tree},{atom,get_key_leafs},2}. | |
- {label,57}. | |
+ {label,45}. | |
{move,nil,{x,2}}. | |
- {call_only,3,{f,59}}. | |
+ {call_only,3,{f,47}}. | |
-{function, get_key_leafs, 3, 59}. | |
- {label,58}. | |
+{function, get_key_leafs, 3, 47}. | |
+ {label,46}. | |
{line,[{location,"couch_key_tree.erl",248}]}. | |
{func_info,{atom,couch_key_tree},{atom,get_key_leafs},3}. | |
- {label,59}. | |
- {test,is_nil,{f,60},[{x,1}]}. | |
+ {label,47}. | |
+ {'%', | |
+ {var_info, | |
+ {x,2}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_tuple,2,true,#{2 => {t_cons,any,any}}}}}, | |
+ nil}}]}}. | |
+ {test,is_nil,{f,48},[{x,1}]}. | |
{test_heap,3,3}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{x,2}}. | |
- {put,nil}. | |
+ {put_tuple2,{x,0},{list,[{x,2},nil]}}. | |
return. | |
- {label,60}. | |
- {test,is_nonempty_list,{f,61},[{x,0}]}. | |
+ {label,48}. | |
+ {test,is_nonempty_list,{f,49},[{x,0}]}. | |
{get_list,{x,0},{x,3},{x,4}}. | |
- {test,is_tuple,{f,58},[{x,3}]}. | |
- {test,test_arity,{f,58},[{x,3},2]}. | |
+ {test,is_tuple,{f,46},[{x,3}]}. | |
+ {test,test_arity,{f,46},[{x,3},2]}. | |
{allocate_heap,2,2,5}. | |
- {get_tuple_element,{x,3},0,{x,0}}. | |
- {get_tuple_element,{x,3},1,{x,6}}. | |
- {move,{x,2},{y,1}}. | |
{move,{x,4},{y,0}}. | |
- {put_list,{x,6},nil,{x,6}}. | |
- {move,{x,1},{x,2}}. | |
- {move,{x,6},{x,1}}. | |
+ {move,{x,2},{y,1}}. | |
+ {get_tuple_element,{x,3},1,{x,0}}. | |
+ {put_list,{x,0},nil,{x,0}}. | |
+ {get_tuple_element,{x,3},0,{x,2}}. | |
{move,nil,{x,3}}. | |
+ {swap,{x,1},{x,2}}. | |
+ {swap,{x,0},{x,1}}. | |
{line,[{location,"couch_key_tree.erl",253}]}. | |
- {call,4,{f,64}}. | |
- {test,is_tuple,{f,62},[{x,0}]}. | |
- {test,test_arity,{f,62},[{x,0},2]}. | |
- {get_tuple_element,{x,0},1,{x,2}}. | |
- {get_tuple_element,{x,0},0,{x,0}}. | |
- {move,{y,1},{x,1}}. | |
- {move,{x,2},{y,1}}. | |
+ {call,4,{f,51}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{1 => | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_tuple,2,true,#{2 => {t_cons,any,any}}}}}, | |
+ nil}}}}]}}. | |
+ {get_tuple_element,{x,0},0,{x,1}}. | |
+ {move,{y,1},{x,2}}. | |
+ {move,{x,0},{y,1}}. | |
+ {move,{x,1},{x,0}}. | |
+ {move,{x,2},{x,1}}. | |
{line,[{location,"couch_key_tree.erl",254}]}. | |
{call_ext,2,{extfunc,erlang,'++',2}}. | |
- {move,{y,1},{x,1}}. | |
+ {get_tuple_element,{y,1},1,{x,1}}. | |
{move,{x,0},{x,2}}. | |
{move,{y,0},{x,0}}. | |
- {call_last,3,{f,59},2}. | |
- {label,61}. | |
- {test,is_nil,{f,58},[{x,0}]}. | |
+ {call_last,3,{f,47},2}. | |
+ {label,49}. | |
+ {test,is_nil,{f,46},[{x,0}]}. | |
{test_heap,3,3}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{x,2}}. | |
- {put,{x,1}}. | |
+ {put_tuple2,{x,0},{list,[{x,2},{x,1}]}}. | |
return. | |
- {label,62}. | |
- {line,[{location,"couch_key_tree.erl",253}]}. | |
- {badmatch,{x,0}}. | |
-{function, get_key_leafs_simple, 4, 64}. | |
- {label,63}. | |
+{function, get_key_leafs_simple, 4, 51}. | |
+ {label,50}. | |
{line,[{location,"couch_key_tree.erl",256}]}. | |
{func_info,{atom,couch_key_tree},{atom,get_key_leafs_simple},4}. | |
- {label,64}. | |
- {test,is_nil,{f,65},[{x,2}]}. | |
+ {label,51}. | |
+ {'%',{var_info,{x,3},[{type,{t_list,any,nil}}]}}. | |
+ {test,is_nil,{f,52},[{x,2}]}. | |
{move,{literal,{[],[]}},{x,0}}. | |
return. | |
- {label,65}. | |
- {test,is_nonempty_list,{f,67},[{x,1}]}. | |
+ {label,52}. | |
+ {test,is_nonempty_list,{f,54},[{x,1}]}. | |
{get_list,{x,1},{x,4},{x,5}}. | |
- {test,is_tuple,{f,63},[{x,4}]}. | |
- {test,test_arity,{f,63},[{x,4},3]}. | |
- {allocate_heap,7,3,6}. | |
+ {test,is_tuple,{f,50},[{x,4}]}. | |
+ {test,test_arity,{f,50},[{x,4},3]}. | |
+ {allocate_heap,6,3,6}. | |
+ {move,{x,4},{y,1}}. | |
+ {move,{x,5},{y,2}}. | |
+ {move,{x,3},{y,3}}. | |
+ {move,{x,2},{y,4}}. | |
+ {move,{x,0},{y,5}}. | |
{get_tuple_element,{x,4},0,{y,0}}. | |
- {get_tuple_element,{x,4},2,{y,1}}. | |
- {move,{x,3},{y,6}}. | |
- {move,{x,2},{y,5}}. | |
- {move,{x,0},{y,4}}. | |
- {move,{x,5},{y,3}}. | |
- {move,{x,4},{y,2}}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{y,4}}. | |
- {put,{y,0}}. | |
+ {put_tuple2,{x,0},{list,[{x,0},{y,0}]}}. | |
{move,{x,2},{x,1}}. | |
{line,[{location,"couch_key_tree.erl",261}]}. | |
{call_ext,2,{extfunc,lists,delete,2}}. | |
- {test,is_eq_exact,{f,66},[{x,0},{y,5}]}. | |
+ {test,is_eq_exact,{f,53},[{x,0},{y,4}]}. | |
{test_heap,2,0}. | |
- {put_list,{y,0},{y,6},{x,0}}. | |
+ {put_list,{y,0},{y,3},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",265}]}. | |
- {gc_bif,'+',{f,0},1,[{y,4},{integer,1}],{x,1}}. | |
- {move,{y,5},{x,2}}. | |
+ {gc_bif,'+',{f,0},1,[{y,5},{integer,1}],{x,1}}. | |
+ {get_tuple_element,{y,1},2,{x,2}}. | |
{move,{x,0},{x,3}}. | |
{move,{x,1},{x,0}}. | |
- {move,{y,1},{x,1}}. | |
- {move,{y,3},{y,5}}. | |
- {trim,4,3}. | |
+ {move,{x,2},{x,1}}. | |
+ {move,{y,4},{x,2}}. | |
+ {kill,{y,4}}. | |
+ {trim,2,4}. | |
{line,[{location,"couch_key_tree.erl",265}]}. | |
- {call,4,{f,64}}. | |
- {test,is_tuple,{f,69},[{x,0}]}. | |
- {test,test_arity,{f,69},[{x,0},2]}. | |
- {get_tuple_element,{x,0},1,{x,2}}. | |
- {move,{y,1},{x,1}}. | |
- {move,{y,2},{x,3}}. | |
+ {call,4,{f,51}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{1 => | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_tuple,2,true,#{2 => {t_cons,any,any}}}}}, | |
+ nil}}}}]}}. | |
{get_tuple_element,{x,0},0,{y,2}}. | |
- {move,{y,0},{x,0}}. | |
- {trim,2,1}. | |
+ {get_tuple_element,{x,0},1,{x,2}}. | |
+ {move,{y,0},{x,1}}. | |
+ {move,{y,1},{x,3}}. | |
+ {move,{y,3},{x,0}}. | |
+ {kill,{y,3}}. | |
+ {trim,2,2}. | |
{line,[{location,"couch_key_tree.erl",266}]}. | |
- {call,4,{f,64}}. | |
- {test,is_tuple,{f,68},[{x,0}]}. | |
- {test,test_arity,{f,68},[{x,0},2]}. | |
+ {call,4,{f,51}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{1 => | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_tuple,2,true,#{2 => {t_cons,any,any}}}}}, | |
+ nil}}}}]}}. | |
{get_tuple_element,{x,0},0,{x,1}}. | |
- {get_tuple_element,{x,0},1,{x,2}}. | |
+ {move,{x,0},{y,1}}. | |
{move,{y,0},{x,0}}. | |
- {move,{x,2},{y,0}}. | |
+ {trim,1,1}. | |
{line,[{location,"couch_key_tree.erl",267}]}. | |
{call_ext,2,{extfunc,erlang,'++',2}}. | |
{test_heap,3,1}. | |
- {put_tuple,2,{x,1}}. | |
- {put,{x,0}}. | |
- {put,{y,0}}. | |
- {move,{x,1},{x,0}}. | |
+ {get_tuple_element,{y,0},1,{x,1}}. | |
+ {put_tuple2,{x,0},{list,[{x,0},{x,1}]}}. | |
{deallocate,1}. | |
return. | |
- {label,66}. | |
+ {label,53}. | |
{test_heap,2,1}. | |
- {put_list,{y,2},nil,{x,1}}. | |
+ {put_list,{y,1},nil,{x,1}}. | |
{move,{x,0},{x,2}}. | |
- {move,{y,6},{x,3}}. | |
- {move,{y,4},{x,0}}. | |
- {move,{y,3},{y,5}}. | |
- {trim,4,3}. | |
+ {move,{y,3},{x,3}}. | |
+ {kill,{y,4}}. | |
+ {trim,2,4}. | |
+ {move,{y,3},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",273}]}. | |
- {call,4,{f,73}}. | |
- {test,is_tuple,{f,71},[{x,0}]}. | |
- {test,test_arity,{f,71},[{x,0},2]}. | |
- {get_tuple_element,{x,0},1,{x,2}}. | |
- {move,{y,1},{x,1}}. | |
- {move,{y,2},{x,3}}. | |
+ {call,4,{f,56}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{1 => | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_tuple,2,true,#{2 => {t_cons,any,any}}}}}, | |
+ nil}}}}]}}. | |
{get_tuple_element,{x,0},0,{y,2}}. | |
- {move,{y,0},{x,0}}. | |
- {trim,2,1}. | |
+ {get_tuple_element,{x,0},1,{x,2}}. | |
+ {move,{y,0},{x,1}}. | |
+ {move,{y,1},{x,3}}. | |
+ {move,{y,3},{x,0}}. | |
+ {kill,{y,3}}. | |
+ {trim,2,2}. | |
{line,[{location,"couch_key_tree.erl",274}]}. | |
- {call,4,{f,64}}. | |
- {test,is_tuple,{f,70},[{x,0}]}. | |
- {test,test_arity,{f,70},[{x,0},2]}. | |
+ {call,4,{f,51}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{1 => | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_tuple,2,true,#{2 => {t_cons,any,any}}}}}, | |
+ nil}}}}]}}. | |
{get_tuple_element,{x,0},0,{x,1}}. | |
- {get_tuple_element,{x,0},1,{x,2}}. | |
+ {move,{x,0},{y,1}}. | |
{move,{y,0},{x,0}}. | |
- {move,{x,2},{y,0}}. | |
+ {trim,1,1}. | |
{line,[{location,"couch_key_tree.erl",275}]}. | |
{call_ext,2,{extfunc,erlang,'++',2}}. | |
{test_heap,3,1}. | |
- {put_tuple,2,{x,1}}. | |
- {put,{x,0}}. | |
- {put,{y,0}}. | |
- {move,{x,1},{x,0}}. | |
+ {get_tuple_element,{y,0},1,{x,1}}. | |
+ {put_tuple2,{x,0},{list,[{x,0},{x,1}]}}. | |
{deallocate,1}. | |
return. | |
- {label,67}. | |
- {test,is_nil,{f,63},[{x,1}]}. | |
+ {label,54}. | |
+ {test,is_nil,{f,50},[{x,1}]}. | |
{test_heap,3,3}. | |
- {put_tuple,2,{x,0}}. | |
- {put,nil}. | |
- {put,{x,2}}. | |
+ {put_tuple2,{x,0},{list,[nil,{x,2}]}}. | |
return. | |
- {label,68}. | |
- {line,[{location,"couch_key_tree.erl",266}]}. | |
- {badmatch,{x,0}}. | |
- {label,69}. | |
- {line,[{location,"couch_key_tree.erl",265}]}. | |
- {badmatch,{x,0}}. | |
- {label,70}. | |
- {line,[{location,"couch_key_tree.erl",274}]}. | |
- {badmatch,{x,0}}. | |
- {label,71}. | |
- {line,[{location,"couch_key_tree.erl",273}]}. | |
- {badmatch,{x,0}}. | |
-{function, get_key_leafs_simple2, 4, 73}. | |
- {label,72}. | |
+{function, get_key_leafs_simple2, 4, 56}. | |
+ {label,55}. | |
{line,[{location,"couch_key_tree.erl",278}]}. | |
{func_info,{atom,couch_key_tree},{atom,get_key_leafs_simple2},4}. | |
- {label,73}. | |
- {test,is_nonempty_list,{f,75},[{x,1}]}. | |
+ {label,56}. | |
+ {'%',{var_info,{x,3},[{type,{t_list,any,nil}}]}}. | |
+ {test,is_nonempty_list,{f,58},[{x,1}]}. | |
{get_list,{x,1},{x,4},{x,5}}. | |
- {test,is_tuple,{f,72},[{x,4}]}. | |
- {test,test_arity,{f,72},[{x,4},3]}. | |
- {get_tuple_element,{x,4},0,{x,6}}. | |
- {get_tuple_element,{x,4},1,{x,7}}. | |
- {get_tuple_element,{x,4},2,{x,8}}. | |
- {test,is_nil,{f,74},[{x,8}]}. | |
- {allocate_heap,5,3,8}. | |
- {move,{x,3},{y,4}}. | |
- {move,{x,0},{y,3}}. | |
+ {test,is_tuple,{f,55},[{x,4}]}. | |
+ {test,test_arity,{f,55},[{x,4},3]}. | |
+ {get_tuple_element,{x,4},0,{x,1}}. | |
+ {get_tuple_element,{x,4},1,{x,6}}. | |
+ {get_tuple_element,{x,4},2,{x,4}}. | |
+ {test,is_nil,{f,57},[{x,4}]}. | |
+ {allocate_heap,5,3,7}. | |
+ {move,{x,1},{y,0}}. | |
+ {move,{x,6},{y,1}}. | |
{move,{x,5},{y,2}}. | |
- {move,{x,7},{y,1}}. | |
- {move,{x,6},{y,0}}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{y,3}}. | |
- {put,{x,6}}. | |
+ {move,{x,3},{y,3}}. | |
+ {move,{x,0},{y,4}}. | |
+ {put_tuple2,{x,0},{list,[{x,0},{x,1}]}}. | |
{move,{x,2},{x,1}}. | |
{line,[{location,"couch_key_tree.erl",285}]}. | |
{call_ext,2,{extfunc,lists,delete,2}}. | |
{move,{x,0},{x,2}}. | |
{move,{y,2},{x,1}}. | |
- {move,{y,4},{x,3}}. | |
- {kill,{y,2}}. | |
+ {move,{y,3},{x,3}}. | |
+ {move,{y,0},{y,2}}. | |
+ {trim,1,4}. | |
{move,{y,3},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",286}]}. | |
- {call,4,{f,73}}. | |
- {test,is_tuple,{f,76},[{x,0}]}. | |
- {test,test_arity,{f,76},[{x,0},2]}. | |
+ {call,4,{f,56}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{1 => | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_tuple,2,true,#{2 => {t_cons,any,any}}}}}, | |
+ nil}}}}]}}. | |
{test_heap,13,1}. | |
{get_tuple_element,{x,0},0,{x,1}}. | |
- {get_tuple_element,{x,0},1,{x,2}}. | |
- {put_list,{y,0},{y,4},{x,3}}. | |
- {put_tuple,2,{x,4}}. | |
- {put,{y,3}}. | |
- {put,{x,3}}. | |
- {put_tuple,2,{x,3}}. | |
- {put,{y,1}}. | |
- {put,{x,4}}. | |
- {put_list,{x,3},{x,1},{x,1}}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{x,1}}. | |
- {put,{x,2}}. | |
- {deallocate,5}. | |
+ {get_tuple_element,{x,0},1,{x,0}}. | |
+ {put_list,{y,1},{y,2},{x,2}}. | |
+ {put_tuple2,{x,2},{list,[{y,3},{x,2}]}}. | |
+ {put_tuple2,{x,2},{list,[{y,0},{x,2}]}}. | |
+ {put_list,{x,2},{x,1},{x,1}}. | |
+ {put_tuple2,{x,0},{list,[{x,1},{x,0}]}}. | |
+ {deallocate,4}. | |
return. | |
- {label,74}. | |
- {allocate_heap,5,3,9}. | |
- {move,{x,3},{y,4}}. | |
- {move,{x,0},{y,3}}. | |
+ {label,57}. | |
+ {allocate_heap,5,3,6}. | |
+ {move,{x,1},{y,0}}. | |
+ {move,{x,4},{y,1}}. | |
{move,{x,5},{y,2}}. | |
- {move,{x,8},{y,1}}. | |
- {move,{x,6},{y,0}}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{y,3}}. | |
- {put,{x,6}}. | |
+ {move,{x,3},{y,3}}. | |
+ {move,{x,0},{y,4}}. | |
+ {put_tuple2,{x,0},{list,[{x,0},{x,1}]}}. | |
{move,{x,2},{x,1}}. | |
{line,[{location,"couch_key_tree.erl",291}]}. | |
{call_ext,2,{extfunc,lists,delete,2}}. | |
{test_heap,2,1}. | |
- {put_list,{y,0},{y,4},{x,1}}. | |
+ {put_list,{y,0},{y,3},{x,1}}. | |
{line,[{location,"couch_key_tree.erl",293}]}. | |
- {gc_bif,'+',{f,0},2,[{y,3},{integer,1}],{x,4}}. | |
+ {gc_bif,'+',{f,0},2,[{y,4},{integer,1}],{x,2}}. | |
{move,{x,1},{x,3}}. | |
{move,{y,1},{x,1}}. | |
- {move,{x,0},{x,2}}. | |
- {trim,2,3}. | |
- {move,{x,4},{x,0}}. | |
+ {swap,{x,0},{x,2}}. | |
+ {kill,{y,1}}. | |
+ {trim,1,4}. | |
{line,[{location,"couch_key_tree.erl",293}]}. | |
- {call,4,{f,73}}. | |
- {test,is_tuple,{f,78},[{x,0}]}. | |
- {test,test_arity,{f,78},[{x,0},2]}. | |
+ {call,4,{f,56}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{1 => | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_tuple,2,true,#{2 => {t_cons,any,any}}}}}, | |
+ nil}}}}]}}. | |
+ {get_tuple_element,{x,0},0,{y,0}}. | |
{get_tuple_element,{x,0},1,{x,2}}. | |
- {move,{y,0},{x,1}}. | |
+ {move,{y,1},{x,1}}. | |
{move,{y,2},{x,3}}. | |
- {get_tuple_element,{x,0},0,{y,2}}. | |
- {move,{y,1},{x,0}}. | |
- {trim,2,1}. | |
+ {move,{y,3},{x,0}}. | |
+ {kill,{y,1}}. | |
+ {kill,{y,2}}. | |
+ {kill,{y,3}}. | |
{line,[{location,"couch_key_tree.erl",294}]}. | |
- {call,4,{f,73}}. | |
- {test,is_tuple,{f,77},[{x,0}]}. | |
- {test,test_arity,{f,77},[{x,0},2]}. | |
+ {call,4,{f,56}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{1 => | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_tuple,2,true,#{2 => {t_cons,any,any}}}}}, | |
+ nil}}}}]}}. | |
{get_tuple_element,{x,0},0,{x,1}}. | |
- {get_tuple_element,{x,0},1,{x,2}}. | |
+ {move,{x,0},{y,3}}. | |
{move,{y,0},{x,0}}. | |
- {move,{x,2},{y,0}}. | |
+ {trim,3,1}. | |
{line,[{location,"couch_key_tree.erl",295}]}. | |
{call_ext,2,{extfunc,erlang,'++',2}}. | |
{test_heap,3,1}. | |
- {put_tuple,2,{x,1}}. | |
- {put,{x,0}}. | |
- {put,{y,0}}. | |
- {move,{x,1},{x,0}}. | |
+ {get_tuple_element,{y,0},1,{x,1}}. | |
+ {put_tuple2,{x,0},{list,[{x,0},{x,1}]}}. | |
{deallocate,1}. | |
return. | |
- {label,75}. | |
- {test,is_nil,{f,72},[{x,1}]}. | |
+ {label,58}. | |
+ {test,is_nil,{f,55},[{x,1}]}. | |
{test_heap,3,3}. | |
- {put_tuple,2,{x,0}}. | |
- {put,nil}. | |
- {put,{x,2}}. | |
+ {put_tuple2,{x,0},{list,[nil,{x,2}]}}. | |
return. | |
- {label,76}. | |
- {line,[{location,"couch_key_tree.erl",286}]}. | |
- {badmatch,{x,0}}. | |
- {label,77}. | |
- {line,[{location,"couch_key_tree.erl",294}]}. | |
- {badmatch,{x,0}}. | |
- {label,78}. | |
- {line,[{location,"couch_key_tree.erl",293}]}. | |
- {badmatch,{x,0}}. | |
-{function, get, 2, 80}. | |
- {label,79}. | |
+{function, get, 2, 60}. | |
+ {label,59}. | |
{line,[{location,"couch_key_tree.erl",297}]}. | |
{func_info,{atom,couch_key_tree},{atom,get},2}. | |
- {label,80}. | |
+ {label,60}. | |
{allocate_zero,1,2}. | |
{line,[{location,"couch_key_tree.erl",298}]}. | |
- {call,2,{f,83}}. | |
- {test,is_tuple,{f,81},[{x,0}]}. | |
- {test,test_arity,{f,81},[{x,0},2]}. | |
+ {call,2,{f,62}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{1 => | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_cons,{t_tuple,0,false,#{}},nil}}}, | |
+ nil}}}}]}}. | |
+ {get_tuple_element,{x,0},0,{x,1}}. | |
{get_tuple_element,{x,0},1,{y,0}}. | |
- {get_tuple_element,{x,0},0,{x,0}}. | |
+ {move,{x,1},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",301}]}. | |
- {call,1,{f,263}}. | |
+ {call,1,{f,234}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_tuple,2,true,#{2 => {t_list,any,nil}}}}}, | |
+ nil}}]}}. | |
{test_heap,3,1}. | |
- {put_tuple,2,{x,1}}. | |
- {put,{x,0}}. | |
- {put,{y,0}}. | |
- {move,{x,1},{x,0}}. | |
+ {put_tuple2,{x,0},{list,[{x,0},{y,0}]}}. | |
{deallocate,1}. | |
return. | |
- {label,81}. | |
- {line,[{location,"couch_key_tree.erl",298}]}. | |
- {badmatch,{x,0}}. | |
-{function, get_full_key_paths, 2, 83}. | |
- {label,82}. | |
+{function, get_full_key_paths, 2, 62}. | |
+ {label,61}. | |
{line,[{location,"couch_key_tree.erl",305}]}. | |
{func_info,{atom,couch_key_tree},{atom,get_full_key_paths},2}. | |
- {label,83}. | |
+ {label,62}. | |
{move,nil,{x,2}}. | |
- {call_only,3,{f,85}}. | |
+ {call_only,3,{f,64}}. | |
-{function, get_full_key_paths, 3, 85}. | |
- {label,84}. | |
+{function, get_full_key_paths, 3, 64}. | |
+ {label,63}. | |
{line,[{location,"couch_key_tree.erl",308}]}. | |
{func_info,{atom,couch_key_tree},{atom,get_full_key_paths},3}. | |
- {label,85}. | |
- {test,is_nil,{f,86},[{x,1}]}. | |
+ {label,64}. | |
+ {'%', | |
+ {var_info, | |
+ {x,2}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_cons,{t_tuple,0,false,#{}},nil}}}, | |
+ nil}}]}}. | |
+ {test,is_nil,{f,65},[{x,1}]}. | |
{test_heap,3,3}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{x,2}}. | |
- {put,nil}. | |
+ {put_tuple2,{x,0},{list,[{x,2},nil]}}. | |
return. | |
- {label,86}. | |
- {test,is_nonempty_list,{f,87},[{x,0}]}. | |
+ {label,65}. | |
+ {test,is_nonempty_list,{f,66},[{x,0}]}. | |
{get_list,{x,0},{x,3},{x,4}}. | |
- {test,is_tuple,{f,84},[{x,3}]}. | |
- {test,test_arity,{f,84},[{x,3},2]}. | |
+ {test,is_tuple,{f,63},[{x,3}]}. | |
+ {test,test_arity,{f,63},[{x,3},2]}. | |
{allocate_heap,2,2,5}. | |
- {get_tuple_element,{x,3},0,{x,0}}. | |
- {get_tuple_element,{x,3},1,{x,6}}. | |
- {move,{x,2},{y,1}}. | |
{move,{x,4},{y,0}}. | |
- {put_list,{x,6},nil,{x,6}}. | |
- {move,{x,1},{x,2}}. | |
- {move,{x,6},{x,1}}. | |
+ {move,{x,2},{y,1}}. | |
+ {get_tuple_element,{x,3},1,{x,0}}. | |
+ {put_list,{x,0},nil,{x,0}}. | |
+ {get_tuple_element,{x,3},0,{x,2}}. | |
{move,nil,{x,3}}. | |
+ {swap,{x,1},{x,2}}. | |
+ {swap,{x,0},{x,1}}. | |
{line,[{location,"couch_key_tree.erl",313}]}. | |
- {call,4,{f,90}}. | |
- {test,is_tuple,{f,88},[{x,0}]}. | |
- {test,test_arity,{f,88},[{x,0},2]}. | |
- {get_tuple_element,{x,0},1,{x,2}}. | |
- {get_tuple_element,{x,0},0,{x,0}}. | |
- {move,{y,1},{x,1}}. | |
- {move,{x,2},{y,1}}. | |
+ {call,4,{f,68}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{1 => | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_cons,{t_tuple,0,false,#{}},nil}}}, | |
+ nil}}}}]}}. | |
+ {get_tuple_element,{x,0},0,{x,1}}. | |
+ {move,{y,1},{x,2}}. | |
+ {move,{x,0},{y,1}}. | |
+ {move,{x,1},{x,0}}. | |
+ {move,{x,2},{x,1}}. | |
{line,[{location,"couch_key_tree.erl",314}]}. | |
{call_ext,2,{extfunc,erlang,'++',2}}. | |
- {move,{y,1},{x,1}}. | |
+ {get_tuple_element,{y,1},1,{x,1}}. | |
{move,{x,0},{x,2}}. | |
{move,{y,0},{x,0}}. | |
- {call_last,3,{f,85},2}. | |
- {label,87}. | |
- {test,is_nil,{f,84},[{x,0}]}. | |
+ {call_last,3,{f,64},2}. | |
+ {label,66}. | |
+ {test,is_nil,{f,63},[{x,0}]}. | |
{test_heap,3,3}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{x,2}}. | |
- {put,{x,1}}. | |
+ {put_tuple2,{x,0},{list,[{x,2},{x,1}]}}. | |
return. | |
- {label,88}. | |
- {line,[{location,"couch_key_tree.erl",313}]}. | |
- {badmatch,{x,0}}. | |
-{function, get_full_key_paths, 4, 90}. | |
- {label,89}. | |
+{function, get_full_key_paths, 4, 68}. | |
+ {label,67}. | |
{line,[{location,"couch_key_tree.erl",316}]}. | |
{func_info,{atom,couch_key_tree},{atom,get_full_key_paths},4}. | |
- {label,90}. | |
- {test,is_nil,{f,91},[{x,2}]}. | |
+ {label,68}. | |
+ {'%',{var_info,{x,3},[{type,{t_list,{t_tuple,2,true,#{}},nil}}]}}. | |
+ {test,is_nil,{f,69},[{x,2}]}. | |
{move,{literal,{[],[]}},{x,0}}. | |
return. | |
- {label,91}. | |
- {test,is_nonempty_list,{f,94},[{x,1}]}. | |
+ {label,69}. | |
+ {test,is_nonempty_list,{f,72},[{x,1}]}. | |
{get_list,{x,1},{x,4},{x,5}}. | |
- {test,is_tuple,{f,89},[{x,4}]}. | |
- {test,test_arity,{f,89},[{x,4},3]}. | |
- {allocate_heap,7,5,6}. | |
+ {test,is_tuple,{f,67},[{x,4}]}. | |
+ {test,test_arity,{f,67},[{x,4},3]}. | |
+ {allocate_heap,6,5,6}. | |
+ {move,{x,4},{y,1}}. | |
+ {move,{x,5},{y,2}}. | |
+ {move,{x,3},{y,3}}. | |
+ {move,{x,2},{y,4}}. | |
+ {move,{x,0},{y,5}}. | |
{get_tuple_element,{x,4},0,{y,0}}. | |
- {get_tuple_element,{x,4},1,{y,1}}. | |
- {get_tuple_element,{x,4},2,{y,2}}. | |
- {move,{x,3},{y,6}}. | |
- {move,{x,2},{y,5}}. | |
- {move,{x,0},{y,4}}. | |
- {move,{x,5},{y,3}}. | |
- {put_tuple,2,{x,4}}. | |
- {put,{y,4}}. | |
- {put,{y,0}}. | |
- {put_list,{x,4},nil,{x,1}}. | |
+ {put_tuple2,{x,0},{list,[{x,0},{y,0}]}}. | |
+ {put_list,{x,0},nil,{x,1}}. | |
{move,{x,2},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",321}]}. | |
{call_ext,2,{extfunc,erlang,'--',2}}. | |
{line,[{location,"couch_key_tree.erl",323}]}. | |
{gc_bif,length,{f,0},1,[{x,0}],{x,1}}. | |
{line,[{location,"couch_key_tree.erl",323}]}. | |
- {gc_bif,length,{f,0},2,[{y,5}],{x,2}}. | |
- {move,{x,0},{y,5}}. | |
- {test,is_eq_exact,{f,92},[{x,1},{x,2}]}. | |
- {move,nil,{x,0}}. | |
- {jump,{f,93}}. | |
- {label,92}. | |
- {test_heap,10,0}. | |
- {put_tuple,2,{x,1}}. | |
- {put,{y,0}}. | |
- {put,{y,1}}. | |
- {put_list,{x,1},{y,6},{x,1}}. | |
- {put_tuple,2,{x,2}}. | |
- {put,{y,4}}. | |
- {put,{x,1}}. | |
- {put_list,{x,2},nil,{x,0}}. | |
- {label,93}. | |
+ {gc_bif,length,{f,0},2,[{y,4}],{x,2}}. | |
+ {get_tuple_element,{y,1},1,{x,3}}. | |
+ {test,is_eq_exact,{f,70},[{x,1},{x,2}]}. | |
+ {move,nil,{y,4}}. | |
+ {jump,{f,71}}. | |
+ {label,70}. | |
+ {test_heap,10,4}. | |
+ {put_tuple2,{x,1},{list,[{y,0},{x,3}]}}. | |
+ {put_list,{x,1},{y,3},{x,1}}. | |
+ {put_tuple2,{x,1},{list,[{y,5},{x,1}]}}. | |
+ {put_list,{x,1},nil,{x,1}}. | |
+ {move,{x,1},{y,4}}. | |
+ {label,71}. | |
{line,[{location,"couch_key_tree.erl",331}]}. | |
- {gc_bif,'+',{f,0},1,[{y,4},{integer,1}],{x,1}}. | |
- {test_heap,5,2}. | |
- {put_tuple,2,{x,4}}. | |
- {put,{y,0}}. | |
- {put,{y,1}}. | |
- {move,{x,0},{y,1}}. | |
- {put_list,{x,4},{y,6},{x,3}}. | |
- {move,{y,5},{x,2}}. | |
- {move,{x,1},{x,0}}. | |
- {move,{y,2},{x,1}}. | |
- {move,{y,1},{y,5}}. | |
- {trim,3,4}. | |
+ {gc_bif,'+',{f,0},4,[{y,5},{integer,1}],{x,1}}. | |
+ {test_heap,5,4}. | |
+ {put_tuple2,{x,2},{list,[{y,0},{x,3}]}}. | |
+ {put_list,{x,2},{y,3},{x,3}}. | |
+ {get_tuple_element,{y,1},2,{x,2}}. | |
+ {swap,{x,2},{x,1}}. | |
+ {swap,{x,0},{x,2}}. | |
+ {kill,{y,1}}. | |
+ {trim,1,5}. | |
{line,[{location,"couch_key_tree.erl",331}]}. | |
- {call,4,{f,90}}. | |
- {test,is_tuple,{f,96},[{x,0}]}. | |
- {test,test_arity,{f,96},[{x,0},2]}. | |
+ {call,4,{f,68}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{1 => | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_cons,{t_tuple,0,false,#{}},nil}}}, | |
+ nil}}}}]}}. | |
+ {get_tuple_element,{x,0},0,{y,0}}. | |
{get_tuple_element,{x,0},1,{x,2}}. | |
- {move,{y,0},{x,1}}. | |
- {move,{y,3},{x,3}}. | |
- {get_tuple_element,{x,0},0,{y,3}}. | |
- {move,{y,1},{x,0}}. | |
- {trim,2,2}. | |
+ {move,{y,1},{x,1}}. | |
+ {move,{y,2},{x,3}}. | |
+ {move,{y,4},{x,0}}. | |
+ {kill,{y,1}}. | |
+ {kill,{y,2}}. | |
+ {kill,{y,4}}. | |
{line,[{location,"couch_key_tree.erl",334}]}. | |
- {call,4,{f,90}}. | |
- {test,is_tuple,{f,95},[{x,0}]}. | |
- {test,test_arity,{f,95},[{x,0},2]}. | |
+ {call,4,{f,68}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{1 => | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_cons,{t_tuple,0,false,#{}},nil}}}, | |
+ nil}}}}]}}. | |
{get_tuple_element,{x,0},0,{x,1}}. | |
- {get_tuple_element,{x,0},1,{x,2}}. | |
- {move,{y,1},{x,0}}. | |
- {move,{x,2},{y,1}}. | |
+ {move,{x,0},{y,4}}. | |
+ {move,{y,0},{x,0}}. | |
+ {trim,3,2}. | |
{line,[{location,"couch_key_tree.erl",335}]}. | |
{call_ext,2,{extfunc,erlang,'++',2}}. | |
{move,{x,0},{x,1}}. | |
@@ -1167,1012 +1241,1146 @@ | |
{line,[{location,"couch_key_tree.erl",335}]}. | |
{call_ext,2,{extfunc,erlang,'++',2}}. | |
{test_heap,3,1}. | |
- {put_tuple,2,{x,1}}. | |
- {put,{x,0}}. | |
- {put,{y,0}}. | |
- {move,{x,1},{x,0}}. | |
+ {get_tuple_element,{y,0},1,{x,1}}. | |
+ {put_tuple2,{x,0},{list,[{x,0},{x,1}]}}. | |
{deallocate,1}. | |
return. | |
- {label,94}. | |
- {test,is_nil,{f,89},[{x,1}]}. | |
+ {label,72}. | |
+ {test,is_nil,{f,67},[{x,1}]}. | |
{test_heap,3,3}. | |
- {put_tuple,2,{x,0}}. | |
- {put,nil}. | |
- {put,{x,2}}. | |
+ {put_tuple2,{x,0},{list,[nil,{x,2}]}}. | |
return. | |
- {label,95}. | |
- {line,[{location,"couch_key_tree.erl",334}]}. | |
- {badmatch,{x,0}}. | |
- {label,96}. | |
- {line,[{location,"couch_key_tree.erl",331}]}. | |
- {badmatch,{x,0}}. | |
-{function, get_all_leafs_full, 1, 98}. | |
- {label,97}. | |
+{function, get_all_leafs_full, 1, 74}. | |
+ {label,73}. | |
{line,[{location,"couch_key_tree.erl",337}]}. | |
{func_info,{atom,couch_key_tree},{atom,get_all_leafs_full},1}. | |
- {label,98}. | |
+ {label,74}. | |
{move,nil,{x,1}}. | |
- {call_only,2,{f,100}}. | |
+ {call_only,2,{f,76}}. | |
-{function, get_all_leafs_full, 2, 100}. | |
- {label,99}. | |
+{function, get_all_leafs_full, 2, 76}. | |
+ {label,75}. | |
{line,[{location,"couch_key_tree.erl",340}]}. | |
{func_info,{atom,couch_key_tree},{atom,get_all_leafs_full},2}. | |
- {label,100}. | |
- {test,is_nonempty_list,{f,101},[{x,0}]}. | |
+ {label,76}. | |
+ {'%', | |
+ {var_info, | |
+ {x,1}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_cons,{t_tuple,2,true,#{}},nil}}}, | |
+ nil}}]}}. | |
+ {test,is_nonempty_list,{f,77},[{x,0}]}. | |
{get_list,{x,0},{x,2},{x,3}}. | |
- {test,is_tuple,{f,99},[{x,2}]}. | |
- {test,test_arity,{f,99},[{x,2},2]}. | |
+ {test,is_tuple,{f,75},[{x,2}]}. | |
+ {test,test_arity,{f,75},[{x,2},2]}. | |
{allocate_heap,2,2,4}. | |
- {get_tuple_element,{x,2},0,{x,0}}. | |
- {get_tuple_element,{x,2},1,{x,5}}. | |
- {move,{x,1},{y,1}}. | |
{move,{x,3},{y,0}}. | |
- {put_list,{x,5},nil,{x,1}}. | |
+ {move,{x,1},{y,1}}. | |
+ {get_tuple_element,{x,2},1,{x,0}}. | |
+ {put_list,{x,0},nil,{x,1}}. | |
+ {get_tuple_element,{x,2},0,{x,0}}. | |
{move,nil,{x,2}}. | |
{line,[{location,"couch_key_tree.erl",343}]}. | |
- {call,3,{f,103}}. | |
+ {call,3,{f,79}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_cons,{t_tuple,2,true,#{}},nil}}}, | |
+ nil}}]}}. | |
{move,{y,1},{x,1}}. | |
{kill,{y,1}}. | |
{line,[{location,"couch_key_tree.erl",343}]}. | |
{call_ext,2,{extfunc,erlang,'++',2}}. | |
{move,{x,0},{x,1}}. | |
{move,{y,0},{x,0}}. | |
- {call_last,2,{f,100},2}. | |
- {label,101}. | |
- {test,is_nil,{f,99},[{x,0}]}. | |
+ {call_last,2,{f,76},2}. | |
+ {label,77}. | |
+ {test,is_nil,{f,75},[{x,0}]}. | |
{move,{x,1},{x,0}}. | |
return. | |
-{function, get_all_leafs_full_simple, 3, 103}. | |
- {label,102}. | |
+{function, get_all_leafs_full_simple, 3, 79}. | |
+ {label,78}. | |
{line,[{location,"couch_key_tree.erl",345}]}. | |
{func_info,{atom,couch_key_tree},{atom,get_all_leafs_full_simple},3}. | |
- {label,103}. | |
- {test,is_nonempty_list,{f,105},[{x,1}]}. | |
+ {label,79}. | |
+ {'%',{var_info,{x,2},[{type,{t_list,{t_tuple,2,true,#{}},nil}}]}}. | |
+ {test,is_nonempty_list,{f,81},[{x,1}]}. | |
{get_list,{x,1},{x,3},{x,4}}. | |
- {test,is_tuple,{f,102},[{x,3}]}. | |
- {test,test_arity,{f,102},[{x,3},3]}. | |
- {get_tuple_element,{x,3},0,{x,5}}. | |
- {get_tuple_element,{x,3},1,{x,6}}. | |
- {get_tuple_element,{x,3},2,{x,7}}. | |
- {test,is_nil,{f,104},[{x,7}]}. | |
- {allocate,4,7}. | |
- {move,{x,4},{x,1}}. | |
- {move,{x,6},{y,0}}. | |
+ {test,is_tuple,{f,78},[{x,3}]}. | |
+ {test,test_arity,{f,78},[{x,3},3]}. | |
+ {get_tuple_element,{x,3},0,{x,1}}. | |
+ {get_tuple_element,{x,3},1,{x,5}}. | |
+ {get_tuple_element,{x,3},2,{x,3}}. | |
+ {test,is_nil,{f,80},[{x,3}]}. | |
+ {allocate,4,6}. | |
+ {move,{x,1},{y,0}}. | |
{move,{x,5},{y,1}}. | |
{move,{x,2},{y,2}}. | |
{move,{x,0},{y,3}}. | |
+ {move,{x,4},{x,1}}. | |
{line,[{location,"couch_key_tree.erl",348}]}. | |
- {call,3,{f,103}}. | |
+ {call,3,{f,79}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_cons,{t_tuple,2,true,#{}},nil}}}, | |
+ nil}}]}}. | |
{test_heap,10,1}. | |
- {put_tuple,2,{x,1}}. | |
- {put,{y,1}}. | |
- {put,{y,0}}. | |
+ {put_tuple2,{x,1},{list,[{y,0},{y,1}]}}. | |
{put_list,{x,1},{y,2},{x,1}}. | |
- {put_tuple,2,{x,2}}. | |
- {put,{y,3}}. | |
- {put,{x,1}}. | |
- {put_list,{x,2},{x,0},{x,0}}. | |
+ {put_tuple2,{x,1},{list,[{y,3},{x,1}]}}. | |
+ {put_list,{x,1},{x,0},{x,0}}. | |
{deallocate,4}. | |
return. | |
- {label,104}. | |
- {allocate_zero,3,8}. | |
+ {label,80}. | |
{line,[{location,"couch_key_tree.erl",350}]}. | |
- {gc_bif,'+',{f,0},8,[{x,0},{integer,1}],{x,1}}. | |
- {test_heap,5,8}. | |
- {move,{x,2},{y,2}}. | |
- {move,{x,0},{y,1}}. | |
+ {gc_bif,'+',{f,0},6,[{x,0},{integer,1}],{x,6}}. | |
+ {allocate_heap,3,5,7}. | |
{move,{x,4},{y,0}}. | |
- {put_tuple,2,{x,3}}. | |
- {put,{x,5}}. | |
- {put,{x,6}}. | |
- {put_list,{x,3},{y,2},{x,2}}. | |
- {move,{x,1},{x,0}}. | |
- {move,{x,7},{x,1}}. | |
+ {move,{x,2},{y,1}}. | |
+ {move,{x,0},{y,2}}. | |
+ {put_tuple2,{x,0},{list,[{x,1},{x,5}]}}. | |
+ {put_list,{x,0},{x,2},{x,2}}. | |
+ {move,{x,3},{x,1}}. | |
+ {move,{x,6},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",350}]}. | |
- {call,3,{f,103}}. | |
- {move,{x,0},{x,3}}. | |
- {move,{y,0},{x,1}}. | |
- {move,{y,2},{x,2}}. | |
- {move,{x,3},{y,2}}. | |
- {move,{y,1},{x,0}}. | |
+ {call,3,{f,79}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_cons,{t_tuple,2,true,#{}},nil}}}, | |
+ nil}}]}}. | |
+ {move,{y,0},{x,2}}. | |
+ {move,{y,1},{x,3}}. | |
+ {swap,{y,2},{x,0}}. | |
+ {move,{x,2},{x,1}}. | |
+ {move,{x,3},{x,2}}. | |
{trim,2,1}. | |
{line,[{location,"couch_key_tree.erl",351}]}. | |
- {call,3,{f,103}}. | |
+ {call,3,{f,79}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_cons,{t_tuple,2,true,#{}},nil}}}, | |
+ nil}}]}}. | |
{move,{x,0},{x,1}}. | |
{move,{y,0},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",350}]}. | |
{call_ext_last,2,{extfunc,erlang,'++',2},1}. | |
- {label,105}. | |
- {test,is_nil,{f,102},[{x,1}]}. | |
+ {label,81}. | |
+ {test,is_nil,{f,78},[{x,1}]}. | |
{move,nil,{x,0}}. | |
return. | |
-{function, get_all_leafs, 1, 107}. | |
- {label,106}. | |
+{function, get_all_leafs, 1, 83}. | |
+ {label,82}. | |
{line,[{location,"couch_key_tree.erl",353}]}. | |
{func_info,{atom,couch_key_tree},{atom,get_all_leafs},1}. | |
- {label,107}. | |
+ {label,83}. | |
{move,nil,{x,1}}. | |
- {call_only,2,{f,109}}. | |
+ {call_only,2,{f,85}}. | |
-{function, get_all_leafs, 2, 109}. | |
- {label,108}. | |
+{function, get_all_leafs, 2, 85}. | |
+ {label,84}. | |
{line,[{location,"couch_key_tree.erl",356}]}. | |
{func_info,{atom,couch_key_tree},{atom,get_all_leafs},2}. | |
- {label,109}. | |
- {test,is_nonempty_list,{f,110},[{x,0}]}. | |
+ {label,85}. | |
+ {'%', | |
+ {var_info, | |
+ {x,1}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_tuple,2,true,#{2 => {t_cons,any,nil}}}}}, | |
+ nil}}]}}. | |
+ {test,is_nonempty_list,{f,86},[{x,0}]}. | |
{get_list,{x,0},{x,2},{x,3}}. | |
- {test,is_tuple,{f,108},[{x,2}]}. | |
- {test,test_arity,{f,108},[{x,2},2]}. | |
+ {test,is_tuple,{f,84},[{x,2}]}. | |
+ {test,test_arity,{f,84},[{x,2},2]}. | |
{allocate_heap,2,2,4}. | |
- {get_tuple_element,{x,2},0,{x,0}}. | |
- {get_tuple_element,{x,2},1,{x,5}}. | |
- {move,{x,1},{y,1}}. | |
{move,{x,3},{y,0}}. | |
- {put_list,{x,5},nil,{x,1}}. | |
+ {move,{x,1},{y,1}}. | |
+ {get_tuple_element,{x,2},1,{x,0}}. | |
+ {put_list,{x,0},nil,{x,1}}. | |
+ {get_tuple_element,{x,2},0,{x,0}}. | |
{move,nil,{x,2}}. | |
{line,[{location,"couch_key_tree.erl",359}]}. | |
- {call,3,{f,112}}. | |
+ {call,3,{f,88}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_tuple,2,true,#{2 => {t_cons,any,nil}}}}}, | |
+ nil}}]}}. | |
{move,{y,1},{x,1}}. | |
{kill,{y,1}}. | |
{line,[{location,"couch_key_tree.erl",359}]}. | |
{call_ext,2,{extfunc,erlang,'++',2}}. | |
{move,{x,0},{x,1}}. | |
{move,{y,0},{x,0}}. | |
- {call_last,2,{f,109},2}. | |
- {label,110}. | |
- {test,is_nil,{f,108},[{x,0}]}. | |
+ {call_last,2,{f,85},2}. | |
+ {label,86}. | |
+ {test,is_nil,{f,84},[{x,0}]}. | |
{move,{x,1},{x,0}}. | |
return. | |
-{function, get_all_leafs_simple, 3, 112}. | |
- {label,111}. | |
+{function, get_all_leafs_simple, 3, 88}. | |
+ {label,87}. | |
{line,[{location,"couch_key_tree.erl",361}]}. | |
{func_info,{atom,couch_key_tree},{atom,get_all_leafs_simple},3}. | |
- {label,112}. | |
- {test,is_nonempty_list,{f,114},[{x,1}]}. | |
+ {label,88}. | |
+ {'%',{var_info,{x,2},[{type,{t_list,any,nil}}]}}. | |
+ {test,is_nonempty_list,{f,90},[{x,1}]}. | |
{get_list,{x,1},{x,3},{x,4}}. | |
- {test,is_tuple,{f,111},[{x,3}]}. | |
- {test,test_arity,{f,111},[{x,3},3]}. | |
- {get_tuple_element,{x,3},0,{x,5}}. | |
- {get_tuple_element,{x,3},1,{x,6}}. | |
- {get_tuple_element,{x,3},2,{x,7}}. | |
- {test,is_nil,{f,113},[{x,7}]}. | |
- {allocate,4,7}. | |
- {move,{x,4},{x,1}}. | |
- {move,{x,2},{y,0}}. | |
+ {test,is_tuple,{f,87},[{x,3}]}. | |
+ {test,test_arity,{f,87},[{x,3},3]}. | |
+ {get_tuple_element,{x,3},0,{x,1}}. | |
+ {get_tuple_element,{x,3},1,{x,5}}. | |
+ {get_tuple_element,{x,3},2,{x,3}}. | |
+ {test,is_nil,{f,89},[{x,3}]}. | |
+ {allocate,4,6}. | |
+ {move,{x,1},{y,0}}. | |
{move,{x,5},{y,1}}. | |
- {move,{x,0},{y,2}}. | |
- {move,{x,6},{y,3}}. | |
+ {move,{x,2},{y,2}}. | |
+ {move,{x,0},{y,3}}. | |
+ {move,{x,4},{x,1}}. | |
{line,[{location,"couch_key_tree.erl",364}]}. | |
- {call,3,{f,112}}. | |
+ {call,3,{f,88}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_tuple,2,true,#{2 => {t_cons,any,nil}}}}}, | |
+ nil}}]}}. | |
{test_heap,10,1}. | |
- {put_list,{y,1},{y,0},{x,1}}. | |
- {put_tuple,2,{x,2}}. | |
- {put,{y,2}}. | |
- {put,{x,1}}. | |
- {put_tuple,2,{x,1}}. | |
- {put,{y,3}}. | |
- {put,{x,2}}. | |
+ {put_list,{y,0},{y,2},{x,1}}. | |
+ {put_tuple2,{x,1},{list,[{y,3},{x,1}]}}. | |
+ {put_tuple2,{x,1},{list,[{y,1},{x,1}]}}. | |
{put_list,{x,1},{x,0},{x,0}}. | |
{deallocate,4}. | |
return. | |
- {label,113}. | |
- {allocate_zero,3,8}. | |
+ {label,89}. | |
{line,[{location,"couch_key_tree.erl",366}]}. | |
- {gc_bif,'+',{f,0},8,[{x,0},{integer,1}],{x,1}}. | |
- {test_heap,2,8}. | |
- {move,{x,2},{y,2}}. | |
- {move,{x,0},{y,1}}. | |
+ {gc_bif,'+',{f,0},5,[{x,0},{integer,1}],{x,5}}. | |
+ {allocate_heap,3,2,6}. | |
{move,{x,4},{y,0}}. | |
- {put_list,{x,5},{y,2},{x,2}}. | |
- {move,{x,1},{x,0}}. | |
- {move,{x,7},{x,1}}. | |
+ {move,{x,2},{y,1}}. | |
+ {move,{x,0},{y,2}}. | |
+ {put_list,{x,1},{x,2},{x,2}}. | |
+ {move,{x,3},{x,1}}. | |
+ {move,{x,5},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",366}]}. | |
- {call,3,{f,112}}. | |
- {move,{x,0},{x,3}}. | |
- {move,{y,0},{x,1}}. | |
- {move,{y,2},{x,2}}. | |
- {move,{x,3},{y,2}}. | |
- {move,{y,1},{x,0}}. | |
+ {call,3,{f,88}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_tuple,2,true,#{2 => {t_cons,any,nil}}}}}, | |
+ nil}}]}}. | |
+ {move,{y,0},{x,2}}. | |
+ {move,{y,1},{x,3}}. | |
+ {swap,{y,2},{x,0}}. | |
+ {move,{x,2},{x,1}}. | |
+ {move,{x,3},{x,2}}. | |
{trim,2,1}. | |
{line,[{location,"couch_key_tree.erl",367}]}. | |
- {call,3,{f,112}}. | |
+ {call,3,{f,88}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_tuple,2,true,#{2 => {t_cons,any,nil}}}}}, | |
+ nil}}]}}. | |
{move,{x,0},{x,1}}. | |
{move,{y,0},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",366}]}. | |
{call_ext_last,2,{extfunc,erlang,'++',2},1}. | |
- {label,114}. | |
- {test,is_nil,{f,111},[{x,1}]}. | |
+ {label,90}. | |
+ {test,is_nil,{f,87},[{x,1}]}. | |
{move,nil,{x,0}}. | |
return. | |
-{function, count_leafs, 1, 116}. | |
- {label,115}. | |
+{function, count_leafs, 1, 92}. | |
+ {label,91}. | |
{line,[{location,"couch_key_tree.erl",369}]}. | |
{func_info,{atom,couch_key_tree},{atom,count_leafs},1}. | |
- {label,116}. | |
- {test,is_nonempty_list,{f,117},[{x,0}]}. | |
+ {label,92}. | |
+ {test,is_nonempty_list,{f,93},[{x,0}]}. | |
{get_list,{x,0},{x,1},{x,2}}. | |
- {test,is_tuple,{f,115},[{x,1}]}. | |
- {test,test_arity,{f,115},[{x,1},2]}. | |
+ {test,is_tuple,{f,91},[{x,1}]}. | |
+ {test,test_arity,{f,91},[{x,1},2]}. | |
{allocate_heap,1,2,3}. | |
- {get_tuple_element,{x,1},1,{x,3}}. | |
{move,{x,2},{y,0}}. | |
- {put_list,{x,3},nil,{x,0}}. | |
+ {get_tuple_element,{x,1},1,{x,0}}. | |
+ {put_list,{x,0},nil,{x,0}}. | |
{line,[{location,"couch_key_tree.erl",372}]}. | |
- {call,1,{f,119}}. | |
- {move,{x,0},{x,1}}. | |
- {move,{y,0},{x,0}}. | |
- {move,{x,1},{y,0}}. | |
+ {call,1,{f,95}}. | |
+ {'%',{var_info,{x,0},[{type,{t_integer,any}}]}}. | |
+ {swap,{y,0},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",372}]}. | |
- {call,1,{f,116}}. | |
+ {call,1,{f,92}}. | |
+ {'%',{var_info,{x,0},[{type,{t_integer,any}}]}}. | |
{line,[{location,"couch_key_tree.erl",372}]}. | |
{gc_bif,'+',{f,0},1,[{y,0},{x,0}],{x,0}}. | |
{deallocate,1}. | |
return. | |
- {label,117}. | |
- {test,is_nil,{f,115},[{x,0}]}. | |
+ {label,93}. | |
+ {test,is_nil,{f,91},[{x,0}]}. | |
{move,{integer,0},{x,0}}. | |
return. | |
-{function, count_leafs_simple, 1, 119}. | |
- {label,118}. | |
+{function, count_leafs_simple, 1, 95}. | |
+ {label,94}. | |
{line,[{location,"couch_key_tree.erl",374}]}. | |
{func_info,{atom,couch_key_tree},{atom,count_leafs_simple},1}. | |
- {label,119}. | |
- {test,is_nonempty_list,{f,121},[{x,0}]}. | |
+ {label,95}. | |
+ {test,is_nonempty_list,{f,97},[{x,0}]}. | |
{get_list,{x,0},{x,1},{x,2}}. | |
- {test,is_tuple,{f,118},[{x,1}]}. | |
- {test,test_arity,{f,118},[{x,1},3]}. | |
- {get_tuple_element,{x,1},2,{x,3}}. | |
- {test,is_nil,{f,120},[{x,3}]}. | |
+ {test,is_tuple,{f,94},[{x,1}]}. | |
+ {test,test_arity,{f,94},[{x,1},3]}. | |
+ {get_tuple_element,{x,1},2,{x,0}}. | |
+ {test,is_nil,{f,96},[{x,0}]}. | |
{allocate,0,3}. | |
{move,{x,2},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",377}]}. | |
- {call,1,{f,119}}. | |
+ {call,1,{f,95}}. | |
+ {'%',{var_info,{x,0},[{type,{t_integer,any}}]}}. | |
{line,[{location,"couch_key_tree.erl",377}]}. | |
- {gc_bif,'+',{f,0},1,[{integer,1},{x,0}],{x,0}}. | |
+ {gc_bif,'+',{f,0},1,[{x,0},{integer,1}],{x,0}}. | |
{deallocate,0}. | |
return. | |
- {label,120}. | |
- {allocate,1,4}. | |
+ {label,96}. | |
+ {allocate,1,3}. | |
{move,{x,2},{y,0}}. | |
- {move,{x,3},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",379}]}. | |
- {call,1,{f,119}}. | |
- {move,{x,0},{x,1}}. | |
- {move,{y,0},{x,0}}. | |
- {move,{x,1},{y,0}}. | |
+ {call,1,{f,95}}. | |
+ {'%',{var_info,{x,0},[{type,{t_integer,any}}]}}. | |
+ {swap,{y,0},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",379}]}. | |
- {call,1,{f,119}}. | |
+ {call,1,{f,95}}. | |
+ {'%',{var_info,{x,0},[{type,{t_integer,any}}]}}. | |
{line,[{location,"couch_key_tree.erl",379}]}. | |
{gc_bif,'+',{f,0},1,[{y,0},{x,0}],{x,0}}. | |
{deallocate,1}. | |
return. | |
- {label,121}. | |
- {test,is_nil,{f,118},[{x,0}]}. | |
+ {label,97}. | |
+ {test,is_nil,{f,94},[{x,0}]}. | |
{move,{integer,0},{x,0}}. | |
return. | |
-{function, fold, 3, 123}. | |
- {label,122}. | |
+{function, fold, 3, 99}. | |
+ {label,98}. | |
{line,[{location,"couch_key_tree.erl",381}]}. | |
{func_info,{atom,couch_key_tree},{atom,fold},3}. | |
- {label,123}. | |
- {test,is_nonempty_list,{f,124},[{x,2}]}. | |
+ {label,99}. | |
+ {test,is_nonempty_list,{f,100},[{x,2}]}. | |
{get_list,{x,2},{x,3},{x,4}}. | |
- {test,is_tuple,{f,122},[{x,3}]}. | |
- {test,test_arity,{f,122},[{x,3},2]}. | |
+ {test,is_tuple,{f,98},[{x,3}]}. | |
+ {test,test_arity,{f,98},[{x,3},2]}. | |
{allocate_heap,2,2,5}. | |
- {get_tuple_element,{x,3},0,{x,2}}. | |
- {get_tuple_element,{x,3},1,{x,6}}. | |
- {move,{x,0},{y,1}}. | |
{move,{x,4},{y,0}}. | |
- {put_list,{x,6},nil,{x,3}}. | |
+ {move,{x,0},{y,1}}. | |
+ {get_tuple_element,{x,3},1,{x,0}}. | |
+ {put_list,{x,0},nil,{x,0}}. | |
+ {get_tuple_element,{x,3},0,{x,2}}. | |
+ {move,{x,0},{x,3}}. | |
+ {move,{y,1},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",384}]}. | |
- {call,4,{f,126}}. | |
+ {call,4,{f,102}}. | |
{move,{x,0},{x,1}}. | |
{move,{y,0},{x,2}}. | |
{move,{y,1},{x,0}}. | |
- {call_last,3,{f,123},2}. | |
- {label,124}. | |
- {test,is_nil,{f,122},[{x,2}]}. | |
+ {call_last,3,{f,99},2}. | |
+ {label,100}. | |
+ {test,is_nil,{f,98},[{x,2}]}. | |
{move,{x,1},{x,0}}. | |
return. | |
-{function, fold_simple, 4, 126}. | |
- {label,125}. | |
+{function, fold_simple, 4, 102}. | |
+ {label,101}. | |
{line,[{location,"couch_key_tree.erl",387}]}. | |
{func_info,{atom,couch_key_tree},{atom,fold_simple},4}. | |
- {label,126}. | |
- {test,is_nonempty_list,{f,129},[{x,3}]}. | |
+ {label,102}. | |
+ {test,is_nonempty_list,{f,105},[{x,3}]}. | |
{get_list,{x,3},{x,4},{x,5}}. | |
- {test,is_tuple,{f,125},[{x,4}]}. | |
- {test,test_arity,{f,125},[{x,4},3]}. | |
- {allocate,7,6}. | |
- {get_tuple_element,{x,4},0,{y,0}}. | |
- {get_tuple_element,{x,4},1,{y,2}}. | |
- {get_tuple_element,{x,4},2,{x,8}}. | |
- {move,{x,1},{y,1}}. | |
- {move,{x,8},{y,3}}. | |
- {move,{x,2},{y,4}}. | |
- {move,{x,0},{y,5}}. | |
- {move,{x,5},{y,6}}. | |
- {test,is_nil,{f,127},[{x,8}]}. | |
- {move,{atom,leaf},{x,0}}. | |
- {jump,{f,128}}. | |
- {label,127}. | |
- {move,{atom,branch},{x,0}}. | |
- {label,128}. | |
- {test_heap,3,1}. | |
- {put_tuple,2,{x,5}}. | |
- {put,{y,4}}. | |
- {put,{y,0}}. | |
- {move,{x,0},{x,2}}. | |
- {move,{y,1},{x,3}}. | |
- {move,{y,2},{x,1}}. | |
- {move,{y,5},{x,4}}. | |
- {trim,3,4}. | |
- {move,{x,5},{x,0}}. | |
+ {test,is_tuple,{f,101},[{x,4}]}. | |
+ {test,test_arity,{f,101},[{x,4},3]}. | |
+ {allocate,4,6}. | |
+ {move,{x,5},{y,1}}. | |
+ {move,{x,2},{y,2}}. | |
+ {move,{x,0},{y,3}}. | |
+ {get_tuple_element,{x,4},2,{y,0}}. | |
+ {test,is_nil,{f,103},[{y,0}]}. | |
+ {move,{atom,leaf},{x,2}}. | |
+ {jump,{f,104}}. | |
+ {label,103}. | |
+ {move,{atom,branch},{x,2}}. | |
+ {label,104}. | |
+ {test_heap,3,5}. | |
+ {get_tuple_element,{x,4},0,{x,0}}. | |
+ {put_tuple2,{x,0},{list,[{y,2},{x,0}]}}. | |
+ {get_tuple_element,{x,4},1,{x,3}}. | |
+ {move,{y,3},{x,4}}. | |
+ {swap,{x,1},{x,3}}. | |
{line,[{location,"couch_key_tree.erl",395}]}. | |
{call_fun,4}. | |
{line,[{location,"couch_key_tree.erl",396}]}. | |
- {gc_bif,'+',{f,0},1,[{y,1},{integer,1}],{x,2}}. | |
+ {gc_bif,'+',{f,0},1,[{y,2},{integer,1}],{x,2}}. | |
{move,{x,0},{x,1}}. | |
{move,{y,0},{x,3}}. | |
{trim,1,3}. | |
- {move,{y,1},{x,0}}. | |
+ {move,{y,2},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",396}]}. | |
- {call,4,{f,126}}. | |
- {move,{y,0},{x,2}}. | |
+ {call,4,{f,102}}. | |
+ {move,{y,1},{x,2}}. | |
{move,{x,0},{x,1}}. | |
- {move,{y,2},{x,3}}. | |
- {move,{y,1},{x,0}}. | |
- {call_last,4,{f,126},3}. | |
- {label,129}. | |
- {test,is_nil,{f,125},[{x,3}]}. | |
+ {move,{y,0},{x,3}}. | |
+ {move,{y,2},{x,0}}. | |
+ {call_last,4,{f,102},3}. | |
+ {label,105}. | |
+ {test,is_nil,{f,101},[{x,3}]}. | |
{move,{x,1},{x,0}}. | |
return. | |
-{function, map, 2, 131}. | |
- {label,130}. | |
+{function, map, 2, 107}. | |
+ {label,106}. | |
{line,[{location,"couch_key_tree.erl",399}]}. | |
{func_info,{atom,couch_key_tree},{atom,map},2}. | |
- {label,131}. | |
- {test,is_nonempty_list,{f,134},[{x,1}]}. | |
+ {label,107}. | |
+ {test,is_nonempty_list,{f,110},[{x,1}]}. | |
{get_list,{x,1},{x,2},{x,3}}. | |
- {test,is_tuple,{f,130},[{x,2}]}. | |
- {test,test_arity,{f,130},[{x,2},2]}. | |
+ {test,is_tuple,{f,106},[{x,2}]}. | |
+ {test,test_arity,{f,106},[{x,2},2]}. | |
{allocate,4,4}. | |
- {get_tuple_element,{x,2},0,{y,3}}. | |
- {get_tuple_element,{x,2},1,{y,2}}. | |
+ {init,{y,0}}. | |
+ {move,{x,2},{y,1}}. | |
+ {move,{x,3},{y,2}}. | |
+ {move,{x,0},{y,3}}. | |
{move,{atom,arity},{x,1}}. | |
- {move,{x,0},{y,0}}. | |
- {move,{x,3},{y,1}}. | |
{line,[{location,"couch_key_tree.erl",402}]}. | |
{call_ext,2,{extfunc,erlang,fun_info,2}}. | |
- {test,is_tagged_tuple,{f,137},[{x,0},2,{atom,arity}]}. | |
- {get_tuple_element,{x,0},1,{x,2}}. | |
- {test,is_integer,{f,137},[{x,2}]}. | |
- {select_val,{x,2}, | |
- {f,137}, | |
- {list,[{integer,3},{f,132},{integer,2},{f,133}]}}. | |
- {label,132}. | |
+ {test,is_tagged_tuple,{f,113},[{x,0},2,{atom,arity}]}. | |
+ {get_tuple_element,{x,0},1,{x,1}}. | |
+ {get_tuple_element,{y,1},0,{y,0}}. | |
+ {get_tuple_element,{y,1},1,{y,1}}. | |
+ {select_val,{x,1}, | |
+ {f,113}, | |
+ {list,[{integer,2},{f,109},{integer,3},{f,108}]}}. | |
+ {label,108}. | |
{test_heap,2,0}. | |
- {put_list,{y,2},nil,{x,2}}. | |
- {move,{y,3},{x,1}}. | |
- {kill,{y,2}}. | |
- {move,{y,0},{x,0}}. | |
+ {put_list,{y,1},nil,{x,2}}. | |
+ {move,{y,0},{x,1}}. | |
+ {kill,{y,1}}. | |
+ {move,{y,3},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",407}]}. | |
- {call,3,{f,139}}. | |
- {test,is_nonempty_list,{f,135},[{x,0}]}. | |
- {get_list,{x,0},{x,1},{x,2}}. | |
- {test,is_nil,{f,135},[{x,2}]}. | |
- {move,{x,1},{y,2}}. | |
- {move,{y,1},{x,1}}. | |
- {move,{y,0},{x,0}}. | |
+ {call,3,{f,115}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_cons, | |
+ {t_tuple,3,true, | |
+ #{3 => | |
+ {t_list, | |
+ {t_tuple,3,true,#{3 => {t_list,any,any}}}, | |
+ nil}}}, | |
+ nil}}]}}. | |
+ {get_list,{x,0},{y,1},{x,1}}. | |
+ {test,is_nil,{f,111},[{x,1}]}. | |
+ {move,{y,2},{x,1}}. | |
+ {move,{y,3},{x,0}}. | |
+ {move,{y,0},{y,3}}. | |
+ {move,{y,1},{y,2}}. | |
{trim,2,2}. | |
{line,[{location,"couch_key_tree.erl",408}]}. | |
- {call,2,{f,131}}. | |
+ {call,2,{f,107}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_tuple,3,true,#{3 => {t_list,{t_tuple,0,false,#{}},nil}}}}}, | |
+ nil}}]}}. | |
{test_heap,5,1}. | |
- {put_tuple,2,{x,1}}. | |
- {put,{y,1}}. | |
- {put,{y,0}}. | |
+ {put_tuple2,{x,1},{list,[{y,1},{y,0}]}}. | |
{put_list,{x,1},{x,0},{x,0}}. | |
{deallocate,2}. | |
return. | |
- {label,133}. | |
- {move,{y,0},{x,0}}. | |
- {make_fun2,{f,261},0,0,1}. | |
+ {label,109}. | |
+ {move,{y,3},{x,0}}. | |
+ {make_fun2,{f,232},0,0,1}. | |
{test_heap,2,1}. | |
- {put_list,{y,2},nil,{x,2}}. | |
- {move,{y,3},{x,1}}. | |
- {kill,{y,2}}. | |
+ {put_list,{y,1},nil,{x,2}}. | |
+ {move,{y,0},{x,1}}. | |
+ {kill,{y,1}}. | |
{line,[{location,"couch_key_tree.erl",404}]}. | |
- {call,3,{f,139}}. | |
- {test,is_nonempty_list,{f,136},[{x,0}]}. | |
- {get_list,{x,0},{x,1},{x,2}}. | |
- {test,is_nil,{f,136},[{x,2}]}. | |
- {move,{x,1},{y,2}}. | |
- {move,{y,1},{x,1}}. | |
- {move,{y,0},{x,0}}. | |
+ {call,3,{f,115}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_cons, | |
+ {t_tuple,3,true, | |
+ #{3 => | |
+ {t_list, | |
+ {t_tuple,3,true,#{3 => {t_list,any,any}}}, | |
+ nil}}}, | |
+ nil}}]}}. | |
+ {get_list,{x,0},{y,1},{x,1}}. | |
+ {test,is_nil,{f,112},[{x,1}]}. | |
+ {move,{y,2},{x,1}}. | |
+ {move,{y,3},{x,0}}. | |
+ {move,{y,0},{y,3}}. | |
+ {move,{y,1},{y,2}}. | |
{trim,2,2}. | |
{line,[{location,"couch_key_tree.erl",405}]}. | |
- {call,2,{f,131}}. | |
+ {call,2,{f,107}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_tuple,3,true,#{3 => {t_list,{t_tuple,0,false,#{}},nil}}}}}, | |
+ nil}}]}}. | |
{test_heap,5,1}. | |
- {put_tuple,2,{x,1}}. | |
- {put,{y,1}}. | |
- {put,{y,0}}. | |
+ {put_tuple2,{x,1},{list,[{y,1},{y,0}]}}. | |
{put_list,{x,1},{x,0},{x,0}}. | |
{deallocate,2}. | |
return. | |
- {label,134}. | |
- {test,is_nil,{f,130},[{x,1}]}. | |
+ {label,110}. | |
+ {test,is_nil,{f,106},[{x,1}]}. | |
{move,nil,{x,0}}. | |
return. | |
- {label,135}. | |
+ {label,111}. | |
{line,[{location,"couch_key_tree.erl",407}]}. | |
{badmatch,{x,0}}. | |
- {label,136}. | |
+ {label,112}. | |
{line,[{location,"couch_key_tree.erl",404}]}. | |
{badmatch,{x,0}}. | |
- {label,137}. | |
+ {label,113}. | |
{line,[{location,"couch_key_tree.erl",402}]}. | |
{case_end,{x,0}}. | |
-{function, map_simple, 3, 139}. | |
- {label,138}. | |
+{function, map_simple, 3, 115}. | |
+ {label,114}. | |
{line,[{location,"couch_key_tree.erl",411}]}. | |
{func_info,{atom,couch_key_tree},{atom,map_simple},3}. | |
- {label,139}. | |
- {test,is_nonempty_list,{f,142},[{x,2}]}. | |
+ {label,115}. | |
+ {test,is_nonempty_list,{f,118},[{x,2}]}. | |
{get_list,{x,2},{x,3},{x,4}}. | |
- {test,is_tuple,{f,138},[{x,3}]}. | |
- {test,test_arity,{f,138},[{x,3},3]}. | |
- {allocate,6,5}. | |
- {get_tuple_element,{x,3},0,{y,5}}. | |
- {get_tuple_element,{x,3},1,{y,0}}. | |
- {get_tuple_element,{x,3},2,{x,7}}. | |
- {move,{x,7},{y,1}}. | |
- {move,{x,1},{y,2}}. | |
- {move,{x,0},{y,3}}. | |
- {move,{x,4},{y,4}}. | |
- {test,is_nil,{f,140},[{x,7}]}. | |
+ {test,is_tuple,{f,114},[{x,3}]}. | |
+ {test,test_arity,{f,114},[{x,3},3]}. | |
+ {allocate,5,5}. | |
+ {init,{y,0}}. | |
+ {move,{x,4},{y,2}}. | |
+ {move,{x,1},{y,3}}. | |
+ {move,{x,0},{y,4}}. | |
+ {get_tuple_element,{x,3},2,{y,1}}. | |
+ {test,is_nil,{f,116},[{y,1}]}. | |
{move,{atom,leaf},{x,0}}. | |
- {jump,{f,141}}. | |
- {label,140}. | |
+ {jump,{f,117}}. | |
+ {label,116}. | |
{move,{atom,branch},{x,0}}. | |
- {label,141}. | |
- {test_heap,3,1}. | |
- {put_tuple,2,{x,4}}. | |
- {put,{y,2}}. | |
- {put,{y,5}}. | |
- {move,{x,0},{x,2}}. | |
- {move,{y,0},{x,1}}. | |
- {move,{y,3},{x,3}}. | |
- {trim,1,5}. | |
- {move,{x,4},{x,0}}. | |
+ {label,117}. | |
+ {test_heap,3,4}. | |
+ {get_tuple_element,{x,3},0,{y,0}}. | |
+ {put_tuple2,{x,1},{list,[{y,3},{y,0}]}}. | |
+ {get_tuple_element,{x,3},1,{x,2}}. | |
+ {move,{y,4},{x,3}}. | |
+ {swap,{x,2},{x,1}}. | |
+ {swap,{x,0},{x,2}}. | |
{line,[{location,"couch_key_tree.erl",414}]}. | |
{call_fun,3}. | |
{line,[{location,"couch_key_tree.erl",422}]}. | |
- {gc_bif,'+',{f,0},1,[{y,1},{integer,1}],{x,1}}. | |
- {move,{x,0},{x,3}}. | |
- {move,{y,0},{x,2}}. | |
- {move,{x,3},{y,0}}. | |
- {move,{y,2},{x,0}}. | |
+ {gc_bif,'+',{f,0},1,[{y,3},{integer,1}],{x,1}}. | |
+ {move,{y,1},{x,3}}. | |
+ {move,{x,0},{y,1}}. | |
+ {move,{y,4},{x,0}}. | |
+ {move,{x,3},{x,2}}. | |
{line,[{location,"couch_key_tree.erl",422}]}. | |
- {call,3,{f,139}}. | |
- {move,{x,0},{x,3}}. | |
- {move,{y,1},{x,1}}. | |
+ {call,3,{f,115}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,3,true, | |
+ #{3 => | |
+ {t_list, | |
+ {t_tuple,3,true,#{3 => {t_list,any,any}}}, | |
+ nil}}}, | |
+ nil}}]}}. | |
+ {move,{y,2},{x,3}}. | |
{move,{y,3},{x,2}}. | |
- {move,{x,3},{y,3}}. | |
- {move,{y,2},{x,0}}. | |
- {kill,{y,1}}. | |
- {kill,{y,2}}. | |
+ {swap,{y,4},{x,0}}. | |
+ {move,{x,2},{x,1}}. | |
+ {move,{x,3},{x,2}}. | |
+ {move,{y,0},{y,3}}. | |
+ {move,{y,1},{y,2}}. | |
+ {trim,2,3}. | |
{line,[{location,"couch_key_tree.erl",422}]}. | |
- {call,3,{f,139}}. | |
+ {call,3,{f,115}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,3,true, | |
+ #{3 => | |
+ {t_list, | |
+ {t_tuple,3,true,#{3 => {t_list,any,any}}}, | |
+ nil}}}, | |
+ nil}}]}}. | |
{test_heap,6,1}. | |
- {put_tuple,3,{x,1}}. | |
- {put,{y,4}}. | |
- {put,{y,0}}. | |
- {put,{y,3}}. | |
+ {put_tuple2,{x,1},{list,[{y,1},{y,0},{y,2}]}}. | |
{put_list,{x,1},{x,0},{x,0}}. | |
- {deallocate,5}. | |
+ {deallocate,3}. | |
return. | |
- {label,142}. | |
- {test,is_nil,{f,138},[{x,2}]}. | |
+ {label,118}. | |
+ {test,is_nil,{f,114},[{x,2}]}. | |
{move,nil,{x,0}}. | |
return. | |
-{function, mapfold, 3, 144}. | |
- {label,143}. | |
+{function, mapfold, 3, 120}. | |
+ {label,119}. | |
{line,[{location,"couch_key_tree.erl",424}]}. | |
{func_info,{atom,couch_key_tree},{atom,mapfold},3}. | |
- {label,144}. | |
- {test,is_nonempty_list,{f,145},[{x,2}]}. | |
+ {label,120}. | |
+ {test,is_nonempty_list,{f,121},[{x,2}]}. | |
{get_list,{x,2},{x,3},{x,4}}. | |
- {test,is_tuple,{f,143},[{x,3}]}. | |
- {test,test_arity,{f,143},[{x,3},2]}. | |
- {allocate_heap,3,2,5}. | |
- {get_tuple_element,{x,3},0,{y,0}}. | |
- {get_tuple_element,{x,3},1,{x,6}}. | |
- {move,{x,0},{y,2}}. | |
- {move,{x,4},{y,1}}. | |
- {put_list,{x,6},nil,{x,3}}. | |
- {move,{y,0},{x,2}}. | |
+ {test,is_tuple,{f,119},[{x,3}]}. | |
+ {test,test_arity,{f,119},[{x,3},2]}. | |
+ {allocate_heap,4,2,5}. | |
+ {init,{y,0}}. | |
+ {move,{x,4},{y,2}}. | |
+ {move,{x,0},{y,3}}. | |
+ {get_tuple_element,{x,3},1,{x,0}}. | |
+ {put_list,{x,0},nil,{x,0}}. | |
+ {get_tuple_element,{x,3},0,{y,1}}. | |
+ {move,{y,1},{x,2}}. | |
+ {move,{x,0},{x,3}}. | |
+ {move,{y,3},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",427}]}. | |
- {call,4,{f,149}}. | |
- {test,is_tuple,{f,147},[{x,0}]}. | |
- {test,test_arity,{f,147},[{x,0},2]}. | |
+ {call,4,{f,124}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{1 => | |
+ {t_cons, | |
+ {t_tuple,3,true, | |
+ #{3 => {t_list,{t_tuple,0,false,#{}},nil}}}, | |
+ nil}}}}]}}. | |
{get_tuple_element,{x,0},0,{x,1}}. | |
- {get_tuple_element,{x,0},1,{x,2}}. | |
- {test,is_nonempty_list,{f,147},[{x,1}]}. | |
- {get_list,{x,1},{x,3},{x,4}}. | |
- {test,is_nil,{f,147},[{x,4}]}. | |
- {move,{x,2},{x,1}}. | |
- {move,{y,1},{x,2}}. | |
- {move,{y,2},{x,0}}. | |
- {move,{x,3},{y,2}}. | |
- {kill,{y,1}}. | |
+ {get_list,{x,1},{y,0},{x,1}}. | |
+ {test,is_nil,{f,122},[{x,1}]}. | |
+ {get_tuple_element,{x,0},1,{x,1}}. | |
+ {move,{y,2},{x,2}}. | |
+ {move,{y,3},{x,0}}. | |
+ {move,{y,0},{y,3}}. | |
+ {move,{y,1},{y,2}}. | |
+ {trim,2,2}. | |
{line,[{location,"couch_key_tree.erl",428}]}. | |
- {call,3,{f,144}}. | |
- {test,is_tuple,{f,146},[{x,0}]}. | |
- {test,test_arity,{f,146},[{x,0},2]}. | |
+ {call,3,{f,120}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{1 => | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_tuple,3,true,#{3 => {t_list,any,any}}}}}, | |
+ nil}}}}]}}. | |
{test_heap,8,1}. | |
{get_tuple_element,{x,0},0,{x,1}}. | |
- {get_tuple_element,{x,0},1,{x,2}}. | |
- {put_tuple,2,{x,3}}. | |
- {put,{y,0}}. | |
- {put,{y,2}}. | |
- {put_list,{x,3},{x,1},{x,1}}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{x,1}}. | |
- {put,{x,2}}. | |
- {deallocate,3}. | |
+ {get_tuple_element,{x,0},1,{x,0}}. | |
+ {put_tuple2,{x,2},{list,[{y,0},{y,1}]}}. | |
+ {put_list,{x,2},{x,1},{x,1}}. | |
+ {put_tuple2,{x,0},{list,[{x,1},{x,0}]}}. | |
+ {deallocate,2}. | |
return. | |
- {label,145}. | |
- {test,is_nil,{f,143},[{x,2}]}. | |
+ {label,121}. | |
+ {test,is_nil,{f,119},[{x,2}]}. | |
{test_heap,3,2}. | |
- {put_tuple,2,{x,0}}. | |
- {put,nil}. | |
- {put,{x,1}}. | |
+ {put_tuple2,{x,0},{list,[nil,{x,1}]}}. | |
return. | |
- {label,146}. | |
- {line,[{location,"couch_key_tree.erl",428}]}. | |
- {badmatch,{x,0}}. | |
- {label,147}. | |
+ {label,122}. | |
{line,[{location,"couch_key_tree.erl",427}]}. | |
{badmatch,{x,0}}. | |
-{function, mapfold_simple, 4, 149}. | |
- {label,148}. | |
+{function, mapfold_simple, 4, 124}. | |
+ {label,123}. | |
{line,[{location,"couch_key_tree.erl",431}]}. | |
{func_info,{atom,couch_key_tree},{atom,mapfold_simple},4}. | |
- {label,149}. | |
- {test,is_nonempty_list,{f,152},[{x,3}]}. | |
+ {label,124}. | |
+ {test,is_nonempty_list,{f,127},[{x,3}]}. | |
{get_list,{x,3},{x,4},{x,5}}. | |
- {test,is_tuple,{f,148},[{x,4}]}. | |
- {test,test_arity,{f,148},[{x,4},3]}. | |
- {allocate,7,6}. | |
- {get_tuple_element,{x,4},0,{y,6}}. | |
- {get_tuple_element,{x,4},1,{y,1}}. | |
- {get_tuple_element,{x,4},2,{x,8}}. | |
- {move,{x,1},{y,0}}. | |
- {move,{x,2},{y,2}}. | |
- {move,{x,0},{y,3}}. | |
- {move,{x,5},{y,4}}. | |
- {move,{x,8},{y,5}}. | |
- {test,is_nil,{f,150},[{x,8}]}. | |
- {move,{atom,leaf},{x,0}}. | |
- {jump,{f,151}}. | |
- {label,150}. | |
- {move,{atom,branch},{x,0}}. | |
- {label,151}. | |
- {test_heap,3,1}. | |
- {put_tuple,2,{x,5}}. | |
- {put,{y,2}}. | |
- {put,{y,6}}. | |
- {move,{x,0},{x,2}}. | |
- {move,{y,0},{x,3}}. | |
- {move,{y,1},{x,1}}. | |
- {move,{y,3},{x,4}}. | |
- {trim,2,5}. | |
- {move,{x,5},{x,0}}. | |
+ {test,is_tuple,{f,123},[{x,4}]}. | |
+ {test,test_arity,{f,123},[{x,4},3]}. | |
+ {allocate,6,6}. | |
+ {init,{y,0}}. | |
+ {init,{y,1}}. | |
+ {move,{x,5},{y,3}}. | |
+ {move,{x,2},{y,4}}. | |
+ {move,{x,0},{y,5}}. | |
+ {get_tuple_element,{x,4},2,{y,2}}. | |
+ {test,is_nil,{f,125},[{y,2}]}. | |
+ {move,{atom,leaf},{x,2}}. | |
+ {jump,{f,126}}. | |
+ {label,125}. | |
+ {move,{atom,branch},{x,2}}. | |
+ {label,126}. | |
+ {test_heap,3,5}. | |
+ {get_tuple_element,{x,4},0,{y,1}}. | |
+ {put_tuple2,{x,0},{list,[{y,4},{y,1}]}}. | |
+ {get_tuple_element,{x,4},1,{x,3}}. | |
+ {move,{y,5},{x,4}}. | |
+ {swap,{x,1},{x,3}}. | |
{line,[{location,"couch_key_tree.erl",434}]}. | |
{call_fun,4}. | |
- {test,is_tuple,{f,155},[{x,0}]}. | |
- {test,test_arity,{f,155},[{x,0},2]}. | |
- {get_tuple_element,{x,0},0,{x,1}}. | |
- {get_tuple_element,{x,0},1,{x,2}}. | |
- {line,[{location,"couch_key_tree.erl",443}]}. | |
- {gc_bif,'+',{f,0},3,[{y,0},{integer,1}],{x,0}}. | |
- {move,{x,1},{x,4}}. | |
- {move,{x,2},{x,1}}. | |
- {move,{x,0},{x,2}}. | |
- {move,{y,3},{x,3}}. | |
- {move,{x,4},{y,3}}. | |
- {move,{y,1},{x,0}}. | |
+ {test,is_tuple,{f,128},[{x,0}]}. | |
+ {test,test_arity,{f,128},[{x,0},2]}. | |
+ {get_tuple_element,{x,0},0,{y,0}}. | |
{line,[{location,"couch_key_tree.erl",443}]}. | |
- {call,4,{f,149}}. | |
- {test,is_tuple,{f,154},[{x,0}]}. | |
- {test,test_arity,{f,154},[{x,0},2]}. | |
+ {gc_bif,'+',{f,0},1,[{y,4},{integer,1}],{x,2}}. | |
{get_tuple_element,{x,0},1,{x,1}}. | |
- {move,{y,0},{x,2}}. | |
{move,{y,2},{x,3}}. | |
+ {kill,{y,2}}. | |
+ {move,{y,5},{x,0}}. | |
+ {line,[{location,"couch_key_tree.erl",443}]}. | |
+ {call,4,{f,124}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{1 => | |
+ {t_list, | |
+ {t_tuple,3,true, | |
+ #{3 => {t_list,{t_tuple,0,false,#{}},nil}}}, | |
+ nil}}}}]}}. | |
{get_tuple_element,{x,0},0,{y,2}}. | |
- {move,{y,1},{x,0}}. | |
- {trim,2,3}. | |
+ {get_tuple_element,{x,0},1,{x,1}}. | |
+ {move,{y,3},{x,3}}. | |
+ {move,{y,4},{x,2}}. | |
+ {move,{y,5},{x,0}}. | |
+ {move,{y,0},{y,5}}. | |
+ {move,{y,1},{y,4}}. | |
+ {move,{y,2},{y,3}}. | |
+ {trim,3,3}. | |
{line,[{location,"couch_key_tree.erl",444}]}. | |
- {call,4,{f,149}}. | |
- {test,is_tuple,{f,153},[{x,0}]}. | |
- {test,test_arity,{f,153},[{x,0},2]}. | |
+ {call,4,{f,124}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{1 => | |
+ {t_list, | |
+ {t_tuple,3,true, | |
+ #{3 => {t_list,{t_tuple,0,false,#{}},nil}}}, | |
+ nil}}}}]}}. | |
{test_heap,9,1}. | |
{get_tuple_element,{x,0},0,{x,1}}. | |
- {get_tuple_element,{x,0},1,{x,2}}. | |
- {put_tuple,3,{x,3}}. | |
- {put,{y,2}}. | |
- {put,{y,1}}. | |
- {put,{y,0}}. | |
- {put_list,{x,3},{x,1},{x,1}}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{x,1}}. | |
- {put,{x,2}}. | |
+ {get_tuple_element,{x,0},1,{x,0}}. | |
+ {put_tuple2,{x,2},{list,[{y,1},{y,2},{y,0}]}}. | |
+ {put_list,{x,2},{x,1},{x,1}}. | |
+ {put_tuple2,{x,0},{list,[{x,1},{x,0}]}}. | |
{deallocate,3}. | |
return. | |
- {label,152}. | |
- {test,is_nil,{f,148},[{x,3}]}. | |
+ {label,127}. | |
+ {test,is_nil,{f,123},[{x,3}]}. | |
{test_heap,3,2}. | |
- {put_tuple,2,{x,0}}. | |
- {put,nil}. | |
- {put,{x,1}}. | |
+ {put_tuple2,{x,0},{list,[nil,{x,1}]}}. | |
return. | |
- {label,153}. | |
- {line,[{location,"couch_key_tree.erl",444}]}. | |
- {badmatch,{x,0}}. | |
- {label,154}. | |
- {line,[{location,"couch_key_tree.erl",443}]}. | |
- {badmatch,{x,0}}. | |
- {label,155}. | |
+ {label,128}. | |
{line,[{location,"couch_key_tree.erl",434}]}. | |
{badmatch,{x,0}}. | |
-{function, map_leafs, 2, 157}. | |
- {label,156}. | |
+{function, map_leafs, 2, 130}. | |
+ {label,129}. | |
{line,[{location,"couch_key_tree.erl",447}]}. | |
{func_info,{atom,couch_key_tree},{atom,map_leafs},2}. | |
- {label,157}. | |
- {test,is_nonempty_list,{f,158},[{x,1}]}. | |
+ {label,130}. | |
+ {test,is_nonempty_list,{f,131},[{x,1}]}. | |
{get_list,{x,1},{x,2},{x,3}}. | |
- {test,is_tuple,{f,156},[{x,2}]}. | |
- {test,test_arity,{f,156},[{x,2},2]}. | |
- {allocate_heap,3,2,4}. | |
- {get_tuple_element,{x,2},0,{y,0}}. | |
- {get_tuple_element,{x,2},1,{x,5}}. | |
- {move,{x,0},{y,2}}. | |
- {move,{x,3},{y,1}}. | |
- {put_list,{x,5},nil,{x,2}}. | |
- {move,{y,0},{x,1}}. | |
- {line,[{location,"couch_key_tree.erl",450}]}. | |
- {call,3,{f,161}}. | |
- {test,is_nonempty_list,{f,159},[{x,0}]}. | |
- {get_list,{x,0},{x,1},{x,2}}. | |
- {test,is_nil,{f,159},[{x,2}]}. | |
- {move,{x,1},{x,2}}. | |
+ {test,is_tuple,{f,129},[{x,2}]}. | |
+ {test,test_arity,{f,129},[{x,2},2]}. | |
+ {allocate_heap,4,2,4}. | |
+ {init,{y,0}}. | |
+ {move,{x,3},{y,2}}. | |
+ {move,{x,0},{y,3}}. | |
+ {get_tuple_element,{x,2},1,{x,0}}. | |
+ {put_list,{x,0},nil,{x,0}}. | |
+ {get_tuple_element,{x,2},0,{y,1}}. | |
{move,{y,1},{x,1}}. | |
- {move,{y,2},{x,0}}. | |
- {move,{x,2},{y,2}}. | |
- {kill,{y,1}}. | |
+ {move,{x,0},{x,2}}. | |
+ {move,{y,3},{x,0}}. | |
+ {line,[{location,"couch_key_tree.erl",450}]}. | |
+ {call,3,{f,134}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_cons, | |
+ {t_tuple,3,true, | |
+ #{3 => | |
+ {t_list, | |
+ {t_tuple,3,true,#{3 => {t_list,any,any}}}, | |
+ nil}}}, | |
+ nil}}]}}. | |
+ {get_list,{x,0},{y,0},{x,1}}. | |
+ {test,is_nil,{f,132},[{x,1}]}. | |
+ {move,{y,2},{x,1}}. | |
+ {move,{y,3},{x,0}}. | |
+ {move,{y,0},{y,3}}. | |
+ {move,{y,1},{y,2}}. | |
+ {trim,2,2}. | |
{line,[{location,"couch_key_tree.erl",451}]}. | |
- {call,2,{f,157}}. | |
+ {call,2,{f,130}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_tuple,3,true,#{3 => {t_list,{t_tuple,0,false,#{}},nil}}}}}, | |
+ nil}}]}}. | |
{test_heap,5,1}. | |
- {put_tuple,2,{x,1}}. | |
- {put,{y,0}}. | |
- {put,{y,2}}. | |
+ {put_tuple2,{x,1},{list,[{y,0},{y,1}]}}. | |
{put_list,{x,1},{x,0},{x,0}}. | |
- {deallocate,3}. | |
+ {deallocate,2}. | |
return. | |
- {label,158}. | |
- {test,is_nil,{f,156},[{x,1}]}. | |
+ {label,131}. | |
+ {test,is_nil,{f,129},[{x,1}]}. | |
{move,nil,{x,0}}. | |
return. | |
- {label,159}. | |
+ {label,132}. | |
{line,[{location,"couch_key_tree.erl",450}]}. | |
{badmatch,{x,0}}. | |
-{function, map_leafs_simple, 3, 161}. | |
- {label,160}. | |
+{function, map_leafs_simple, 3, 134}. | |
+ {label,133}. | |
{line,[{location,"couch_key_tree.erl",453}]}. | |
{func_info,{atom,couch_key_tree},{atom,map_leafs_simple},3}. | |
- {label,161}. | |
- {test,is_nonempty_list,{f,163},[{x,2}]}. | |
+ {label,134}. | |
+ {test,is_nonempty_list,{f,136},[{x,2}]}. | |
{get_list,{x,2},{x,3},{x,4}}. | |
- {test,is_tuple,{f,160},[{x,3}]}. | |
- {test,test_arity,{f,160},[{x,3},3]}. | |
- {get_tuple_element,{x,3},0,{x,5}}. | |
- {get_tuple_element,{x,3},1,{x,6}}. | |
- {get_tuple_element,{x,3},2,{x,7}}. | |
- {test,is_nil,{f,162},[{x,7}]}. | |
- {allocate_heap,4,3,7}. | |
- {move,{x,1},{y,3}}. | |
- {move,{x,0},{y,2}}. | |
+ {test,is_tuple,{f,133},[{x,3}]}. | |
+ {test,test_arity,{f,133},[{x,3},3]}. | |
+ {get_tuple_element,{x,3},0,{x,2}}. | |
+ {get_tuple_element,{x,3},1,{x,5}}. | |
+ {get_tuple_element,{x,3},2,{x,3}}. | |
+ {test,is_nil,{f,135},[{x,3}]}. | |
+ {allocate_heap,4,3,6}. | |
+ {move,{x,2},{y,0}}. | |
{move,{x,4},{y,1}}. | |
- {move,{x,5},{y,0}}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{y,3}}. | |
- {put,{x,5}}. | |
- {move,{y,2},{x,2}}. | |
- {move,{x,6},{x,1}}. | |
+ {move,{x,1},{y,2}}. | |
+ {move,{x,0},{y,3}}. | |
+ {put_tuple2,{x,0},{list,[{x,1},{x,2}]}}. | |
+ {move,{y,3},{x,2}}. | |
+ {move,{x,5},{x,1}}. | |
{line,[{location,"couch_key_tree.erl",456}]}. | |
{call_fun,2}. | |
- {move,{x,0},{x,3}}. | |
- {move,{y,3},{x,1}}. | |
- {move,{y,1},{x,2}}. | |
- {move,{x,3},{y,3}}. | |
- {move,{y,2},{x,0}}. | |
- {kill,{y,1}}. | |
- {kill,{y,2}}. | |
+ {move,{y,1},{x,3}}. | |
+ {move,{y,2},{x,2}}. | |
+ {swap,{y,3},{x,0}}. | |
+ {move,{x,2},{x,1}}. | |
+ {move,{x,3},{x,2}}. | |
+ {move,{y,0},{y,2}}. | |
+ {trim,2,2}. | |
{line,[{location,"couch_key_tree.erl",457}]}. | |
- {call,3,{f,161}}. | |
+ {call,3,{f,134}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,3,true, | |
+ #{3 => | |
+ {t_list, | |
+ {t_tuple,3,true,#{3 => {t_list,any,any}}}, | |
+ nil}}}, | |
+ nil}}]}}. | |
{test_heap,6,1}. | |
- {put_tuple,3,{x,1}}. | |
- {put,{y,0}}. | |
- {put,{y,3}}. | |
- {put,nil}. | |
+ {put_tuple2,{x,1},{list,[{y,0},{y,1},nil]}}. | |
{put_list,{x,1},{x,0},{x,0}}. | |
- {deallocate,4}. | |
+ {deallocate,2}. | |
return. | |
- {label,162}. | |
- {allocate_zero,5,8}. | |
+ {label,135}. | |
{line,[{location,"couch_key_tree.erl",459}]}. | |
- {gc_bif,'+',{f,0},8,[{x,1},{integer,1}],{x,2}}. | |
- {move,{x,1},{y,0}}. | |
- {move,{x,2},{x,1}}. | |
- {move,{x,7},{x,2}}. | |
- {move,{x,0},{y,1}}. | |
+ {gc_bif,'+',{f,0},6,[{x,1},{integer,1}],{x,6}}. | |
+ {allocate,5,7}. | |
+ {move,{x,2},{y,0}}. | |
+ {move,{x,5},{y,1}}. | |
{move,{x,4},{y,2}}. | |
- {move,{x,6},{y,3}}. | |
- {move,{x,5},{y,4}}. | |
+ {move,{x,1},{y,3}}. | |
+ {move,{x,0},{y,4}}. | |
+ {move,{x,3},{x,2}}. | |
+ {move,{x,6},{x,1}}. | |
{line,[{location,"couch_key_tree.erl",459}]}. | |
- {call,3,{f,161}}. | |
- {move,{x,0},{x,3}}. | |
- {move,{y,0},{x,1}}. | |
- {move,{y,2},{x,2}}. | |
- {move,{x,3},{y,2}}. | |
- {move,{y,1},{x,0}}. | |
+ {call,3,{f,134}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,3,true, | |
+ #{3 => | |
+ {t_list, | |
+ {t_tuple,3,true,#{3 => {t_list,any,any}}}, | |
+ nil}}}, | |
+ nil}}]}}. | |
+ {move,{y,2},{x,3}}. | |
+ {move,{y,3},{x,2}}. | |
+ {swap,{y,4},{x,0}}. | |
+ {move,{x,2},{x,1}}. | |
+ {move,{x,3},{x,2}}. | |
+ {move,{y,0},{y,3}}. | |
+ {move,{y,1},{y,2}}. | |
{trim,2,3}. | |
{line,[{location,"couch_key_tree.erl",459}]}. | |
- {call,3,{f,161}}. | |
+ {call,3,{f,134}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,3,true, | |
+ #{3 => | |
+ {t_list, | |
+ {t_tuple,3,true,#{3 => {t_list,any,any}}}, | |
+ nil}}}, | |
+ nil}}]}}. | |
{test_heap,6,1}. | |
- {put_tuple,3,{x,1}}. | |
- {put,{y,2}}. | |
- {put,{y,1}}. | |
- {put,{y,0}}. | |
+ {put_tuple2,{x,1},{list,[{y,1},{y,0},{y,2}]}}. | |
{put_list,{x,1},{x,0},{x,0}}. | |
{deallocate,3}. | |
return. | |
- {label,163}. | |
- {test,is_nil,{f,160},[{x,2}]}. | |
+ {label,136}. | |
+ {test,is_nil,{f,133},[{x,2}]}. | |
{move,nil,{x,0}}. | |
return. | |
-{function, stem, 2, 165}. | |
- {label,164}. | |
+{function, stem, 2, 138}. | |
+ {label,137}. | |
{line,[{location,"couch_key_tree.erl",461}]}. | |
{func_info,{atom,couch_key_tree},{atom,stem},2}. | |
- {label,165}. | |
+ {label,138}. | |
{allocate,4,2}. | |
{init,{y,0}}. | |
- {move,{x,0},{y,2}}. | |
{move,{x,1},{y,1}}. | |
+ {move,{x,0},{y,2}}. | |
+ {'try',{y,3},{f,139}}. | |
{move,{x,1},{x,0}}. | |
- {'try',{y,3},{f,166}}. | |
- {make_fun2,{f,257},0,0,1}. | |
+ {make_fun2,{f,229},0,0,1}. | |
+ {'%',{var_info,{x,0},[{fun_type,{t_tuple,2,true,#{}}}]}}. | |
{move,{x,0},{y,0}}. | |
{line,[{location,"couch_key_tree.erl",468}]}. | |
{call_ext,0,{extfunc,sets,new,0}}. | |
{test_heap,3,1}. | |
- {put_tuple,2,{x,1}}. | |
- {put,{x,0}}. | |
- {put,nil}. | |
+ {put_tuple2,{x,1},{list,[{x,0},nil]}}. | |
{move,{y,2},{x,2}}. | |
{move,{y,0},{x,0}}. | |
{kill,{y,0}}. | |
{line,[{location,"couch_key_tree.erl",463}]}. | |
{call_ext,3,{extfunc,lists,foldl,3}}. | |
- {test,is_tuple,{f,168},[{x,0}]}. | |
- {test,test_arity,{f,168},[{x,0},2]}. | |
+ {test,is_tuple,{f,141},[{x,0}]}. | |
+ {test,test_arity,{f,141},[{x,0},2]}. | |
{get_tuple_element,{x,0},1,{x,0}}. | |
{line,[{location,"couch_key_tree.erl",471}]}. | |
{call_ext,1,{extfunc,lists,sort,1}}. | |
{try_end,{y,3}}. | |
{deallocate,4}. | |
return. | |
- {label,166}. | |
+ {label,139}. | |
{try_case,{y,3}}. | |
- {test,is_eq_exact,{f,167},[{x,0},{atom,throw}]}. | |
- {test,is_eq_exact,{f,167},[{x,1},{atom,dupe_keys}]}. | |
+ {test,is_eq_exact,{f,140},[{x,0},{atom,throw}]}. | |
+ {test,is_eq_exact,{f,140},[{x,1},{atom,dupe_keys}]}. | |
{move,{y,1},{x,1}}. | |
{move,{y,2},{x,0}}. | |
- {call_last,2,{f,187},4}. | |
- {label,167}. | |
- {line,[]}. | |
+ {call_last,2,{f,160},4}. | |
+ {label,140}. | |
{bif,raise,{f,0},[{x,2},{x,1}],{x,0}}. | |
- {label,168}. | |
- {line,[{location,"couch_key_tree.erl",463}]}. | |
+ {label,141}. | |
+ {line,[{scope,[2]},{location,"couch_key_tree.erl",463}]}. | |
{badmatch,{x,0}}. | |
-{function, stem_tree, 3, 170}. | |
- {label,169}. | |
+{function, stem_tree, 3, 143}. | |
+ {label,142}. | |
{line,[{location,"couch_key_tree.erl",477}]}. | |
{func_info,{atom,couch_key_tree},{atom,stem_tree},3}. | |
- {label,170}. | |
- {test,is_tuple,{f,169},[{x,0}]}. | |
- {test,test_arity,{f,169},[{x,0},2]}. | |
+ {label,143}. | |
+ {test,is_tuple,{f,142},[{x,0}]}. | |
+ {test,test_arity,{f,142},[{x,0},2]}. | |
{allocate,1,3}. | |
- {get_tuple_element,{x,0},1,{x,4}}. | |
- {get_tuple_element,{x,0},0,{x,0}}. | |
+ {get_tuple_element,{x,0},0,{y,0}}. | |
+ {get_tuple_element,{x,0},1,{x,0}}. | |
{move,{x,2},{x,3}}. | |
{move,{x,1},{x,2}}. | |
- {move,{x,4},{x,1}}. | |
- {move,{x,0},{y,0}}. | |
+ {move,{x,0},{x,1}}. | |
+ {move,{y,0},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",478}]}. | |
- {call,4,{f,175}}. | |
- {test,is_tuple,{f,173},[{x,0}]}. | |
- {select_tuple_arity,{x,0},{f,173},{list,[4,{f,171},3,{f,172}]}}. | |
- {label,171}. | |
+ {call,4,{f,148}}. | |
+ {'%',{var_info,{x,0},[{type,{t_tuple,3,false,#{2 => number}}}]}}. | |
+ {select_tuple_arity,{x,0},{f,146},{list,[3,{f,145},4,{f,144}]}}. | |
+ {label,144}. | |
{test_heap,8,1}. | |
{get_tuple_element,{x,0},0,{x,1}}. | |
{get_tuple_element,{x,0},2,{x,2}}. | |
- {get_tuple_element,{x,0},3,{x,3}}. | |
- {put_tuple,2,{x,4}}. | |
- {put,{y,0}}. | |
- {put,{x,2}}. | |
- {put_list,{x,4},{x,3},{x,2}}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{x,1}}. | |
- {put,{x,2}}. | |
+ {get_tuple_element,{x,0},3,{x,0}}. | |
+ {put_tuple2,{x,2},{list,[{y,0},{x,2}]}}. | |
+ {put_list,{x,2},{x,0},{x,0}}. | |
+ {put_tuple2,{x,0},{list,[{x,1},{x,0}]}}. | |
{deallocate,1}. | |
return. | |
- {label,172}. | |
+ {label,145}. | |
{test_heap,3,1}. | |
{get_tuple_element,{x,0},0,{x,1}}. | |
- {get_tuple_element,{x,0},2,{x,2}}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{x,1}}. | |
- {put,{x,2}}. | |
+ {get_tuple_element,{x,0},2,{x,0}}. | |
+ {put_tuple2,{x,0},{list,[{x,1},{x,0}]}}. | |
{deallocate,1}. | |
return. | |
- {label,173}. | |
+ {label,146}. | |
{line,[{location,"couch_key_tree.erl",478}]}. | |
{case_end,{x,0}}. | |
-{function, stem_tree, 4, 175}. | |
- {label,174}. | |
+{function, stem_tree, 4, 148}. | |
+ {label,147}. | |
{line,[{location,"couch_key_tree.erl",485}]}. | |
{func_info,{atom,couch_key_tree},{atom,stem_tree},4}. | |
- {label,175}. | |
- {test,is_tuple,{f,174},[{x,1}]}. | |
- {test,test_arity,{f,174},[{x,1},3]}. | |
+ {label,148}. | |
+ {test,is_tuple,{f,147},[{x,1}]}. | |
+ {test,test_arity,{f,147},[{x,1},3]}. | |
{get_tuple_element,{x,1},0,{x,4}}. | |
- {get_tuple_element,{x,1},1,{x,5}}. | |
- {get_tuple_element,{x,1},2,{x,6}}. | |
- {test,is_nil,{f,176},[{x,6}]}. | |
+ {get_tuple_element,{x,1},2,{x,5}}. | |
+ {test,is_nil,{f,149},[{x,5}]}. | |
{allocate,2,5}. | |
+ {move,{x,2},{y,0}}. | |
{move,{x,1},{y,1}}. | |
{move,{x,3},{x,1}}. | |
- {move,{x,2},{y,0}}. | |
{move,{x,4},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",486}]}. | |
- {call,2,{f,182}}. | |
+ {call,2,{f,155}}. | |
{line,[{location,"couch_key_tree.erl",486}]}. | |
{gc_bif,'-',{f,0},1,[{y,0},{integer,1}],{x,1}}. | |
{test_heap,5,2}. | |
- {put_tuple,4,{x,2}}. | |
- {put,{x,0}}. | |
- {put,{x,1}}. | |
- {put,{y,1}}. | |
- {put,nil}. | |
- {move,{x,2},{x,0}}. | |
+ {put_tuple2,{x,0},{list,[{x,0},{x,1},{y,1},nil]}}. | |
{deallocate,2}. | |
return. | |
- {label,176}. | |
- {allocate,5,7}. | |
- {move,{x,0},{y,2}}. | |
- {move,{x,3},{x,1}}. | |
- {move,{x,2},{y,0}}. | |
- {move,{x,6},{y,1}}. | |
+ {label,149}. | |
+ {allocate,7,6}. | |
+ {init,{y,0}}. | |
+ {init,{y,1}}. | |
+ {move,{x,4},{y,2}}. | |
{move,{x,5},{y,3}}. | |
- {move,{x,4},{y,4}}. | |
+ {move,{x,2},{y,4}}. | |
+ {move,{x,1},{y,5}}. | |
+ {move,{x,0},{y,6}}. | |
+ {move,{x,3},{x,1}}. | |
{move,{x,4},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",488}]}. | |
- {call,2,{f,182}}. | |
- {move,{x,0},{x,2}}. | |
- {move,{y,2},{x,1}}. | |
- {move,{y,0},{x,0}}. | |
- {move,{x,2},{y,0}}. | |
- {make_fun2,{f,251},0,0,2}. | |
+ {call,2,{f,155}}. | |
+ {move,{y,4},{x,2}}. | |
+ {move,{x,0},{y,4}}. | |
+ {move,{y,6},{x,0}}. | |
+ {move,{x,2},{x,1}}. | |
+ {make_fun2,{f,223},0,0,2}. | |
+ {'%',{var_info,{x,0},[{fun_type,{t_tuple,4,true,#{}}}]}}. | |
{test_heap,5,1}. | |
- {put_tuple,4,{x,1}}. | |
- {put,{y,0}}. | |
- {put,{integer,-1}}. | |
- {put,nil}. | |
- {put,nil}. | |
- {move,{y,1},{x,2}}. | |
- {kill,{y,0}}. | |
- {kill,{y,1}}. | |
+ {put_tuple2,{x,1},{list,[{y,4},{integer,-1},nil,nil]}}. | |
+ {move,{y,3},{x,2}}. | |
+ {kill,{y,3}}. | |
+ {kill,{y,4}}. | |
{line,[{location,"couch_key_tree.erl",489}]}. | |
{call_ext,3,{extfunc,lists,foldl,3}}. | |
- {test,is_tuple,{f,180},[{x,0}]}. | |
- {test,test_arity,{f,180},[{x,0},4]}. | |
- {get_tuple_element,{x,0},0,{x,1}}. | |
- {get_tuple_element,{x,0},1,{x,2}}. | |
- {get_tuple_element,{x,0},2,{x,3}}. | |
- {get_tuple_element,{x,0},3,{x,4}}. | |
- {gc_bif,length,{f,177},5,[{x,3}],{x,0}}. | |
- {test,is_lt,{f,177},[{integer,0},{x,2}]}. | |
- {test,is_lt,{f,177},[{integer,0},{x,0}]}. | |
- {move,{x,2},{y,0}}. | |
- {move,{x,4},{y,1}}. | |
- {move,{x,1},{y,2}}. | |
- {move,{x,3},{x,0}}. | |
+ {test,is_tuple,{f,153},[{x,0}]}. | |
+ {test,test_arity,{f,153},[{x,0},4]}. | |
+ {get_tuple_element,{x,0},0,{y,4}}. | |
+ {get_tuple_element,{x,0},1,{y,3}}. | |
+ {get_tuple_element,{x,0},2,{y,1}}. | |
+ {get_tuple_element,{x,0},3,{y,0}}. | |
+ {test,is_lt,{f,150},[{integer,0},{y,3}]}. | |
+ {gc_bif,length,{f,150},0,[{y,1}],{x,0}}. | |
+ {test,is_lt,{f,150},[{integer,0},{x,0}]}. | |
+ {move,{y,1},{x,0}}. | |
+ {move,{y,0},{y,6}}. | |
+ {trim,2,5}. | |
{line,[{location,"couch_key_tree.erl",510}]}. | |
{call_ext,1,{extfunc,lists,reverse,1}}. | |
{test_heap,4,1}. | |
- {put_tuple,3,{x,1}}. | |
- {put,{y,4}}. | |
- {put,{y,3}}. | |
- {put,{x,0}}. | |
+ {get_tuple_element,{y,3},1,{x,1}}. | |
+ {put_tuple2,{x,0},{list,[{y,0},{x,1},{x,0}]}}. | |
{line,[{location,"couch_key_tree.erl",511}]}. | |
- {gc_bif,'-',{f,0},2,[{y,0},{integer,1}],{x,0}}. | |
+ {gc_bif,'-',{f,0},1,[{y,1},{integer,1}],{x,1}}. | |
{test_heap,5,2}. | |
- {put_tuple,4,{x,2}}. | |
- {put,{y,2}}. | |
- {put,{x,0}}. | |
- {put,{x,1}}. | |
- {put,{y,1}}. | |
- {move,{x,2},{x,0}}. | |
+ {put_tuple2,{x,0},{list,[{y,2},{x,1},{x,0},{y,4}]}}. | |
{deallocate,5}. | |
return. | |
- {label,177}. | |
- {test,is_eq_exact,{f,178},[{x,2},{integer,0}]}. | |
- {gc_bif,length,{f,178},5,[{x,3}],{x,0}}. | |
- {test,is_lt,{f,178},[{integer,0},{x,0}]}. | |
- {move,{y,2},{x,0}}. | |
- {move,{x,3},{y,2}}. | |
- {move,{x,4},{y,3}}. | |
- {move,{x,1},{y,4}}. | |
- {make_fun2,{f,249},0,0,1}. | |
- {move,{x,0},{x,1}}. | |
- {move,{y,2},{x,0}}. | |
- {move,{x,1},{y,2}}. | |
+ {label,150}. | |
+ {test,is_eq_exact,{f,151},[{y,3},{integer,0}]}. | |
+ {gc_bif,length,{f,151},0,[{y,1}],{x,0}}. | |
+ {test,is_lt,{f,151},[{integer,0},{x,0}]}. | |
+ {move,{y,6},{x,0}}. | |
+ {make_fun2,{f,221},0,0,1}. | |
+ {'%',{var_info,{x,0},[{fun_type,{t_tuple,2,true,#{1 => number}}}]}}. | |
+ {move,{x,0},{y,6}}. | |
+ {move,{y,1},{x,0}}. | |
+ {move,{y,0},{y,5}}. | |
+ {trim,4,3}. | |
{line,[{location,"couch_key_tree.erl",517}]}. | |
{call_ext,1,{extfunc,lists,reverse,1}}. | |
{move,{x,0},{x,1}}. | |
{move,{y,2},{x,0}}. | |
- {trim,3,2}. | |
+ {move,{y,0},{y,2}}. | |
+ {trim,1,2}. | |
{line,[{location,"couch_key_tree.erl",513}]}. | |
{call_ext,2,{extfunc,lists,map,2}}. | |
{move,{y,0},{x,1}}. | |
@@ -2180,77 +2388,79 @@ | |
{line,[{location,"couch_key_tree.erl",519}]}. | |
{call_ext,2,{extfunc,erlang,'++',2}}. | |
{test_heap,4,1}. | |
- {put_tuple,3,{x,1}}. | |
- {put,{y,0}}. | |
- {put,{integer,-1}}. | |
- {put,{x,0}}. | |
- {move,{x,1},{x,0}}. | |
+ {put_tuple2,{x,0},{list,[{y,0},{integer,-1},{x,0}]}}. | |
{deallocate,1}. | |
return. | |
- {label,178}. | |
- {gc_bif,length,{f,179},5,[{x,3}],{x,0}}. | |
- {test,is_lt,{f,179},[{x,2},{integer,0}]}. | |
- {test,is_eq_exact,{f,179},[{x,0},{integer,0}]}. | |
+ {label,151}. | |
+ {test,is_lt,{f,152},[{y,3},{integer,0}]}. | |
+ {gc_bif,length,{f,152},0,[{y,1}],{x,0}}. | |
+ {test,is_eq_exact,{f,152},[{x,0},{integer,0}]}. | |
{line,[{location,"couch_key_tree.erl",521}]}. | |
- {gc_bif,'-',{f,0},5,[{x,2},{integer,1}],{x,0}}. | |
- {test_heap,4,5}. | |
- {put_tuple,3,{x,2}}. | |
- {put,{x,1}}. | |
- {put,{x,0}}. | |
- {put,{x,4}}. | |
- {move,{x,2},{x,0}}. | |
- {deallocate,5}. | |
+ {gc_bif,'-',{f,0},0,[{y,3},{integer,1}],{x,0}}. | |
+ {test_heap,4,1}. | |
+ {put_tuple2,{x,0},{list,[{y,4},{x,0},{y,0}]}}. | |
+ {deallocate,7}. | |
return. | |
- {label,179}. | |
+ {label,152}. | |
{line,[{location,"couch_key_tree.erl",508}]}. | |
- {case_end,{x,2}}. | |
- {label,180}. | |
+ {case_end,{y,3}}. | |
+ {label,153}. | |
{line,[{location,"couch_key_tree.erl",507}]}. | |
{badmatch,{x,0}}. | |
-{function, check_key, 2, 182}. | |
- {label,181}. | |
+{function, check_key, 2, 155}. | |
+ {label,154}. | |
{line,[{location,"couch_key_tree.erl",524}]}. | |
{func_info,{atom,couch_key_tree},{atom,check_key},2}. | |
- {label,182}. | |
+ {label,155}. | |
{allocate,2,2}. | |
{move,{x,1},{y,0}}. | |
{move,{x,0},{y,1}}. | |
{line,[{location,"couch_key_tree.erl",525}]}. | |
{call_ext,2,{extfunc,sets,is_element,2}}. | |
- {test,is_atom,{f,185},[{x,0}]}. | |
{select_val,{x,0}, | |
- {f,185}, | |
- {list,[{atom,false},{f,183},{atom,true},{f,184}]}}. | |
- {label,183}. | |
+ {f,158}, | |
+ {list,[{atom,false},{f,157},{atom,true},{f,156}]}}. | |
+ {label,156}. | |
+ {move,{atom,dupe_keys},{x,0}}. | |
+ {line,[{location,"couch_key_tree.erl",527}]}. | |
+ {call_ext_last,1,{extfunc,erlang,throw,1},2}. | |
+ {label,157}. | |
{move,{y,0},{x,1}}. | |
{move,{y,1},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",529}]}. | |
{call_ext_last,2,{extfunc,sets,add_element,2},2}. | |
- {label,184}. | |
- {move,{atom,dupe_keys},{x,0}}. | |
- {line,[{location,"couch_key_tree.erl",527}]}. | |
- {call_ext,1,{extfunc,erlang,throw,1}}. | |
- {label,185}. | |
+ {label,158}. | |
{line,[{location,"couch_key_tree.erl",525}]}. | |
{case_end,{x,0}}. | |
-{function, repair_tree, 2, 187}. | |
- {label,186}. | |
+{function, repair_tree, 2, 160}. | |
+ {label,159}. | |
{line,[{location,"couch_key_tree.erl",532}]}. | |
{func_info,{atom,couch_key_tree},{atom,repair_tree},2}. | |
- {label,187}. | |
+ {label,160}. | |
{allocate,1,2}. | |
{move,{x,0},{y,0}}. | |
{move,{x,1},{x,0}}. | |
- {make_fun2,{f,246},0,0,1}. | |
- {move,{x,0},{x,1}}. | |
- {move,{y,0},{x,0}}. | |
- {move,{x,1},{y,0}}. | |
+ {make_fun2,{f,218},0,0,1}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{fun_type, | |
+ {t_tuple,2,true,#{1 => number,2 => {t_list,any,nil}}}}]}}. | |
+ {swap,{y,0},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",540}]}. | |
- {call,1,{f,98}}. | |
+ {call,1,{f,74}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_cons,{t_tuple,2,true,#{}},nil}}}, | |
+ nil}}]}}. | |
{move,{x,0},{x,1}}. | |
{move,{y,0},{x,0}}. | |
{kill,{y,0}}. | |
@@ -2259,83 +2469,95 @@ | |
{line,[{location,"couch_key_tree.erl",534}]}. | |
{call_ext,1,{extfunc,lists,sort,1}}. | |
{move,{x,0},{y,0}}. | |
- {make_fun2,{f,240},0,0,0}. | |
+ {make_fun2,{f,213},0,0,0}. | |
+ {'%',{var_info,{x,0},[{fun_type,{t_list,any,nil}}]}}. | |
{move,{y,0},{x,2}}. | |
{move,nil,{x,1}}. | |
{line,[{location,"couch_key_tree.erl",545}]}. | |
{call_ext_last,3,{extfunc,lists,foldl,3},1}. | |
-{function, value_pref, 2, 189}. | |
- {label,188}. | |
+{function, value_pref, 2, 162}. | |
+ {label,161}. | |
{line,[{location,"couch_key_tree.erl",557}]}. | |
{func_info,{atom,couch_key_tree},{atom,value_pref},2}. | |
- {label,189}. | |
- {bif,tuple_size,{f,190},[{x,0}],{x,2}}. | |
- {test,is_ne_exact,{f,194},[{x,2},{integer,3}]}. | |
- {test,test_arity,{f,190},[{x,0},4]}. | |
- {jump,{f,194}}. | |
- {label,190}. | |
- {bif,tuple_size,{f,192},[{x,1}],{x,2}}. | |
- {test,is_ne_exact,{f,191},[{x,2},{integer,3}]}. | |
- {test,test_arity,{f,192},[{x,1},4]}. | |
- {label,191}. | |
- {move,{x,1},{x,0}}. | |
+ {label,162}. | |
+ {test,is_tuple,{f,164},[{x,0}]}. | |
+ {test,test_arity,{f,163},[{x,0},3]}. | |
return. | |
- {label,192}. | |
- {test,is_nil,{f,193},[{x,0}]}. | |
- {move,{x,1},{x,0}}. | |
+ {label,163}. | |
+ {test,test_arity,{f,164},[{x,0},4]}. | |
return. | |
- {label,193}. | |
- {test,is_nil,{f,194},[{x,1}]}. | |
+ {label,164}. | |
+ {test,is_tuple,{f,166},[{x,1}]}. | |
+ {test,test_arity,{f,165},[{x,1},3]}. | |
+ {jump,{f,167}}. | |
+ {label,165}. | |
+ {test,test_arity,{f,166},[{x,1},4]}. | |
+ {jump,{f,167}}. | |
+ {label,166}. | |
+ {test,is_nil,{f,168},[{x,0}]}. | |
+ {label,167}. | |
+ {move,{x,1},{x,0}}. | |
return. | |
- {label,194}. | |
+ {label,168}. | |
return. | |
-{function, gen_and_stem, 0, 196}. | |
- {label,195}. | |
+{function, gen_and_stem, 0, 170}. | |
+ {label,169}. | |
{line,[{location,"couch_key_tree.erl",578}]}. | |
{func_info,{atom,couch_key_tree},{atom,gen_and_stem},0}. | |
- {label,196}. | |
+ {label,170}. | |
{move,{float,0.0008},{x,1}}. | |
{move,{literal,{1647,841737,351137}},{x,2}}. | |
{move,{integer,7000},{x,0}}. | |
- {call_only,3,{f,198}}. | |
+ {call_only,3,{f,172}}. | |
-{function, gen_and_stem, 3, 198}. | |
- {label,197}. | |
+{function, gen_and_stem, 3, 172}. | |
+ {label,171}. | |
{line,[{location,"couch_key_tree.erl",581}]}. | |
{func_info,{atom,couch_key_tree},{atom,gen_and_stem},3}. | |
- {label,198}. | |
+ {label,172}. | |
{allocate_zero,4,3}. | |
{line,[{location,"couch_key_tree.erl",582}]}. | |
- {call,3,{f,203}}. | |
- {test,is_tuple,{f,199},[{x,0}]}. | |
- {test,test_arity,{f,199},[{x,0},2]}. | |
- {get_tuple_element,{x,0},1,{y,3}}. | |
+ {call,3,{f,176}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{2 => | |
+ {t_cons, | |
+ {t_tuple,2,true, | |
+ #{1 => {t_integer,{1,1}}, | |
+ 2 => | |
+ {t_tuple,3,true,#{2 => {t_atom,[x]},3 => {t_list,any,any}}}}}, | |
+ nil}}}}]}}. | |
+ {move,{x,0},{y,3}}. | |
{line,[{location,"couch_key_tree.erl",583}]}. | |
{call_ext,0,{extfunc,erlang,garbage_collect,0}}. | |
{bif,self,{f,0},[],{x,0}}. | |
{move,{integer,500},{x,1}}. | |
{line,[{location,"couch_key_tree.erl",585}]}. | |
- {call,2,{f,226}}. | |
+ {call,2,{f,199}}. | |
{move,{x,0},{y,2}}. | |
{line,[{location,"couch_key_tree.erl",586}]}. | |
{call_ext,0,{extfunc,erlang,monotonic_time,0}}. | |
- {move,{x,0},{x,2}}. | |
+ {get_tuple_element,{y,3},1,{x,1}}. | |
+ {move,{x,0},{y,3}}. | |
+ {move,{x,1},{x,0}}. | |
{move,{integer,1000},{x,1}}. | |
- {move,{y,3},{x,0}}. | |
- {move,{x,2},{y,3}}. | |
{line,[{location,"couch_key_tree.erl",588}]}. | |
- {call,2,{f,165}}. | |
+ {call,2,{f,138}}. | |
+ {'%',{var_info,{x,0},[{type,{t_list,any,nil}}]}}. | |
{line,[{location,"couch_key_tree.erl",590}]}. | |
{call_ext,0,{extfunc,erlang,monotonic_time,0}}. | |
{move,{x,0},{y,1}}. | |
{move,{y,2},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",591}]}. | |
- {call,1,{f,221}}. | |
+ {call,1,{f,194}}. | |
{move,{x,0},{y,0}}. | |
{line,[{location,"couch_key_tree.erl",593}]}. | |
{call_ext,0,{extfunc,erlang,garbage_collect,0}}. | |
@@ -2344,77 +2566,80 @@ | |
{call_ext,1,{extfunc,erlang,unlink,1}}. | |
{move,{atom,kill},{x,1}}. | |
{move,{y,2},{x,0}}. | |
- {kill,{y,2}}. | |
+ {move,{y,0},{y,2}}. | |
+ {trim,1,3}. | |
{line,[{location,"couch_key_tree.erl",595}]}. | |
{call_ext,2,{extfunc,erlang,exit,2}}. | |
- {move,{y,3},{x,1}}. | |
- {move,{y,1},{x,0}}. | |
- {kill,{y,1}}. | |
- {kill,{y,3}}. | |
+ {move,{y,2},{x,1}}. | |
+ {move,{y,0},{x,0}}. | |
+ {move,{y,1},{y,2}}. | |
+ {trim,2,1}. | |
{line,[{location,"couch_key_tree.erl",597}]}. | |
- {call,2,{f,216}}. | |
+ {call,2,{f,189}}. | |
{test_heap,3,1}. | |
- {put_tuple,2,{x,1}}. | |
- {put,{x,0}}. | |
- {put,{y,0}}. | |
- {move,{x,1},{x,0}}. | |
- {deallocate,4}. | |
+ {put_tuple2,{x,0},{list,[{x,0},{y,0}]}}. | |
+ {deallocate,1}. | |
return. | |
- {label,199}. | |
- {line,[{location,"couch_key_tree.erl",582}]}. | |
- {badmatch,{x,0}}. | |
-{function, gen, 0, 201}. | |
- {label,200}. | |
+{function, gen, 0, 174}. | |
+ {label,173}. | |
{line,[{location,"couch_key_tree.erl",600}]}. | |
{func_info,{atom,couch_key_tree},{atom,gen},0}. | |
- {label,201}. | |
+ {label,174}. | |
{move,{float,0.0008},{x,1}}. | |
{move,{literal,{1647,841737,351137}},{x,2}}. | |
{move,{integer,7000},{x,0}}. | |
- {call_only,3,{f,203}}. | |
+ {call_only,3,{f,176}}. | |
-{function, gen, 3, 203}. | |
- {label,202}. | |
+{function, gen, 3, 176}. | |
+ {label,175}. | |
{line,[{location,"couch_key_tree.erl",603}]}. | |
{func_info,{atom,couch_key_tree},{atom,gen},3}. | |
- {label,203}. | |
+ {label,176}. | |
{allocate,3,3}. | |
- {move,{x,0},{y,1}}. | |
- {move,{x,1},{y,0}}. | |
+ {move,{x,2},{y,0}}. | |
+ {move,{x,1},{y,1}}. | |
+ {move,{x,0},{y,2}}. | |
{move,{x,2},{x,1}}. | |
- {move,{x,1},{y,2}}. | |
{move,{atom,exrop},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",604}]}. | |
{call_ext,2,{extfunc,rand,seed,2}}. | |
- {move,{y,0},{x,1}}. | |
- {move,{y,1},{x,0}}. | |
+ {move,{y,1},{x,1}}. | |
+ {move,{y,2},{x,0}}. | |
+ {move,{y,0},{y,2}}. | |
{trim,2,1}. | |
{line,[{location,"couch_key_tree.erl",605}]}. | |
- {call,2,{f,210}}. | |
+ {call,2,{f,183}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,3,true, | |
+ #{2 => {t_atom,[x]}, | |
+ 3 => | |
+ {t_list, | |
+ {t_tuple,3,true, | |
+ #{2 => {t_atom,[x]}, | |
+ 3 => {t_list,{t_tuple,0,false,#{}},nil}}}, | |
+ nil}}}}]}}. | |
{test_heap,8,1}. | |
- {put_tuple,2,{x,1}}. | |
- {put,{integer,1}}. | |
- {put,{x,0}}. | |
- {put_list,{x,1},nil,{x,1}}. | |
- {put_tuple,2,{x,0}}. | |
- {put,{y,0}}. | |
- {put,{x,1}}. | |
+ {put_tuple2,{x,0},{list,[{integer,1},{x,0}]}}. | |
+ {put_list,{x,0},nil,{x,0}}. | |
+ {put_tuple2,{x,0},{list,[{y,0},{x,0}]}}. | |
{deallocate,1}. | |
return. | |
-{function, save, 2, 205}. | |
- {label,204}. | |
+{function, save, 2, 178}. | |
+ {label,177}. | |
{line,[{location,"couch_key_tree.erl",607}]}. | |
{func_info,{atom,couch_key_tree},{atom,save},2}. | |
- {label,205}. | |
+ {label,178}. | |
{allocate,1,2}. | |
{move,{x,0},{y,0}}. | |
{move,{x,1},{x,0}}. | |
- {line,[{location,"couch_key_tree.erl",608}]}. | |
{call_ext,1,{extfunc,erlang,term_to_binary,1}}. | |
{move,{x,0},{x,1}}. | |
{move,{y,0},{x,0}}. | |
@@ -2422,110 +2647,140 @@ | |
{call_ext_last,2,{extfunc,file,write_file,2},1}. | |
-{function, load, 1, 207}. | |
- {label,206}. | |
+{function, load, 1, 180}. | |
+ {label,179}. | |
{line,[{location,"couch_key_tree.erl",610}]}. | |
{func_info,{atom,couch_key_tree},{atom,load},1}. | |
- {label,207}. | |
+ {label,180}. | |
{allocate,0,1}. | |
{line,[{location,"couch_key_tree.erl",611}]}. | |
{call_ext,1,{extfunc,file,read_file,1}}. | |
- {test,is_tagged_tuple,{f,208},[{x,0},2,{atom,ok}]}. | |
+ {test,is_tagged_tuple,{f,181},[{x,0},2,{atom,ok}]}. | |
{get_tuple_element,{x,0},1,{x,0}}. | |
{line,[{location,"couch_key_tree.erl",612}]}. | |
{call_ext_last,1,{extfunc,erlang,binary_to_term,1},0}. | |
- {label,208}. | |
+ {label,181}. | |
{line,[{location,"couch_key_tree.erl",611}]}. | |
{badmatch,{x,0}}. | |
-{function, revnode, 2, 210}. | |
- {label,209}. | |
+{function, revnode, 2, 183}. | |
+ {label,182}. | |
{line,[{location,"couch_key_tree.erl",614}]}. | |
{func_info,{atom,couch_key_tree},{atom,revnode},2}. | |
- {label,210}. | |
- {test,is_eq_exact,{f,211},[{x,0},{integer,0}]}. | |
+ {label,183}. | |
+ {test,is_eq_exact,{f,184},[{x,0},{integer,0}]}. | |
{allocate,0,0}. | |
{line,[{location,"couch_key_tree.erl",615}]}. | |
- {call,0,{f,214}}. | |
+ {call,0,{f,187}}. | |
{test_heap,4,1}. | |
- {put_tuple,3,{x,1}}. | |
- {put,{x,0}}. | |
- {put,{atom,x}}. | |
- {put,nil}. | |
- {move,{x,1},{x,0}}. | |
+ {put_tuple2,{x,0},{list,[{x,0},{atom,x},nil]}}. | |
{deallocate,0}. | |
return. | |
- {label,211}. | |
+ {label,184}. | |
{allocate,3,2}. | |
{init,{y,0}}. | |
{move,{x,1},{y,1}}. | |
{move,{x,0},{y,2}}. | |
{line,[{location,"couch_key_tree.erl",617}]}. | |
{call_ext,0,{extfunc,rand,uniform,0}}. | |
- {test,is_lt,{f,212},[{x,0},{y,1}]}. | |
+ {test,is_lt,{f,185},[{x,0},{y,1}]}. | |
{line,[{location,"couch_key_tree.erl",619}]}. | |
- {call,0,{f,214}}. | |
+ {call,0,{f,187}}. | |
{line,[{location,"couch_key_tree.erl",620}]}. | |
{gc_bif,'-',{f,0},1,[{y,2},{integer,1}],{x,1}}. | |
{move,{x,0},{y,0}}. | |
+ {move,{y,1},{x,2}}. | |
{move,{x,1},{x,0}}. | |
- {move,{y,1},{x,1}}. | |
+ {move,{x,2},{x,1}}. | |
{line,[{location,"couch_key_tree.erl",620}]}. | |
- {call,2,{f,210}}. | |
+ {call,2,{f,183}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,3,true, | |
+ #{2 => {t_atom,[x]}, | |
+ 3 => | |
+ {t_list, | |
+ {t_tuple,3,true, | |
+ #{2 => {t_atom,[x]}, | |
+ 3 => {t_list,{t_tuple,0,false,#{}},nil}}}, | |
+ nil}}}}]}}. | |
{line,[{location,"couch_key_tree.erl",621}]}. | |
{gc_bif,'-',{f,0},1,[{y,2},{integer,1}],{x,1}}. | |
{move,{x,0},{y,2}}. | |
+ {move,{y,1},{x,2}}. | |
{move,{x,1},{x,0}}. | |
- {move,{y,1},{x,1}}. | |
- {kill,{y,1}}. | |
+ {move,{x,2},{x,1}}. | |
+ {move,{y,0},{y,1}}. | |
+ {trim,1,2}. | |
{line,[{location,"couch_key_tree.erl",621}]}. | |
- {call,2,{f,210}}. | |
+ {call,2,{f,183}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,3,true, | |
+ #{2 => {t_atom,[x]}, | |
+ 3 => | |
+ {t_list, | |
+ {t_tuple,3,true, | |
+ #{2 => {t_atom,[x]}, | |
+ 3 => {t_list,{t_tuple,0,false,#{}},nil}}}, | |
+ nil}}}}]}}. | |
{test_heap,8,1}. | |
- {put_list,{x,0},nil,{x,1}}. | |
- {put_list,{y,2},{x,1},{x,1}}. | |
- {put_tuple,3,{x,0}}. | |
- {put,{y,0}}. | |
- {put,{atom,x}}. | |
- {put,{x,1}}. | |
- {deallocate,3}. | |
+ {put_list,{x,0},nil,{x,0}}. | |
+ {put_list,{y,1},{x,0},{x,0}}. | |
+ {put_tuple2,{x,0},{list,[{y,0},{atom,x},{x,0}]}}. | |
+ {deallocate,2}. | |
return. | |
- {label,212}. | |
+ {label,185}. | |
{line,[{location,"couch_key_tree.erl",624}]}. | |
- {call,0,{f,214}}. | |
+ {call,0,{f,187}}. | |
{line,[{location,"couch_key_tree.erl",624}]}. | |
{gc_bif,'-',{f,0},1,[{y,2},{integer,1}],{x,1}}. | |
{move,{x,0},{y,2}}. | |
+ {move,{y,1},{x,2}}. | |
{move,{x,1},{x,0}}. | |
- {move,{y,1},{x,1}}. | |
+ {move,{x,2},{x,1}}. | |
{trim,2,1}. | |
{line,[{location,"couch_key_tree.erl",624}]}. | |
- {call,2,{f,210}}. | |
+ {call,2,{f,183}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,3,true, | |
+ #{2 => {t_atom,[x]}, | |
+ 3 => | |
+ {t_list, | |
+ {t_tuple,3,true, | |
+ #{2 => {t_atom,[x]}, | |
+ 3 => {t_list,{t_tuple,0,false,#{}},nil}}}, | |
+ nil}}}}]}}. | |
{test_heap,6,1}. | |
- {put_list,{x,0},nil,{x,1}}. | |
- {put_tuple,3,{x,0}}. | |
- {put,{y,0}}. | |
- {put,{atom,x}}. | |
- {put,{x,1}}. | |
+ {put_list,{x,0},nil,{x,0}}. | |
+ {put_tuple2,{x,0},{list,[{y,0},{atom,x},{x,0}]}}. | |
{deallocate,1}. | |
return. | |
-{function, rev, 0, 214}. | |
- {label,213}. | |
+{function, rev, 0, 187}. | |
+ {label,186}. | |
{line,[{location,"couch_key_tree.erl",627}]}. | |
{func_info,{atom,couch_key_tree},{atom,rev},0}. | |
- {label,214}. | |
+ {label,187}. | |
{move,{integer,16},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",628}]}. | |
{call_ext_only,1,{extfunc,crypto,strong_rand_bytes,1}}. | |
-{function, dt, 2, 216}. | |
- {label,215}. | |
+{function, dt, 2, 189}. | |
+ {label,188}. | |
{line,[{location,"couch_key_tree.erl",630}]}. | |
{func_info,{atom,couch_key_tree},{atom,dt},2}. | |
- {label,216}. | |
+ {label,189}. | |
{line,[{location,"couch_key_tree.erl",631}]}. | |
{gc_bif,'-',{f,0},2,[{x,0},{x,1}],{x,0}}. | |
{move,{atom,second},{x,2}}. | |
@@ -2534,224 +2789,214 @@ | |
{call_ext_only,3,{extfunc,erlang,convert_time_unit,3}}. | |
-{function, mem_mb, 1, 218}. | |
- {label,217}. | |
+{function, mem_mb, 1, 191}. | |
+ {label,190}. | |
{line,[{location,"couch_key_tree.erl",633}]}. | |
{func_info,{atom,couch_key_tree},{atom,mem_mb},1}. | |
- {label,218}. | |
+ {label,191}. | |
{allocate,0,1}. | |
{move,{atom,memory},{x,1}}. | |
{line,[{location,"couch_key_tree.erl",634}]}. | |
{call_ext,2,{extfunc,erlang,process_info,2}}. | |
- {test,is_tagged_tuple,{f,219},[{x,0},2,{atom,memory}]}. | |
- {move,nil,{x,1}}. | |
- {get_tuple_element,{x,0},1,{x,2}}. | |
+ {test,is_tagged_tuple,{f,192},[{x,0},2,{atom,memory}]}. | |
+ {get_tuple_element,{x,0},1,{x,0}}. | |
{line,[{location,"couch_key_tree.erl",635}]}. | |
- {gc_bif,'*',{f,0},3,[{x,2},{integer,8}],{x,0}}. | |
- {test_heap,{alloc,[{words,0},{floats,1}]},1}. | |
+ {gc_bif,'*',{f,0},1,[{x,0},{integer,8}],{x,0}}. | |
+ fclearerror. | |
{line,[{location,"couch_key_tree.erl",636}]}. | |
{fconv,{x,0},{fr,0}}. | |
{fmove,{float,1048576.0},{fr,1}}. | |
- fclearerror. | |
+ {line,[{location,"couch_key_tree.erl",636}]}. | |
{bif,fdiv,{f,0},[{fr,0},{fr,1}],{fr,0}}. | |
{fcheckerror,{f,0}}. | |
+ {test_heap,{alloc,[{words,0},{floats,1}]},0}. | |
{fmove,{fr,0},{x,0}}. | |
{deallocate,0}. | |
return. | |
- {label,219}. | |
+ {label,192}. | |
{line,[{location,"couch_key_tree.erl",634}]}. | |
{badmatch,{x,0}}. | |
-{function, get_max_mem, 1, 221}. | |
- {label,220}. | |
+{function, get_max_mem, 1, 194}. | |
+ {label,193}. | |
{line,[{location,"couch_key_tree.erl",638}]}. | |
{func_info,{atom,couch_key_tree},{atom,get_max_mem},1}. | |
- {label,221}. | |
+ {label,194}. | |
{allocate_heap,0,3,1}. | |
{bif,self,{f,0},[],{x,1}}. | |
- {put_tuple,2,{x,2}}. | |
- {put,{atom,get_mem}}. | |
- {put,{x,1}}. | |
- {move,{x,2},{x,1}}. | |
+ {put_tuple2,{x,1},{list,[{atom,get_mem},{x,1}]}}. | |
{line,[{location,"couch_key_tree.erl",639}]}. | |
send. | |
- {line,[{location,"couch_key_tree.erl",640}]}. | |
- {label,222}. | |
- {loop_rec,{f,224},{x,0}}. | |
- {test,is_tagged_tuple,{f,223},[{x,0},2,{atom,mem_max}]}. | |
+ {label,195}. | |
+ {loop_rec,{f,197},{x,0}}. | |
+ {test,is_tagged_tuple,{f,196},[{x,0},2,{atom,mem_max}]}. | |
{get_tuple_element,{x,0},1,{x,0}}. | |
remove_message. | |
{deallocate,0}. | |
return. | |
- {label,223}. | |
- {loop_rec_end,{f,222}}. | |
- {label,224}. | |
- {wait,{f,222}}. | |
+ {label,196}. | |
+ {loop_rec_end,{f,195}}. | |
+ {label,197}. | |
+ {wait,{f,195}}. | |
-{function, spawn_mem_sampler, 2, 226}. | |
- {label,225}. | |
+{function, spawn_mem_sampler, 2, 199}. | |
+ {label,198}. | |
{line,[{location,"couch_key_tree.erl",642}]}. | |
{func_info,{atom,couch_key_tree},{atom,spawn_mem_sampler},2}. | |
- {label,226}. | |
- {move,{x,1},{x,2}}. | |
- {move,{x,0},{x,1}}. | |
- {move,{x,2},{x,0}}. | |
- {make_fun2,{f,238},0,0,2}. | |
+ {label,199}. | |
+ {'%',{var_info,{x,1},[{type,{t_integer,{500,500}}}]}}. | |
+ {make_fun2,{f,211},0,0,2}. | |
+ {'%',{var_info,{x,0},[{fun_type,none}]}}. | |
{line,[{location,"couch_key_tree.erl",643}]}. | |
{call_ext_only,1,{extfunc,erlang,spawn_link,1}}. | |
-{function, mem_sampler, 3, 228}. | |
- {label,227}. | |
+{function, mem_sampler, 3, 201}. | |
+ {label,200}. | |
{line,[{location,"couch_key_tree.erl",645}]}. | |
{func_info,{atom,couch_key_tree},{atom,mem_sampler},3}. | |
- {label,228}. | |
- {allocate,3,3}. | |
- {move,{x,0},{y,2}}. | |
+ {label,201}. | |
+ {'%',{var_info,{x,1},[{type,{t_integer,{500,500}}}]}}. | |
+ {allocate,2,3}. | |
{move,{x,2},{y,0}}. | |
- {move,{x,1},{y,1}}. | |
- {move,{x,1},{x,0}}. | |
+ {move,{x,0},{y,1}}. | |
+ {move,{integer,500},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",646}]}. | |
{call_ext,1,{extfunc,timer,sleep,1}}. | |
- {move,{y,2},{x,0}}. | |
+ {move,{y,1},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",647}]}. | |
- {call,1,{f,218}}. | |
+ {call,1,{f,191}}. | |
+ {'%',{var_info,{x,0},[{type,{t_float,any}}]}}. | |
{move,{y,0},{x,1}}. | |
{kill,{y,0}}. | |
- {line,[{location,"couch_key_tree.erl",647}]}. | |
{call_ext,2,{extfunc,erlang,max,2}}. | |
{move,{x,0},{y,0}}. | |
- {line,[{location,"couch_key_tree.erl",648}]}. | |
- {label,229}. | |
- {loop_rec,{f,231},{x,0}}. | |
- {test,is_tagged_tuple,{f,230},[{x,0},2,{atom,get_mem}]}. | |
+ {label,202}. | |
+ {loop_rec,{f,204},{x,0}}. | |
+ {test,is_tagged_tuple,{f,203},[{x,0},2,{atom,get_mem}]}. | |
{test_heap,3,1}. | |
- {get_tuple_element,{x,0},1,{x,0}}. | |
remove_message. | |
- {put_tuple,2,{x,1}}. | |
- {put,{atom,mem_max}}. | |
- {put,{y,0}}. | |
+ {put_tuple2,{x,1},{list,[{atom,mem_max},{y,0}]}}. | |
+ {get_tuple_element,{x,0},1,{x,0}}. | |
{line,[{location,"couch_key_tree.erl",650}]}. | |
send. | |
- {jump,{f,232}}. | |
- {label,230}. | |
- {loop_rec_end,{f,229}}. | |
- {label,231}. | |
+ {jump,{f,205}}. | |
+ {label,203}. | |
+ {loop_rec_end,{f,202}}. | |
+ {label,204}. | |
timeout. | |
- {label,232}. | |
- {move,{y,1},{x,1}}. | |
+ {label,205}. | |
+ {move,{integer,500},{x,1}}. | |
{move,{y,0},{x,2}}. | |
- {move,{y,2},{x,0}}. | |
- {call_last,3,{f,228},3}. | |
+ {move,{y,1},{x,0}}. | |
+ {call_last,3,{f,201},2}. | |
-{function, module_info, 0, 234}. | |
- {label,233}. | |
+{function, module_info, 0, 207}. | |
+ {label,206}. | |
{line,[]}. | |
{func_info,{atom,couch_key_tree},{atom,module_info},0}. | |
- {label,234}. | |
+ {label,207}. | |
{move,{atom,couch_key_tree},{x,0}}. | |
{line,[]}. | |
{call_ext_only,1,{extfunc,erlang,get_module_info,1}}. | |
-{function, module_info, 1, 236}. | |
- {label,235}. | |
+{function, module_info, 1, 209}. | |
+ {label,208}. | |
{line,[]}. | |
{func_info,{atom,couch_key_tree},{atom,module_info},1}. | |
- {label,236}. | |
+ {label,209}. | |
{move,{x,0},{x,1}}. | |
{move,{atom,couch_key_tree},{x,0}}. | |
{line,[]}. | |
{call_ext_only,2,{extfunc,erlang,get_module_info,2}}. | |
-{function, '-spawn_mem_sampler/2-fun-0-', 2, 238}. | |
- {label,237}. | |
+{function, '-spawn_mem_sampler/2-fun-0-', 2, 211}. | |
+ {label,210}. | |
{line,[{location,"couch_key_tree.erl",643}]}. | |
{func_info,{atom,couch_key_tree},{atom,'-spawn_mem_sampler/2-fun-0-'},2}. | |
- {label,238}. | |
- {allocate,2,2}. | |
+ {label,211}. | |
+ {'%',{var_info,{x,1},[{type,{t_integer,{500,500}}}]}}. | |
+ {allocate,1,1}. | |
{move,{x,0},{y,0}}. | |
- {move,{x,1},{y,1}}. | |
- {move,{x,1},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",643}]}. | |
- {call,1,{f,218}}. | |
- {move,{y,0},{x,1}}. | |
+ {call,1,{f,191}}. | |
+ {'%',{var_info,{x,0},[{type,{t_float,any}}]}}. | |
+ {move,{integer,500},{x,1}}. | |
{move,{x,0},{x,2}}. | |
- {move,{y,1},{x,0}}. | |
- {call_last,3,{f,228},2}. | |
+ {move,{y,0},{x,0}}. | |
+ {call_last,3,{f,201},1}. | |
-{function, '-repair_tree/2-fun-2-', 2, 240}. | |
- {label,239}. | |
+{function, '-repair_tree/2-fun-2-', 2, 213}. | |
+ {label,212}. | |
{line,[{location,"couch_key_tree.erl",546}]}. | |
{func_info,{atom,couch_key_tree},{atom,'-repair_tree/2-fun-2-'},2}. | |
- {label,240}. | |
- {test,is_tuple,{f,239},[{x,0}]}. | |
- {test,test_arity,{f,239},[{x,0},2]}. | |
+ {label,213}. | |
+ {test,is_tuple,{f,212},[{x,0}]}. | |
+ {test,test_arity,{f,212},[{x,0},2]}. | |
{allocate,3,2}. | |
- {get_tuple_element,{x,0},0,{y,2}}. | |
- {get_tuple_element,{x,0},1,{y,0}}. | |
- {move,{x,1},{y,1}}. | |
- {make_fun2,{f,244},0,0,0}. | |
- {move,{y,0},{x,2}}. | |
+ {move,{x,0},{y,1}}. | |
+ {move,{x,1},{y,2}}. | |
+ {get_tuple_element,{x,0},0,{y,0}}. | |
+ {make_fun2,{f,216},0,0,0}. | |
+ {'%',{var_info,{x,0},[{fun_type,{t_cons,{t_tuple,3,true,#{}},nil}}]}}. | |
+ {get_tuple_element,{y,1},1,{x,2}}. | |
{move,nil,{x,1}}. | |
+ {move,{y,0},{y,1}}. | |
{trim,1,2}. | |
{line,[{location,"couch_key_tree.erl",547}]}. | |
{call_ext,3,{extfunc,lists,foldl,3}}. | |
- {test,is_nonempty_list,{f,242},[{x,0}]}. | |
+ {test,is_nonempty_list,{f,214},[{x,0}]}. | |
{get_list,{x,0},{x,1},{x,2}}. | |
- {test,is_nil,{f,242},[{x,2}]}. | |
+ {test,is_nil,{f,214},[{x,2}]}. | |
{test_heap,3,2}. | |
- {put_tuple,2,{x,2}}. | |
- {put,{y,1}}. | |
- {put,{x,1}}. | |
- {move,{x,2},{x,1}}. | |
- {move,{y,0},{x,0}}. | |
+ {put_tuple2,{x,1},{list,[{y,0},{x,1}]}}. | |
+ {move,{y,1},{x,0}}. | |
{trim,2,0}. | |
{line,[{location,"couch_key_tree.erl",550}]}. | |
{call,2,{f,4}}. | |
- {test,is_tuple,{f,241},[{x,0}]}. | |
- {test,test_arity,{f,241},[{x,0},2]}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{1 => {t_list,any,nil}, | |
+ 2 => {t_atom,[internal_node,new_branch,new_leaf]}}}}]}}. | |
{get_tuple_element,{x,0},0,{x,0}}. | |
{deallocate,0}. | |
return. | |
- {label,241}. | |
- {line,[{location,"couch_key_tree.erl",550}]}. | |
- {badmatch,{x,0}}. | |
- {label,242}. | |
+ {label,214}. | |
{line,[{location,"couch_key_tree.erl",547}]}. | |
{badmatch,{x,0}}. | |
-{function, '-repair_tree/2-fun-1-', 2, 244}. | |
- {label,243}. | |
+{function, '-repair_tree/2-fun-1-', 2, 216}. | |
+ {label,215}. | |
{line,[{location,"couch_key_tree.erl",548}]}. | |
{func_info,{atom,couch_key_tree},{atom,'-repair_tree/2-fun-1-'},2}. | |
- {label,244}. | |
- {test,is_tuple,{f,243},[{x,0}]}. | |
- {test,test_arity,{f,243},[{x,0},2]}. | |
+ {label,216}. | |
+ {test,is_tuple,{f,215},[{x,0}]}. | |
+ {test,test_arity,{f,215},[{x,0},2]}. | |
{test_heap,6,2}. | |
{get_tuple_element,{x,0},0,{x,2}}. | |
- {get_tuple_element,{x,0},1,{x,3}}. | |
- {put_tuple,3,{x,4}}. | |
- {put,{x,2}}. | |
- {put,{x,3}}. | |
- {put,{x,1}}. | |
- {put_list,{x,4},nil,{x,0}}. | |
+ {get_tuple_element,{x,0},1,{x,0}}. | |
+ {put_tuple2,{x,0},{list,[{x,2},{x,0},{x,1}]}}. | |
+ {put_list,{x,0},nil,{x,0}}. | |
return. | |
-{function, '-repair_tree/2-fun-0-', 2, 246}. | |
- {label,245}. | |
+{function, '-repair_tree/2-fun-0-', 2, 218}. | |
+ {label,217}. | |
{line,[{location,"couch_key_tree.erl",536}]}. | |
{func_info,{atom,couch_key_tree},{atom,'-repair_tree/2-fun-0-'},2}. | |
- {label,246}. | |
- {test,is_tuple,{f,247},[{x,0}]}. | |
- {test,test_arity,{f,247},[{x,0},2]}. | |
+ {label,218}. | |
+ {test,is_tuple,{f,219},[{x,0}]}. | |
+ {test,test_arity,{f,219},[{x,0},2]}. | |
{allocate,1,2}. | |
{get_tuple_element,{x,0},0,{y,0}}. | |
{get_tuple_element,{x,0},1,{x,0}}. | |
@@ -2764,162 +3009,134 @@ | |
{line,[{location,"couch_key_tree.erl",538}]}. | |
{gc_bif,'-',{f,0},3,[{x,1},{x,2}],{x,1}}. | |
{test_heap,3,2}. | |
- {put_tuple,2,{x,2}}. | |
- {put,{x,1}}. | |
- {put,{x,0}}. | |
- {move,{x,2},{x,0}}. | |
+ {put_tuple2,{x,0},{list,[{x,1},{x,0}]}}. | |
{deallocate,1}. | |
return. | |
- {label,247}. | |
+ {label,219}. | |
{test_heap,2,1}. | |
{put_list,{x,0},nil,{x,1}}. | |
{move,{atom,function_clause},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",536}]}. | |
- {call_ext,2,{extfunc,erlang,error,2}}. | |
+ {call_ext_only,2,{extfunc,erlang,error,2}}. | |
-{function, '-stem_tree/4-fun-1-', 2, 249}. | |
- {label,248}. | |
+{function, '-stem_tree/4-fun-1-', 2, 221}. | |
+ {label,220}. | |
{line,[{location,"couch_key_tree.erl",514}]}. | |
{func_info,{atom,couch_key_tree},{atom,'-stem_tree/4-fun-1-'},2}. | |
- {label,249}. | |
+ {label,221}. | |
{line,[{location,"couch_key_tree.erl",515}]}. | |
{gc_bif,'+',{f,0},2,[{x,1},{integer,1}],{x,1}}. | |
{test_heap,3,2}. | |
- {put_tuple,2,{x,2}}. | |
- {put,{x,1}}. | |
- {put,{x,0}}. | |
- {move,{x,2},{x,0}}. | |
+ {put_tuple2,{x,0},{list,[{x,1},{x,0}]}}. | |
return. | |
-{function, '-stem_tree/4-fun-0-', 4, 251}. | |
- {label,250}. | |
+{function, '-stem_tree/4-fun-0-', 4, 223}. | |
+ {label,222}. | |
{line,[{location,"couch_key_tree.erl",490}]}. | |
{func_info,{atom,couch_key_tree},{atom,'-stem_tree/4-fun-0-'},4}. | |
- {label,251}. | |
- {test,is_tuple,{f,255},[{x,1}]}. | |
- {test,test_arity,{f,255},[{x,1},4]}. | |
- {allocate_zero,5,4}. | |
- {get_tuple_element,{x,1},0,{x,4}}. | |
- {get_tuple_element,{x,1},1,{x,5}}. | |
- {get_tuple_element,{x,1},2,{x,6}}. | |
- {get_tuple_element,{x,1},3,{x,7}}. | |
+ {label,223}. | |
+ {test,is_tuple,{f,227},[{x,1}]}. | |
+ {test,test_arity,{f,227},[{x,1},4]}. | |
{line,[{location,"couch_key_tree.erl",492}]}. | |
- {gc_bif,'+',{f,0},8,[{x,3},{integer,1}],{x,8}}. | |
- {move,{x,4},{x,3}}. | |
- {move,{x,0},{x,1}}. | |
- {move,{x,7},{y,2}}. | |
- {move,{x,6},{y,3}}. | |
- {move,{x,5},{y,4}}. | |
- {move,{x,8},{x,0}}. | |
+ {gc_bif,'+',{f,0},4,[{x,2},{integer,1}],{x,2}}. | |
+ {allocate_zero,3,4}. | |
+ {move,{x,1},{y,2}}. | |
+ {get_tuple_element,{x,1},0,{x,1}}. | |
+ {swap,{x,3},{x,2}}. | |
+ {swap,{x,1},{x,3}}. | |
+ {swap,{x,0},{x,1}}. | |
{line,[{location,"couch_key_tree.erl",492}]}. | |
- {call,4,{f,175}}. | |
- {test,is_tuple,{f,254},[{x,0}]}. | |
- {select_tuple_arity,{x,0},{f,254},{list,[4,{f,252},3,{f,253}]}}. | |
- {label,252}. | |
- {get_tuple_element,{x,0},2,{y,0}}. | |
- {get_tuple_element,{x,0},3,{y,1}}. | |
- {move,{y,4},{x,1}}. | |
- {get_tuple_element,{x,0},0,{y,4}}. | |
+ {call,4,{f,148}}. | |
+ {'%',{var_info,{x,0},[{type,{t_tuple,3,false,#{2 => number}}}]}}. | |
+ {get_tuple_element,{y,2},1,{x,1}}. | |
+ {get_tuple_element,{y,2},2,{y,1}}. | |
+ {get_tuple_element,{y,2},3,{y,2}}. | |
+ {move,{x,0},{y,0}}. | |
+ {select_tuple_arity,{x,0},{f,226},{list,[3,{f,225},4,{f,224}]}}. | |
+ {label,224}. | |
{get_tuple_element,{x,0},1,{x,0}}. | |
- {line,[{location,"couch_key_tree.erl",494}]}. | |
{call_ext,2,{extfunc,erlang,max,2}}. | |
{test_heap,2,1}. | |
- {put_list,{y,0},{y,3},{y,0}}. | |
- {move,{x,0},{y,3}}. | |
- {move,{y,2},{x,1}}. | |
- {move,{y,1},{x,0}}. | |
- {kill,{y,1}}. | |
- {kill,{y,2}}. | |
+ {get_tuple_element,{y,0},2,{x,1}}. | |
+ {put_list,{x,1},{y,1},{y,1}}. | |
+ {get_tuple_element,{y,0},3,{x,1}}. | |
+ {move,{y,2},{x,2}}. | |
+ {move,{x,0},{y,2}}. | |
+ {move,{x,1},{x,0}}. | |
+ {move,{x,2},{x,1}}. | |
{line,[{location,"couch_key_tree.erl",496}]}. | |
{call_ext,2,{extfunc,erlang,'++',2}}. | |
{test_heap,5,1}. | |
- {put_tuple,4,{x,1}}. | |
- {put,{y,4}}. | |
- {put,{y,3}}. | |
- {put,{y,0}}. | |
- {put,{x,0}}. | |
- {move,{x,1},{x,0}}. | |
- {deallocate,5}. | |
+ {get_tuple_element,{y,0},0,{x,1}}. | |
+ {put_tuple2,{x,0},{list,[{x,1},{y,2},{y,1},{x,0}]}}. | |
+ {deallocate,3}. | |
return. | |
- {label,253}. | |
- {get_tuple_element,{x,0},2,{y,1}}. | |
- {move,{y,4},{x,1}}. | |
- {get_tuple_element,{x,0},0,{y,4}}. | |
+ {label,225}. | |
{get_tuple_element,{x,0},1,{x,0}}. | |
- {line,[{location,"couch_key_tree.erl",499}]}. | |
{call_ext,2,{extfunc,erlang,max,2}}. | |
- {move,{x,0},{x,2}}. | |
- {move,{y,2},{x,1}}. | |
- {move,{x,2},{y,2}}. | |
- {move,{y,1},{x,0}}. | |
- {trim,2,3}. | |
+ {get_tuple_element,{y,0},2,{x,1}}. | |
+ {move,{y,2},{x,2}}. | |
+ {move,{x,0},{y,2}}. | |
+ {move,{x,1},{x,0}}. | |
+ {move,{x,2},{x,1}}. | |
{line,[{location,"couch_key_tree.erl",500}]}. | |
{call_ext,2,{extfunc,erlang,'++',2}}. | |
{test_heap,5,1}. | |
- {put_tuple,4,{x,1}}. | |
- {put,{y,2}}. | |
- {put,{y,0}}. | |
- {put,{y,1}}. | |
- {put,{x,0}}. | |
- {move,{x,1},{x,0}}. | |
+ {get_tuple_element,{y,0},0,{x,1}}. | |
+ {put_tuple2,{x,0},{list,[{x,1},{y,2},{y,1},{x,0}]}}. | |
{deallocate,3}. | |
return. | |
- {label,254}. | |
+ {label,226}. | |
{line,[{location,"couch_key_tree.erl",492}]}. | |
{case_end,{x,0}}. | |
- {label,255}. | |
+ {label,227}. | |
{line,[{location,"couch_key_tree.erl",491}]}. | |
{badmatch,{x,1}}. | |
-{function, '-stem/2-fun-0-', 3, 257}. | |
- {label,256}. | |
+{function, '-stem/2-fun-0-', 3, 229}. | |
+ {label,228}. | |
{line,[{location,"couch_key_tree.erl",464}]}. | |
{func_info,{atom,couch_key_tree},{atom,'-stem/2-fun-0-'},3}. | |
- {label,257}. | |
- {test,is_tuple,{f,259},[{x,1}]}. | |
- {test,test_arity,{f,259},[{x,1},2]}. | |
+ {label,229}. | |
+ {test,is_tuple,{f,230},[{x,1}]}. | |
+ {test,test_arity,{f,230},[{x,1},2]}. | |
{allocate,1,3}. | |
{get_tuple_element,{x,1},0,{x,3}}. | |
{get_tuple_element,{x,1},1,{y,0}}. | |
{move,{x,2},{x,1}}. | |
{move,{x,3},{x,2}}. | |
{line,[{location,"couch_key_tree.erl",465}]}. | |
- {call,3,{f,170}}. | |
- {test,is_tuple,{f,258},[{x,0}]}. | |
- {test,test_arity,{f,258},[{x,0},2]}. | |
- {get_tuple_element,{x,0},0,{x,3}}. | |
- {get_tuple_element,{x,0},1,{x,0}}. | |
- {move,{y,0},{x,1}}. | |
- {move,{x,3},{y,0}}. | |
+ {call,3,{f,143}}. | |
+ {'%',{var_info,{x,0},[{type,{t_tuple,2,true,#{}}}]}}. | |
+ {get_tuple_element,{x,0},1,{x,1}}. | |
+ {move,{y,0},{x,2}}. | |
+ {move,{x,0},{y,0}}. | |
+ {move,{x,1},{x,0}}. | |
+ {move,{x,2},{x,1}}. | |
{line,[{location,"couch_key_tree.erl",466}]}. | |
{call_ext,2,{extfunc,erlang,'++',2}}. | |
{test_heap,3,1}. | |
- {put_tuple,2,{x,1}}. | |
- {put,{y,0}}. | |
- {put,{x,0}}. | |
- {move,{x,1},{x,0}}. | |
+ {get_tuple_element,{y,0},0,{x,1}}. | |
+ {put_tuple2,{x,0},{list,[{x,1},{x,0}]}}. | |
{deallocate,1}. | |
return. | |
- {label,258}. | |
- {line,[{location,"couch_key_tree.erl",465}]}. | |
- {badmatch,{x,0}}. | |
- {label,259}. | |
+ {label,230}. | |
{test_heap,4,2}. | |
- {put_list,{x,1},nil,{x,2}}. | |
- {put_list,{x,0},{x,2},{x,1}}. | |
+ {put_list,{x,1},nil,{x,1}}. | |
+ {put_list,{x,0},{x,1},{x,1}}. | |
{move,{atom,function_clause},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",464}]}. | |
- {call_ext,2,{extfunc,erlang,error,2}}. | |
+ {call_ext_only,2,{extfunc,erlang,error,2}}. | |
-{function, '-map/2-fun-0-', 4, 261}. | |
- {label,260}. | |
+{function, '-map/2-fun-0-', 4, 232}. | |
+ {label,231}. | |
{line,[{location,"couch_key_tree.erl",404}]}. | |
{func_info,{atom,couch_key_tree},{atom,'-map/2-fun-0-'},4}. | |
- {label,261}. | |
+ {label,232}. | |
{allocate,0,4}. | |
{move,{x,3},{x,2}}. | |
{line,[{location,"couch_key_tree.erl",404}]}. | |
@@ -2928,330 +3145,322 @@ | |
return. | |
-{function, '-get/2-lc$^0/1-0-', 1, 263}. | |
- {label,262}. | |
+{function, '-get/2-lc$^0/1-0-', 1, 234}. | |
+ {label,233}. | |
{line,[{location,"couch_key_tree.erl",301}]}. | |
{func_info,{atom,couch_key_tree},{atom,'-get/2-lc$^0/1-0-'},1}. | |
- {label,263}. | |
- {test,is_nonempty_list,{f,265},[{x,0}]}. | |
- {get_list,{x,0},{x,1},{x,2}}. | |
- {test,is_tuple,{f,264},[{x,1}]}. | |
- {test,test_arity,{f,264},[{x,1},2]}. | |
- {get_tuple_element,{x,1},0,{x,3}}. | |
- {get_tuple_element,{x,1},1,{x,4}}. | |
- {test,is_nonempty_list,{f,264},[{x,4}]}. | |
- {get_hd,{x,4},{x,5}}. | |
- {test,is_tuple,{f,264},[{x,5}]}. | |
- {test,test_arity,{f,264},[{x,5},2]}. | |
- {allocate,3,6}. | |
- {get_tuple_element,{x,5},1,{y,2}}. | |
- {move,{x,2},{y,0}}. | |
- {move,{x,3},{y,1}}. | |
- {move,{x,4},{x,0}}. | |
+ {label,234}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_cons,{t_tuple,0,false,#{}},nil}}}, | |
+ nil}}]}}. | |
+ {test,is_nonempty_list,{f,236},[{x,0}]}. | |
+ {get_list,{x,0},{x,1},{x,0}}. | |
+ {get_tuple_element,{x,1},0,{x,2}}. | |
+ {get_tuple_element,{x,1},1,{x,1}}. | |
+ {get_hd,{x,1},{x,3}}. | |
+ {test,test_arity,{f,235},[{x,3},2]}. | |
+ {allocate,3,4}. | |
+ {move,{x,3},{y,0}}. | |
+ {move,{x,2},{y,1}}. | |
+ {move,{x,0},{y,2}}. | |
+ {move,{x,1},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",300}]}. | |
- {call,1,{f,267}}. | |
- {move,{x,0},{x,1}}. | |
- {move,{y,0},{x,0}}. | |
- {move,{x,1},{y,0}}. | |
+ {call,1,{f,238}}. | |
+ {'%',{var_info,{x,0},[{type,{t_list,any,nil}}]}}. | |
+ {swap,{y,2},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",301}]}. | |
- {call,1,{f,263}}. | |
+ {call,1,{f,234}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_tuple,2,true,#{2 => {t_list,any,nil}}}}}, | |
+ nil}}]}}. | |
{test_heap,8,1}. | |
- {put_tuple,2,{x,1}}. | |
- {put,{y,1}}. | |
- {put,{y,0}}. | |
- {put_tuple,2,{x,2}}. | |
- {put,{y,2}}. | |
- {put,{x,1}}. | |
- {put_list,{x,2},{x,0},{x,0}}. | |
+ {get_tuple_element,{y,0},1,{x,1}}. | |
+ {put_tuple2,{x,2},{list,[{y,1},{y,2}]}}. | |
+ {put_tuple2,{x,1},{list,[{x,1},{x,2}]}}. | |
+ {put_list,{x,1},{x,0},{x,0}}. | |
{deallocate,3}. | |
return. | |
- {label,264}. | |
- {move,{x,2},{x,0}}. | |
- {call_only,1,{f,263}}. | |
- {label,265}. | |
- {test,is_nil,{f,262},[{x,0}]}. | |
+ {label,235}. | |
+ {call_only,1,{f,234}}. | |
+ {label,236}. | |
return. | |
-{function, '-get/2-lc$^1/1-1-', 1, 267}. | |
- {label,266}. | |
+{function, '-get/2-lc$^1/1-1-', 1, 238}. | |
+ {label,237}. | |
{line,[{location,"couch_key_tree.erl",300}]}. | |
{func_info,{atom,couch_key_tree},{atom,'-get/2-lc$^1/1-1-'},1}. | |
- {label,267}. | |
- {test,is_nonempty_list,{f,269},[{x,0}]}. | |
- {get_list,{x,0},{x,1},{x,2}}. | |
- {test,is_tuple,{f,268},[{x,1}]}. | |
- {test,test_arity,{f,268},[{x,1},2]}. | |
- {allocate,1,3}. | |
- {get_tuple_element,{x,1},0,{y,0}}. | |
- {move,{x,2},{x,0}}. | |
+ {label,238}. | |
+ {'%',{var_info,{x,0},[{type,{t_list,{t_tuple,0,false,#{}},nil}}]}}. | |
+ {test,is_nonempty_list,{f,240},[{x,0}]}. | |
+ {get_list,{x,0},{x,1},{x,0}}. | |
+ {test,test_arity,{f,239},[{x,1},2]}. | |
+ {allocate,1,2}. | |
+ {move,{x,1},{y,0}}. | |
{line,[{location,"couch_key_tree.erl",300}]}. | |
- {call,1,{f,267}}. | |
+ {call,1,{f,238}}. | |
+ {'%',{var_info,{x,0},[{type,{t_list,any,nil}}]}}. | |
{test_heap,2,1}. | |
- {put_list,{y,0},{x,0},{x,0}}. | |
+ {get_tuple_element,{y,0},0,{x,1}}. | |
+ {put_list,{x,1},{x,0},{x,0}}. | |
{deallocate,1}. | |
return. | |
- {label,268}. | |
- {move,{x,2},{x,0}}. | |
- {call_only,1,{f,267}}. | |
- {label,269}. | |
- {test,is_nil,{f,266},[{x,0}]}. | |
+ {label,239}. | |
+ {call_only,1,{f,238}}. | |
+ {label,240}. | |
return. | |
-{function, '-remove_leafs/2-fun-2-', 2, 271}. | |
- {label,270}. | |
+{function, '-remove_leafs/2-fun-2-', 2, 242}. | |
+ {label,241}. | |
{line,[{location,"couch_key_tree.erl",230}]}. | |
{func_info,{atom,couch_key_tree},{atom,'-remove_leafs/2-fun-2-'},2}. | |
- {label,271}. | |
- {test,is_tuple,{f,270},[{x,0}]}. | |
- {test,test_arity,{f,270},[{x,0},2]}. | |
+ {label,242}. | |
+ {test,is_tuple,{f,241},[{x,0}]}. | |
+ {test,test_arity,{f,241},[{x,0},2]}. | |
{allocate,3,2}. | |
- {get_tuple_element,{x,0},0,{y,2}}. | |
- {get_tuple_element,{x,0},1,{y,0}}. | |
- {move,{x,1},{y,1}}. | |
- {make_fun2,{f,275},0,0,0}. | |
- {move,{y,0},{x,2}}. | |
+ {move,{x,0},{y,1}}. | |
+ {move,{x,1},{y,2}}. | |
+ {get_tuple_element,{x,0},0,{y,0}}. | |
+ {make_fun2,{f,245},0,0,0}. | |
+ {'%',{var_info,{x,0},[{fun_type,{t_cons,{t_tuple,3,true,#{}},nil}}]}}. | |
+ {get_tuple_element,{y,1},1,{x,2}}. | |
{move,nil,{x,1}}. | |
+ {move,{y,0},{y,1}}. | |
{trim,1,2}. | |
{line,[{location,"couch_key_tree.erl",231}]}. | |
{call_ext,3,{extfunc,lists,foldl,3}}. | |
- {test,is_nonempty_list,{f,273},[{x,0}]}. | |
+ {test,is_nonempty_list,{f,243},[{x,0}]}. | |
{get_list,{x,0},{x,1},{x,2}}. | |
- {test,is_nil,{f,273},[{x,2}]}. | |
+ {test,is_nil,{f,243},[{x,2}]}. | |
{test_heap,3,2}. | |
- {put_tuple,2,{x,2}}. | |
- {put,{y,1}}. | |
- {put,{x,1}}. | |
- {move,{x,2},{x,1}}. | |
- {move,{y,0},{x,0}}. | |
+ {put_tuple2,{x,1},{list,[{y,0},{x,1}]}}. | |
+ {move,{y,1},{x,0}}. | |
{trim,2,0}. | |
{line,[{location,"couch_key_tree.erl",234}]}. | |
{call,2,{f,4}}. | |
- {test,is_tuple,{f,272},[{x,0}]}. | |
- {test,test_arity,{f,272},[{x,0},2]}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{1 => {t_list,any,nil}, | |
+ 2 => {t_atom,[internal_node,new_branch,new_leaf]}}}}]}}. | |
{get_tuple_element,{x,0},0,{x,0}}. | |
{deallocate,0}. | |
return. | |
- {label,272}. | |
- {line,[{location,"couch_key_tree.erl",234}]}. | |
- {badmatch,{x,0}}. | |
- {label,273}. | |
+ {label,243}. | |
{line,[{location,"couch_key_tree.erl",231}]}. | |
{badmatch,{x,0}}. | |
-{function, '-remove_leafs/2-fun-1-', 2, 275}. | |
- {label,274}. | |
+{function, '-remove_leafs/2-fun-1-', 2, 245}. | |
+ {label,244}. | |
{line,[{location,"couch_key_tree.erl",232}]}. | |
{func_info,{atom,couch_key_tree},{atom,'-remove_leafs/2-fun-1-'},2}. | |
- {label,275}. | |
- {test,is_tuple,{f,274},[{x,0}]}. | |
- {test,test_arity,{f,274},[{x,0},2]}. | |
+ {label,245}. | |
+ {test,is_tuple,{f,244},[{x,0}]}. | |
+ {test,test_arity,{f,244},[{x,0},2]}. | |
{test_heap,6,2}. | |
{get_tuple_element,{x,0},0,{x,2}}. | |
- {get_tuple_element,{x,0},1,{x,3}}. | |
- {put_tuple,3,{x,4}}. | |
- {put,{x,2}}. | |
- {put,{x,3}}. | |
- {put,{x,1}}. | |
- {put_list,{x,4},nil,{x,0}}. | |
+ {get_tuple_element,{x,0},1,{x,0}}. | |
+ {put_tuple2,{x,0},{list,[{x,2},{x,0},{x,1}]}}. | |
+ {put_list,{x,0},nil,{x,0}}. | |
return. | |
-{function, '-remove_leafs/2-lc$^0/1-0-', 1, 277}. | |
- {label,276}. | |
+{function, '-remove_leafs/2-lc$^0/1-0-', 1, 247}. | |
+ {label,246}. | |
{line,[{location,"couch_key_tree.erl",225}]}. | |
{func_info,{atom,couch_key_tree},{atom,'-remove_leafs/2-lc$^0/1-0-'},1}. | |
- {label,277}. | |
- {test,is_nonempty_list,{f,279},[{x,0}]}. | |
- {get_list,{x,0},{x,1},{x,2}}. | |
- {test,is_tuple,{f,278},[{x,1}]}. | |
- {test,test_arity,{f,278},[{x,1},2]}. | |
- {allocate_zero,2,3}. | |
- {get_tuple_element,{x,1},0,{x,3}}. | |
- {get_tuple_element,{x,1},1,{x,4}}. | |
+ {label,247}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{2 => {t_cons,{t_tuple,0,false,#{}},nil}}}, | |
+ nil}}]}}. | |
+ {test,is_nonempty_list,{f,248},[{x,0}]}. | |
+ {get_list,{x,0},{x,1},{x,0}}. | |
+ {get_tuple_element,{x,1},0,{x,2}}. | |
{line,[{location,"couch_key_tree.erl",225}]}. | |
- {gc_bif,'+',{f,0},5,[{x,3},{integer,1}],{x,0}}. | |
+ {gc_bif,'+',{f,0},3,[{x,2},{integer,1}],{x,2}}. | |
+ {get_tuple_element,{x,1},1,{x,1}}. | |
{line,[{location,"couch_key_tree.erl",225}]}. | |
- {gc_bif,length,{f,0},5,[{x,4}],{x,1}}. | |
+ {gc_bif,length,{f,0},3,[{x,1}],{x,3}}. | |
{line,[{location,"couch_key_tree.erl",225}]}. | |
- {gc_bif,'-',{f,0},5,[{x,0},{x,1}],{y,0}}. | |
- {move,{x,4},{y,1}}. | |
- {move,{x,2},{x,0}}. | |
+ {gc_bif,'-',{f,0},4,[{x,2},{x,3}],{x,2}}. | |
+ {allocate,2,3}. | |
+ {move,{x,1},{y,0}}. | |
+ {move,{x,2},{y,1}}. | |
{line,[{location,"couch_key_tree.erl",225}]}. | |
- {call,1,{f,277}}. | |
+ {call,1,{f,247}}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_list, | |
+ {t_tuple,2,true, | |
+ #{1 => number, | |
+ 2 => {t_cons,{t_tuple,0,false,#{}},nil}}}, | |
+ nil}}]}}. | |
{test_heap,5,1}. | |
- {put_tuple,2,{x,1}}. | |
- {put,{y,0}}. | |
- {put,{y,1}}. | |
+ {put_tuple2,{x,1},{list,[{y,1},{y,0}]}}. | |
{put_list,{x,1},{x,0},{x,0}}. | |
{deallocate,2}. | |
return. | |
- {label,278}. | |
- {move,{x,2},{x,0}}. | |
- {call_only,1,{f,277}}. | |
- {label,279}. | |
- {test,is_nil,{f,276},[{x,0}]}. | |
+ {label,248}. | |
return. | |
-{function, '-find_missing_simple/3-lc$^1/1-1-', 2, 281}. | |
- {label,280}. | |
+{function, '-find_missing_simple/3-lc$^1/1-1-', 2, 250}. | |
+ {label,249}. | |
{line,[{location,"couch_key_tree.erl",197}]}. | |
{func_info,{atom,couch_key_tree}, | |
{atom,'-find_missing_simple/3-lc$^1/1-1-'}, | |
2}. | |
- {label,281}. | |
- {test,is_nonempty_list,{f,283},[{x,0}]}. | |
- {get_list,{x,0},{x,2},{x,3}}. | |
- {test,is_tuple,{f,282},[{x,2}]}. | |
- {test,test_arity,{f,282},[{x,2},2]}. | |
- {get_tuple_element,{x,2},0,{x,4}}. | |
- {test,is_lt,{f,282},[{x,4},{x,1}]}. | |
- {allocate,1,4}. | |
+ {label,250}. | |
+ {'%',{var_info,{x,0},[{type,{t_list,{t_tuple,2,true,#{}},nil}}]}}. | |
+ {test,is_nonempty_list,{f,252},[{x,0}]}. | |
+ {get_list,{x,0},{x,2},{x,0}}. | |
+ {get_tuple_element,{x,2},0,{x,3}}. | |
+ {test,is_lt,{f,251},[{x,3},{x,1}]}. | |
+ {allocate,1,3}. | |
{move,{x,2},{y,0}}. | |
- {move,{x,3},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",197}]}. | |
- {call,2,{f,281}}. | |
+ {call,2,{f,250}}. | |
+ {'%',{var_info,{x,0},[{type,{t_list,{t_tuple,2,true,#{}},nil}}]}}. | |
{test_heap,2,1}. | |
{put_list,{y,0},{x,0},{x,0}}. | |
{deallocate,1}. | |
return. | |
- {label,282}. | |
- {move,{x,3},{x,0}}. | |
- {call_only,2,{f,281}}. | |
- {label,283}. | |
- {test,is_nil,{f,284},[{x,0}]}. | |
+ {label,251}. | |
+ {call_only,2,{f,250}}. | |
+ {label,252}. | |
return. | |
- {label,284}. | |
- {test_heap,2,1}. | |
- {put_list,{x,0},nil,{x,1}}. | |
- {move,{atom,function_clause},{x,0}}. | |
- {line,[{location,"couch_key_tree.erl",197}]}. | |
- {call_ext,2,{extfunc,erlang,error,2}}. | |
-{function, '-find_missing_simple/3-lc$^0/1-0-', 2, 286}. | |
- {label,285}. | |
+{function, '-find_missing_simple/3-lc$^0/1-0-', 2, 254}. | |
+ {label,253}. | |
{line,[{location,"couch_key_tree.erl",196}]}. | |
{func_info,{atom,couch_key_tree}, | |
{atom,'-find_missing_simple/3-lc$^0/1-0-'}, | |
2}. | |
- {label,286}. | |
- {test,is_nonempty_list,{f,288},[{x,0}]}. | |
- {get_list,{x,0},{x,2},{x,3}}. | |
- {test,is_tuple,{f,287},[{x,2}]}. | |
- {test,test_arity,{f,287},[{x,2},2]}. | |
- {get_tuple_element,{x,2},0,{x,4}}. | |
- {test,is_ge,{f,287},[{x,4},{x,1}]}. | |
- {allocate,1,4}. | |
+ {label,254}. | |
+ {'%',{var_info,{x,0},[{type,{t_list,{t_tuple,2,true,#{}},nil}}]}}. | |
+ {test,is_nonempty_list,{f,256},[{x,0}]}. | |
+ {get_list,{x,0},{x,2},{x,0}}. | |
+ {get_tuple_element,{x,2},0,{x,3}}. | |
+ {test,is_ge,{f,255},[{x,3},{x,1}]}. | |
+ {allocate,1,3}. | |
{move,{x,2},{y,0}}. | |
- {move,{x,3},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",196}]}. | |
- {call,2,{f,286}}. | |
+ {call,2,{f,254}}. | |
+ {'%',{var_info,{x,0},[{type,{t_list,{t_tuple,2,true,#{}},nil}}]}}. | |
{test_heap,2,1}. | |
{put_list,{y,0},{x,0},{x,0}}. | |
{deallocate,1}. | |
return. | |
- {label,287}. | |
- {move,{x,3},{x,0}}. | |
- {call_only,2,{f,286}}. | |
- {label,288}. | |
- {test,is_nil,{f,289},[{x,0}]}. | |
+ {label,255}. | |
+ {call_only,2,{f,254}}. | |
+ {label,256}. | |
return. | |
- {label,289}. | |
- {test_heap,2,1}. | |
- {put_list,{x,0},nil,{x,1}}. | |
- {move,{atom,function_clause},{x,0}}. | |
- {line,[{location,"couch_key_tree.erl",196}]}. | |
- {call_ext,2,{extfunc,erlang,error,2}}. | |
-{function, '-find_missing/2-lc$^1/1-1-', 2, 291}. | |
- {label,290}. | |
+{function, '-find_missing/2-lc$^1/1-1-', 2, 258}. | |
+ {label,257}. | |
{line,[{location,"couch_key_tree.erl",187}]}. | |
{func_info,{atom,couch_key_tree},{atom,'-find_missing/2-lc$^1/1-1-'},2}. | |
- {label,291}. | |
- {test,is_nonempty_list,{f,293},[{x,0}]}. | |
- {get_list,{x,0},{x,2},{x,3}}. | |
- {test,is_tuple,{f,292},[{x,2}]}. | |
- {test,test_arity,{f,292},[{x,2},2]}. | |
- {get_tuple_element,{x,2},0,{x,4}}. | |
- {test,is_lt,{f,292},[{x,4},{x,1}]}. | |
- {allocate,1,4}. | |
+ {label,258}. | |
+ {test,is_nonempty_list,{f,260},[{x,0}]}. | |
+ {get_list,{x,0},{x,2},{x,0}}. | |
+ {test,is_tuple,{f,259},[{x,2}]}. | |
+ {test,test_arity,{f,259},[{x,2},2]}. | |
+ {get_tuple_element,{x,2},0,{x,3}}. | |
+ {test,is_lt,{f,259},[{x,3},{x,1}]}. | |
+ {allocate,1,3}. | |
{move,{x,2},{y,0}}. | |
- {move,{x,3},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",187}]}. | |
- {call,2,{f,291}}. | |
+ {call,2,{f,258}}. | |
+ {'%',{var_info,{x,0},[{type,{t_list,{t_tuple,2,true,#{}},nil}}]}}. | |
{test_heap,2,1}. | |
{put_list,{y,0},{x,0},{x,0}}. | |
{deallocate,1}. | |
return. | |
- {label,292}. | |
- {move,{x,3},{x,0}}. | |
- {call_only,2,{f,291}}. | |
- {label,293}. | |
- {test,is_nil,{f,294},[{x,0}]}. | |
+ {label,259}. | |
+ {call_only,2,{f,258}}. | |
+ {label,260}. | |
+ {test,is_nil,{f,261},[{x,0}]}. | |
return. | |
- {label,294}. | |
+ {label,261}. | |
{test_heap,2,1}. | |
{put_list,{x,0},nil,{x,1}}. | |
{move,{atom,function_clause},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",187}]}. | |
- {call_ext,2,{extfunc,erlang,error,2}}. | |
+ {call_ext_only,2,{extfunc,erlang,error,2}}. | |
-{function, '-find_missing/2-lc$^0/1-0-', 2, 296}. | |
- {label,295}. | |
+{function, '-find_missing/2-lc$^0/1-0-', 2, 263}. | |
+ {label,262}. | |
{line,[{location,"couch_key_tree.erl",186}]}. | |
{func_info,{atom,couch_key_tree},{atom,'-find_missing/2-lc$^0/1-0-'},2}. | |
- {label,296}. | |
- {test,is_nonempty_list,{f,298},[{x,0}]}. | |
- {get_list,{x,0},{x,2},{x,3}}. | |
- {test,is_tuple,{f,297},[{x,2}]}. | |
- {test,test_arity,{f,297},[{x,2},2]}. | |
- {get_tuple_element,{x,2},0,{x,4}}. | |
- {test,is_ge,{f,297},[{x,4},{x,1}]}. | |
- {allocate,1,4}. | |
+ {label,263}. | |
+ {test,is_nonempty_list,{f,265},[{x,0}]}. | |
+ {get_list,{x,0},{x,2},{x,0}}. | |
+ {test,is_tuple,{f,264},[{x,2}]}. | |
+ {test,test_arity,{f,264},[{x,2},2]}. | |
+ {get_tuple_element,{x,2},0,{x,3}}. | |
+ {test,is_ge,{f,264},[{x,3},{x,1}]}. | |
+ {allocate,1,3}. | |
{move,{x,2},{y,0}}. | |
- {move,{x,3},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",186}]}. | |
- {call,2,{f,296}}. | |
+ {call,2,{f,263}}. | |
+ {'%',{var_info,{x,0},[{type,{t_list,{t_tuple,2,true,#{}},nil}}]}}. | |
{test_heap,2,1}. | |
{put_list,{y,0},{x,0},{x,0}}. | |
{deallocate,1}. | |
return. | |
- {label,297}. | |
- {move,{x,3},{x,0}}. | |
- {call_only,2,{f,296}}. | |
- {label,298}. | |
- {test,is_nil,{f,299},[{x,0}]}. | |
+ {label,264}. | |
+ {call_only,2,{f,263}}. | |
+ {label,265}. | |
+ {test,is_nil,{f,266},[{x,0}]}. | |
return. | |
- {label,299}. | |
+ {label,266}. | |
{test_heap,2,1}. | |
{put_list,{x,0},nil,{x,1}}. | |
{move,{atom,function_clause},{x,0}}. | |
{line,[{location,"couch_key_tree.erl",186}]}. | |
- {call_ext,2,{extfunc,erlang,error,2}}. | |
+ {call_ext_only,2,{extfunc,erlang,error,2}}. | |
-{function, '-multi_merge/2-fun-0-', 2, 301}. | |
- {label,300}. | |
+{function, '-multi_merge/2-fun-0-', 2, 268}. | |
+ {label,267}. | |
{line,[{location,"couch_key_tree.erl",46}]}. | |
{func_info,{atom,couch_key_tree},{atom,'-multi_merge/2-fun-0-'},2}. | |
- {label,301}. | |
+ {label,268}. | |
{allocate,0,2}. | |
- {move,{x,1},{x,2}}. | |
- {move,{x,0},{x,1}}. | |
- {move,{x,2},{x,0}}. | |
+ {swap,{x,0},{x,1}}. | |
{line,[{location,"couch_key_tree.erl",47}]}. | |
{call,2,{f,4}}. | |
- {test,is_tuple,{f,302},[{x,0}]}. | |
- {test,test_arity,{f,302},[{x,0},2]}. | |
+ {'%', | |
+ {var_info, | |
+ {x,0}, | |
+ [{type, | |
+ {t_tuple,2,true, | |
+ #{1 => {t_list,any,nil}, | |
+ 2 => {t_atom,[internal_node,new_branch,new_leaf]}}}}]}}. | |
{get_tuple_element,{x,0},0,{x,0}}. | |
{deallocate,0}. | |
return. | |
- {label,302}. | |
- {line,[{location,"couch_key_tree.erl",47}]}. | |
- {badmatch,{x,0}}. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment