aboutsummaryrefslogtreecommitdiffhomepage
path: root/kernel
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2016-09-09 13:29:28 +0200
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2016-09-09 13:43:42 +0200
commitd55818c7da468ce1c7c9644cb63f68f7561a17bc (patch)
treefc3737cf865b014f5a297ce249b98892e181ecf1 /kernel
parent1888527bb43d6a8c801565af3e6376c91769fbc1 (diff)
Tracking careless uses of slow name lookup.
Diffstat (limited to 'kernel')
-rw-r--r--kernel/environ.ml2
-rw-r--r--kernel/nativecode.ml2
-rw-r--r--kernel/pre_env.ml3
-rw-r--r--kernel/pre_env.mli1
4 files changed, 6 insertions, 2 deletions
diff --git a/kernel/environ.ml b/kernel/environ.ml
index 96e35610c..54898320d 100644
--- a/kernel/environ.ml
+++ b/kernel/environ.ml
@@ -116,7 +116,7 @@ let val_of_named_context ctxt =
List.fold_right push_named_context_val ctxt empty_named_context_val
-let lookup_named id env = fst (Id.Map.find id env.env_named_context.env_named_map)
+let lookup_named = lookup_named
let lookup_named_val id ctxt = fst (Id.Map.find id ctxt.env_named_map)
let eq_named_context_val c1 c2 =
diff --git a/kernel/nativecode.ml b/kernel/nativecode.ml
index 79930f6ad..bf40f7389 100644
--- a/kernel/nativecode.ml
+++ b/kernel/nativecode.ml
@@ -1845,7 +1845,7 @@ and compile_rel env sigma univ auxdefs n =
and compile_named env sigma univ auxdefs id =
let open Context.Named.Declaration in
- match Context.Named.lookup id env.env_named_context.env_named_ctx with
+ match lookup_named id env with
| LocalDef (_,t,_) ->
let code = lambda_of_constr env sigma t in
let auxdefs,code = compile_with_fv env sigma univ auxdefs None code in
diff --git a/kernel/pre_env.ml b/kernel/pre_env.ml
index 104fe59d1..7be8606ef 100644
--- a/kernel/pre_env.ml
+++ b/kernel/pre_env.ml
@@ -173,6 +173,9 @@ let push_named d env =
indirect_pterms = env.indirect_pterms;
}
+let lookup_named id env =
+ fst (Id.Map.find id env.env_named_context.env_named_map)
+
let lookup_named_val id env =
snd(Id.Map.find id env.env_named_context.env_named_map)
diff --git a/kernel/pre_env.mli b/kernel/pre_env.mli
index 1e4eff3d5..866790367 100644
--- a/kernel/pre_env.mli
+++ b/kernel/pre_env.mli
@@ -81,6 +81,7 @@ val map_named_val :
(constr -> constr) -> named_context_val -> named_context_val
val push_named : Context.Named.Declaration.t -> env -> env
+val lookup_named : Id.t -> env -> Context.Named.Declaration.t
val lookup_named_val : Id.t -> env -> lazy_val
val env_of_named : Id.t -> env -> env