Skip to content

Commit

Permalink
Dimensionnement des piles d'exécution des variables.
Browse files Browse the repository at this point in the history
  • Loading branch information
david-michel1 committed Jan 15, 2025
1 parent 1a8fea0 commit 655b2f7
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 14 deletions.
10 changes: 4 additions & 6 deletions src/mlang/m_frontend/check_validity.ml
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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 =
Expand Down
2 changes: 0 additions & 2 deletions src/mlang/m_ir/mir_interpreter.ml
Original file line number Diff line number Diff line change
Expand Up @@ -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 ()) ->
Expand Down
9 changes: 3 additions & 6 deletions src/mlang/test_framework/test_interpreter.ml
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit 655b2f7

Please sign in to comment.