diff --git a/src/mlang/m_frontend/check_validity.ml b/src/mlang/m_frontend/check_validity.ml index 28f7102ff..f74dbb1bd 100644 --- a/src/mlang/m_frontend/check_validity.ml +++ b/src/mlang/m_frontend/check_validity.ml @@ -2493,9 +2493,6 @@ let complete_vars_stack (prog : program) : program = StrMap.fold fold t.target_tmp_vars nbIt in let target_nb_refs = List.length t.target_args + nbRef in - if target_nb_tmps + target_sz_tmps + target_nb_refs > 0 then - Format.eprintf "%s: %d %d %d@." (Pos.unmark t.target_name) - target_nb_tmps target_sz_tmps target_nb_refs; { t with target_nb_tmps; target_sz_tmps; target_nb_refs } in (StrMap.map map prog.prog_functions, StrMap.map map prog.prog_targets) @@ -2513,7 +2510,9 @@ let complete_vars_stack (prog : program) : program = | None -> ( let eval_call (t : Mast.target) = let nb, sz, nbRef = - (t.target_nb_tmps, t.target_sz_tmps, List.length t.target_args) + ( t.target_nb_tmps, + t.target_sz_tmps, + List.length t.target_args + t.target_nb_refs ) in let nb', sz', nbRef', tdata = aux_instrs tdata t.target_prog in let nb = nb + nb' in @@ -2666,7 +2665,7 @@ let complete_vars_stack (prog : program) : program = | Com.FuncCallLoop _ | Com.Loop _ -> assert false in let nb, sz, nbRef, _ = - let fold tn (t : Mast.target) (nb, sz, nbRef, tdata) = + let fold tn _ (nb, sz, nbRef, tdata) = let nb', sz', nbRef', tdata = aux_call tdata tn in (max nb nb', max sz sz', max nbRef nbRef', tdata) in @@ -2682,7 +2681,6 @@ let complete_vars_stack (prog : program) : program = let prog_stats = Mir.{ prog.prog_stats with nb_all_tmps; sz_all_tmps; nb_all_refs } in - Format.eprintf "%d %d %d@." nb_all_tmps sz_all_tmps nb_all_refs; { prog with prog_functions; prog_targets; prog_stats } let proceed (p : Mast.program) (main_target : string) : program = diff --git a/src/mlang/m_ir/mir_interpreter.ml b/src/mlang/m_ir/mir_interpreter.ml index 9e7c7dc27..8a13f113f 100644 --- a/src/mlang/m_ir/mir_interpreter.ml +++ b/src/mlang/m_ir/mir_interpreter.ml @@ -628,8 +628,6 @@ struct StrMap.iter (fun _ v -> if Com.CatVar.compare (Com.Var.cat v) vc = 0 then ( - (* Format.eprintf "%s ref %d/%d@." tn (ctx.ctx_ref_org + var_i) - (Array.length ctx.ctx_ref);*) ctx.ctx_ref.(ctx.ctx_ref_org + var_i) <- get_var ctx v; match evaluate_expr ctx p expr with | Number z when N.(z =. one ()) -> diff --git a/src/mlang/test_framework/test_interpreter.ml b/src/mlang/test_framework/test_interpreter.ml index dce056506..1875a4450 100644 --- a/src/mlang/test_framework/test_interpreter.ml +++ b/src/mlang/test_framework/test_interpreter.ml @@ -202,12 +202,9 @@ let check_all_tests (p : Mir.program) (test_dir : string) raise e in let s, f = - List.fold_left - (fun r n -> process n r) - ([], StrMap.empty) (Array.to_list arr) - (* Parmap.parfold ~chunksize:5 process (Parmap.A arr) ([], StrMap.empty) - (fun (old_s, old_f) (new_s, new_f) -> - (new_s @ old_s, StrMap.union (fun _ x1 x2 -> Some (x1 + x2)) old_f new_f))*) + Parmap.parfold ~chunksize:5 process (Parmap.A arr) ([], StrMap.empty) + (fun (old_s, old_f) (new_s, new_f) -> + (new_s @ old_s, StrMap.union (fun _ x1 x2 -> Some (x1 + x2)) old_f new_f)) in (* finish "done!"; *) Cli.warning_flag := true;