diff options
author | Xavier Leroy <xavierleroy@users.noreply.github.com> | 2021-11-16 09:38:54 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-16 09:38:54 +0100 |
commit | b9dfe18fb99d9fd0e8918c160ee297755c5fca59 (patch) | |
tree | c7613e597e7f13156b57cdaf97c0ec89a4b7f655 /common/Globalenvs.v | |
parent | 168495d726e623e0b4bd6364f949ae577fa8b52e (diff) | |
download | compcert-kvx-b9dfe18fb99d9fd0e8918c160ee297755c5fca59.tar.gz compcert-kvx-b9dfe18fb99d9fd0e8918c160ee297755c5fca59.zip |
An improved PTree data structure (#420)
This PR replaces the "PTree" data structure used in lib/Maps.v by the
canonical binary tries data structure proposed by A. W. Appel and
described in the paper "Efficient Extensional Binary Tries",
https://arxiv.org/abs/2110.05063
The new implementation is more memory-efficient and a bit faster,
resulting in reduced compilation times (-5% on typical C programs, up
to -10% on very large C functions).
It also enjoys the extensionality property (two tries mapping equal
keys to equal data are equal), which simplifies some proofs.
Diffstat (limited to 'common/Globalenvs.v')
-rw-r--r-- | common/Globalenvs.v | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/common/Globalenvs.v b/common/Globalenvs.v index 4c9e7889..f424a69d 100644 --- a/common/Globalenvs.v +++ b/common/Globalenvs.v @@ -265,15 +265,6 @@ Qed. Program Definition empty_genv (pub: list ident): t := @mkgenv pub (PTree.empty _) (PTree.empty _) 1%positive _ _ _. -Next Obligation. - rewrite PTree.gempty in H. discriminate. -Qed. -Next Obligation. - rewrite PTree.gempty in H. discriminate. -Qed. -Next Obligation. - rewrite PTree.gempty in H. discriminate. -Qed. Definition globalenv (p: program F V) := add_globals (empty_genv p.(prog_public)) p.(prog_defs). |