aboutsummaryrefslogtreecommitdiff
path: root/kernel/vmlambda.mli
diff options
context:
space:
mode:
authorGuillaume Melquiond2021-02-12 18:11:52 +0100
committerGuillaume Melquiond2021-02-23 16:02:05 +0100
commitf89f0eb4717b64f10bdd0a0edc9e93b949bcb33d (patch)
tree305c16a4266ac19f206d4091dbb1925b2bca1a36 /kernel/vmlambda.mli
parenta2938972537389b9813794147412f51494f48dd1 (diff)
Normalize evars during bytecode compilation (fix #13841).
Otherwise, the interpreter sees already unified evars as accumulators rather than actual constants, thus preventing the computations from progressing. This was caused by 6b61b63bb8626827708024cbea1312a703a54124, which removed evar normalization. The effect went unnoticed because the computed term is still convertible to the reduced term, except that it is the lazy machinery that ends up reducing it, rather than the bytecode one. So, performances became abysmal, seemingly at random.
Diffstat (limited to 'kernel/vmlambda.mli')
-rw-r--r--kernel/vmlambda.mli2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/vmlambda.mli b/kernel/vmlambda.mli
index ad5f81638f..03d3393219 100644
--- a/kernel/vmlambda.mli
+++ b/kernel/vmlambda.mli
@@ -33,7 +33,7 @@ and fix_decl = Name.t Context.binder_annot array * lambda array * lambda array
exception TooLargeInductive of Pp.t
-val lambda_of_constr : optimize:bool -> env -> Constr.t -> lambda
+val lambda_of_constr : optimize:bool -> env -> (existential -> constr option) -> Constr.t -> lambda
val decompose_Llam : lambda -> Name.t Context.binder_annot array * lambda