summaryrefslogtreecommitdiff
path: root/compiler/Config.ml
diff options
context:
space:
mode:
authorSon HO2023-11-28 08:04:43 +0100
committerGitHub2023-11-28 08:04:43 +0100
commitb78850a81dfea78bc280f1b5b6d2fdcb421e386a (patch)
tree3a4807b26856c0c2e21f1a8a4cdf80da136c26ec /compiler/Config.ml
parentbacf3f5f6f5f6a9aa650d5ae8d12a132fd747039 (diff)
parenta3a3ab9723348e24f83073a52145128f34022265 (diff)
Merge pull request #46 from AeneasVerif/son_improves
Minor improvements for the extraction
Diffstat (limited to 'compiler/Config.ml')
-rw-r--r--compiler/Config.ml13
1 files changed, 7 insertions, 6 deletions
diff --git a/compiler/Config.ml b/compiler/Config.ml
index fe110ee4..364ef748 100644
--- a/compiler/Config.ml
+++ b/compiler/Config.ml
@@ -35,11 +35,11 @@ let backend = ref FStar
(** {1 Interpreter} *)
-(** Check that invariants are maintained whenever we execute a statement
-
- TODO: rename to sanity_checks.
+(** Activate the sanity checks, and in particular the invariant checks
+ that are performed at every evaluation step. This is very expensive
+ (~100x slow down) but very efficient to catch mistakes early.
*)
-let check_invariants = ref true
+let sanity_checks = ref false
(** Expand all symbolic values containing borrows upon introduction - allows
to use restrict ourselves to a simpler model for the projectors over
@@ -52,7 +52,8 @@ let greedy_expand_symbolics_with_borrows = true
(** Experimental.
- TODO: remove (always true now)
+ TODO: remove (always true now), but check that when we panic/call a function
+ there is no bottom below a borrow.
We sometimes want to temporarily break the invariant that there is no
bottom value below a borrow. If this value is true, we don't check
@@ -288,7 +289,7 @@ let unfold_monadic_let_bindings = ref false
we later filter the useless *forward* calls in the micro-passes, where it is
more natural to do.
- See the comments for {!val:PureMicroPasses.expression_contains_child_call_in_all_paths}
+ See the comments for {!PureMicroPasses.expression_contains_child_call_in_all_paths}
for additional explanations.
*)
let filter_useless_monadic_calls = ref true