aboutsummaryrefslogtreecommitdiff
path: root/library
diff options
context:
space:
mode:
authorherbelin2011-09-24 16:22:00 +0000
committerherbelin2011-09-24 16:22:00 +0000
commit03406a6bc9ce34337d8631f7be26d152de984356 (patch)
tree62d62baf78fb3db470ede00ac10f333b9403ef9a /library
parent7ddef6f71e017af324113ae43c0fe2a5abc09764 (diff)
Completing r14448 and thus continuing r14407 (using Cast to propagate
information coming from tactics on how to solve cst/cst critical pairs in the kernel conversion machine). In r14448, extra Cast's were removed from kernel type-checker but (erroneously) not from the terms actually registered in the environment. The current commit completes the work by registering the term output by the type-checker and not the original term. Note that this needs to move hconsing from before to after typing. On the Coq library, propagating Cast (without keeping them on disk) induces a stable 1% speedup (Xeon w3540). Having hcons before or after type-checking makes no difference. It remains to test on user contribs whether the current commit compensates the slow down and vo size increasing coming with the improvement made to Qed in r14407. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@14492 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'library')
-rw-r--r--library/declare.ml9
1 files changed, 0 insertions, 9 deletions
diff --git a/library/declare.ml b/library/declare.ml
index df87153de8..3a640c9715 100644
--- a/library/declare.ml
+++ b/library/declare.ml
@@ -154,14 +154,6 @@ let inConstant =
subst_function = ident_subst_function;
discharge_function = discharge_constant }
-let hcons_constant_declaration = function
- | DefinitionEntry ce when !Flags.hash_cons_proofs ->
- DefinitionEntry
- { const_entry_body = hcons1_constr ce.const_entry_body;
- const_entry_type = Option.map hcons1_constr ce.const_entry_type;
- const_entry_opaque = ce.const_entry_opaque }
- | cd -> cd
-
let declare_constant_common id dhyps (cd,kind) =
let (sp,kn) = add_leaf id (inConstant (cd,dhyps,kind)) in
let c = Global.constant_of_delta (constant_of_kn kn) in
@@ -171,7 +163,6 @@ let declare_constant_common id dhyps (cd,kind) =
c
let declare_constant ?(internal = UserVerbose) id (cd,kind) =
- let cd = hcons_constant_declaration cd in
let kn = declare_constant_common id [] (ConstantEntry cd,kind) in
!xml_declare_constant (internal,kn);
kn