From be084e5b069af163fd5d6716daf40e9ac83f9347 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20B=C3=BChler?= <david.buhler@cea.fr> Date: Wed, 18 Mar 2020 10:19:08 +0100 Subject: [PATCH] [Eva] Engine: do not reset the analyzer when a domain parameter is changed. --- src/plugins/value/engine/analysis.ml | 11 +---------- src/plugins/value/value_parameters.ml | 7 ------- src/plugins/value/value_parameters.mli | 1 - 3 files changed, 1 insertion(+), 18 deletions(-) diff --git a/src/plugins/value/engine/analysis.ml b/src/plugins/value/engine/analysis.ml index 757510704f6..06c72bf5099 100644 --- a/src/plugins/value/engine/analysis.ml +++ b/src/plugins/value/engine/analysis.ml @@ -165,17 +165,8 @@ let force_compute () = let module Analyzer = (val snd !ref_analyzer) in Analyzer.compute_from_entry_point ~lib_entry kf -let set_hook_on_parameter parameter = - let open Typed_parameter in - match parameter.accessor with - | Bool (accessor, _) -> accessor.add_set_hook (fun _ _ -> reset_analyzer ()) - | Int (accessor, _) -> accessor.add_set_hook (fun _ _ -> reset_analyzer ()) - | String (accessor, _) -> accessor.add_set_hook (fun _ _ -> reset_analyzer ()) - -(* Resets the Analyzer whenever an abstraction parameter or the current project - is changed. This maintains the analyzer consistent with the Eva parameters. *) +(* Resets the Analyzer when the current project is changed. *) let () = - List.iter set_hook_on_parameter Value_parameters.parameters_abstractions; Project.register_after_set_current_hook ~user_only:true (fun _ -> reset_analyzer ()); Project.register_after_global_load_hook reset_analyzer diff --git a/src/plugins/value/value_parameters.ml b/src/plugins/value/value_parameters.ml index bbe2cb24f8b..597997dccc6 100644 --- a/src/plugins/value/value_parameters.ml +++ b/src/plugins/value/value_parameters.ml @@ -234,11 +234,6 @@ module DomainsFunction = end) let () = add_precision_dep DomainsFunction.parameter -(* Set of parameters defining the abstractions used in an Eva analysis. *) -let parameters_abstractions = - ref (Typed_parameter.Set.of_list - [Domains.parameter; DomainsFunction.parameter]) - let () = Parameter_customize.set_group domains module EqualityCall = @@ -1547,8 +1542,6 @@ let parameters_correctness = Typed_parameter.Set.elements !parameters_correctness let parameters_tuning = Typed_parameter.Set.elements !parameters_tuning -let parameters_abstractions = - Typed_parameter.Set.elements !parameters_abstractions diff --git a/src/plugins/value/value_parameters.mli b/src/plugins/value/value_parameters.mli index 828113a3c87..b31c526f864 100644 --- a/src/plugins/value/value_parameters.mli +++ b/src/plugins/value/value_parameters.mli @@ -163,7 +163,6 @@ val configure_precision: unit -> unit val parameters_correctness: Typed_parameter.t list val parameters_tuning: Typed_parameter.t list -val parameters_abstractions: Typed_parameter.t list (** Debug categories responsible for printing initial and final states of Value. Enabled by default, but can be disabled via the command-line: -- GitLab