diff --git a/src/plugins/eva/engine/analysis.ml b/src/plugins/eva/engine/analysis.ml index c0ea1e2ca83e0993160b21dde03da3b255732bfb..3ba7dcb4234d7d17e6c05115f10d08c746f08546 100644 --- a/src/plugins/eva/engine/analysis.ml +++ b/src/plugins/eva/engine/analysis.ml @@ -177,9 +177,16 @@ let () = ~user_only:true (fun _ -> reset_analyzer ()); Project.register_after_global_load_hook reset_analyzer +let tune_gc () = + if Sys.ocaml_release.major >= 5 then + let minor_heap_size = 8192000 in + let space_overhead = 40 in + Gc.(set { (get ()) with minor_heap_size; space_overhead; }) + (* Builds the analyzer if needed, and run the analysis. *) let force_compute () = Ast.compute (); + tune_gc (); Parameters.configure_precision (); if not (Kernel.AuditCheck.is_empty ()) then Eva_audit.check_configuration (Kernel.AuditCheck.get ());