Skip to content

Instantly share code, notes, and snippets.

@davisp
Created March 21, 2022 18:59
Show Gist options
  • Save davisp/689880296aa063fa40aac1f9cfd8df58 to your computer and use it in GitHub Desktop.
Save davisp/689880296aa063fa40aac1f9cfd8df58 to your computer and use it in GitHub Desktop.
- {make_fun2,{f,229},0,0,1}.
- {'%',{var_info,{x,0},[{fun_type,{t_tuple,2,true,#{}}}]}}.
+ {make_fun2,{f,257},0,0,1}.
---
- {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}.
+ {call,4,{f,172}}.
+ {test,is_tuple,{f,170},[{x,0}]}.
+ {select_tuple_arity,{x,0},{f,170},{list,[3,{f,169},4,{f,168}]}}.
+ {label,168}.
---
{get_tuple_element,{x,1},0,{x,4}}.
- {get_tuple_element,{x,1},2,{x,5}}.
- {test,is_nil,{f,149},[{x,5}]}.
+ {get_tuple_element,{x,1},1,{x,5}}.
+ {get_tuple_element,{x,1},2,{x,6}}.
+ {test,is_nil,{f,173},[{x,6}]}.
---
- {label,149}.
- {allocate,7,6}.
+ {label,173}.
+ {allocate,7,7}.
{init,{y,0}}.
{init,{y,1}}.
{move,{x,4},{y,2}}.
{move,{x,5},{y,3}}.
- {move,{x,2},{y,4}}.
- {move,{x,1},{y,5}}.
+ {move,{x,6},{y,4}}.
+ {move,{x,2},{y,5}}.
{move,{x,0},{y,6}}.
{move,{x,3},{x,1}}.
{move,{x,4},{x,0}}.
{line,[{location,"couch_key_tree.erl",489}]}.
- {call,2,{f,155}}.
- {move,{y,4},{x,2}}.
- {move,{x,0},{y,4}}.
+ {call,2,{f,179}}.
+ {move,{y,5},{x,2}}.
+ {move,{x,0},{y,5}}.
{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,#{}}}]}}.
+ {make_fun2,{f,251},0,0,2}.
{test_heap,5,1}.
- {put_tuple2,{x,1},{list,[{y,4},{integer,-1},nil,nil]}}.
- {move,{y,3},{x,2}}.
- {kill,{y,3}}.
+ {put_tuple2,{x,1},{list,[{y,5},{integer,-1},nil,nil]}}.
+ {move,{y,4},{x,2}}.
{kill,{y,4}}.
+ {kill,{y,5}}.
{line,[{location,"couch_key_tree.erl",490}]}.
{call_ext,3,{extfunc,lists,foldl,3}}.
- {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}}.
+ {test,is_tuple,{f,177},[{x,0}]}.
+ {test,test_arity,{f,177},[{x,0},4]}.
+ {get_tuple_element,{x,0},0,{y,5}}.
+ {get_tuple_element,{x,0},1,{y,4}}.
{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}]}.
+ {test,is_lt,{f,174},[{integer,0},{y,4}]}.
+ {gc_bif,length,{f,174},0,[{y,1}],{x,0}}.
+ {test,is_lt,{f,174},[{integer,0},{x,0}]}.
{move,{y,1},{x,0}}.
{move,{y,0},{y,6}}.
{trim,2,5}.
{line,[{location,"couch_key_tree.erl",511}]}.
{call_ext,1,{extfunc,lists,reverse,1}}.
{test_heap,4,1}.
- {get_tuple_element,{y,3},1,{x,1}}.
- {put_tuple2,{x,0},{list,[{y,0},{x,1},{x,0}]}}.
+ {put_tuple2,{x,0},{list,[{y,0},{y,1},{x,0}]}}.
{line,[{location,"couch_key_tree.erl",512}]}.
- {gc_bif,'-',{f,0},1,[{y,1},{integer,1}],{x,1}}.
+ {gc_bif,'-',{f,0},1,[{y,2},{integer,1}],{x,1}}.
{test_heap,5,2}.
- {put_tuple2,{x,0},{list,[{y,2},{x,1},{x,0},{y,4}]}}.
+ {put_tuple2,{x,0},{list,[{y,3},{x,1},{x,0},{y,4}]}}.
{deallocate,5}.
return.
- {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}]}.
+ {label,174}.
+ {test,is_eq_exact,{f,175},[{y,4},{integer,0}]}.
+ {gc_bif,length,{f,175},0,[{y,1}],{x,0}}.
+ {test,is_lt,{f,175},[{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}}}]}}.
+ {make_fun2,{f,249},0,0,1}.
{move,{x,0},{y,6}}.
{move,{y,1},{x,0}}.
- {move,{y,0},{y,5}}.
+ {move,{y,0},{y,4}}.
{trim,4,3}.
{line,[{location,"couch_key_tree.erl",518}]}.
{call_ext,1,{extfunc,lists,reverse,1}}.
@@ -2395,84 +2006,71 @@
{trim,1,2}.
{line,[{location,"couch_key_tree.erl",514}]}.
{call_ext,2,{extfunc,lists,map,2}}.
- {move,{y,0},{x,1}}.
- {trim,1,1}.
+ {move,{y,1},{x,1}}.
+ {kill,{y,1}}.
{line,[{location,"couch_key_tree.erl",520}]}.
{call_ext,2,{extfunc,erlang,'++',2}}.
{test_heap,4,1}.
{put_tuple2,{x,0},{list,[{y,0},{integer,-1},{x,0}]}}.
- {deallocate,1}.
+ {deallocate,2}.
return.
- {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}]}.
+ {label,175}.
+ {test,is_lt,{f,176},[{y,4},{integer,0}]}.
+ {gc_bif,length,{f,176},0,[{y,1}],{x,0}}.
+ {test,is_eq,{f,176},[{x,0},{integer,0}]}.
{line,[{location,"couch_key_tree.erl",522}]}.
- {gc_bif,'-',{f,0},0,[{y,3},{integer,1}],{x,0}}.
+ {gc_bif,'-',{f,0},0,[{y,4},{integer,1}],{x,0}}.
{test_heap,4,1}.
- {put_tuple2,{x,0},{list,[{y,4},{x,0},{y,0}]}}.
+ {put_tuple2,{x,0},{list,[{y,5},{x,0},{y,0}]}}.
{deallocate,7}.
return.
- {label,152}.
+ {label,176}.
{line,[{location,"couch_key_tree.erl",509}]}.
- {case_end,{y,3}}.
- {label,153}.
+ {case_end,{y,4}}.
+ {label,177}.
{line,[{location,"couch_key_tree.erl",508}]}.
{badmatch,{x,0}}.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment