@@ -1781,12 +1781,22 @@ and colapse_frontier name st (new_frontier' : Addr.Set.t) interm =
1781
1781
, interm
1782
1782
, Some (a, branch) )
1783
1783
1784
- and compile_decision_tree st loop_stack backs frontier interm loc cx dtree =
1784
+ and compile_decision_tree kind st loop_stack backs frontier interm loc cx dtree =
1785
1785
(* Some changes here may require corresponding changes
1786
1786
in function [DTree.fold_cont] above. *)
1787
1787
let rec loop cx : _ -> bool * _ = function
1788
- | DTree. Branch (_ , cont ) ->
1789
- if debug () then Format. eprintf " @[<hv 2>case {@;" ;
1788
+ | DTree. Branch (l , cont ) ->
1789
+ if debug ()
1790
+ then
1791
+ Format. eprintf
1792
+ " @[<hv 2>case %s(%a) {@;"
1793
+ kind
1794
+ Format. (
1795
+ pp_print_list
1796
+ ~pp_sep: (fun fmt () -> Format. pp_print_string fmt " , " )
1797
+ (fun fmt pc -> Format. fprintf fmt " %d" pc))
1798
+ l;
1799
+
1790
1800
let never, code = compile_branch st [] cont loop_stack backs frontier interm in
1791
1801
if debug () then Format. eprintf " }@]@;" ;
1792
1802
never, code
@@ -1905,6 +1915,7 @@ and compile_conditional st queue last loop_stack backs frontier interm =
1905
1915
let (_px, cx), queue = access_queue queue x in
1906
1916
let never, b =
1907
1917
compile_decision_tree
1918
+ " Bool"
1908
1919
st
1909
1920
loop_stack
1910
1921
backs
@@ -1919,6 +1930,7 @@ and compile_conditional st queue last loop_stack backs frontier interm =
1919
1930
let (_px, cx), queue = access_queue queue x in
1920
1931
let never, code =
1921
1932
compile_decision_tree
1933
+ " Tag"
1922
1934
st
1923
1935
loop_stack
1924
1936
backs
@@ -1933,6 +1945,7 @@ and compile_conditional st queue last loop_stack backs frontier interm =
1933
1945
let (_px, cx), queue = access_queue queue x in
1934
1946
let never, code =
1935
1947
compile_decision_tree
1948
+ " Int"
1936
1949
st
1937
1950
loop_stack
1938
1951
backs
@@ -1948,6 +1961,7 @@ and compile_conditional st queue last loop_stack backs frontier interm =
1948
1961
refer to it *)
1949
1962
let never1, b1 =
1950
1963
compile_decision_tree
1964
+ " Int"
1951
1965
st
1952
1966
loop_stack
1953
1967
backs
@@ -1959,6 +1973,7 @@ and compile_conditional st queue last loop_stack backs frontier interm =
1959
1973
in
1960
1974
let never2, b2 =
1961
1975
compile_decision_tree
1976
+ " Tag"
1962
1977
st
1963
1978
loop_stack
1964
1979
backs
0 commit comments