diff options
author | Martin Liska <mliska@suse.cz> | 2019-06-12 15:07:07 +0200 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2019-06-12 13:07:07 +0000 |
commit | ff7b3aa51f8edd24fdc599d9f95a5cbf61aeb76e (patch) | |
tree | 9a67df7d7f672eadd843ec0dc84484f438130c8b | |
parent | 57bbc3e2f030b810766916189ec802aed5db5041 (diff) | |
download | gcc-ff7b3aa51f8edd24fdc599d9f95a5cbf61aeb76e.zip gcc-ff7b3aa51f8edd24fdc599d9f95a5cbf61aeb76e.tar.gz gcc-ff7b3aa51f8edd24fdc599d9f95a5cbf61aeb76e.tar.bz2 |
Disable hash-table sanitization for mem stats maps.
2019-06-12 Martin Liska <mliska@suse.cz>
* ggc-common.c (ggc_prune_overhead_list): Do not sanitize
the created map.
* hash-map.h: Add sanitize_eq_and_hash into ::hash_map.
* mem-stats.h (mem_alloc_description::mem_alloc_description):
Do not sanitize created maps.
From-SVN: r272183
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/ggc-common.c | 2 | ||||
-rw-r--r-- | gcc/hash-map.h | 9 | ||||
-rw-r--r-- | gcc/mem-stats.h | 6 |
4 files changed, 18 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d58835d..214ded4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2019-06-12 Martin Liska <mliska@suse.cz> + + * ggc-common.c (ggc_prune_overhead_list): Do not sanitize + the created map. + * hash-map.h: Add sanitize_eq_and_hash into ::hash_map. + * mem-stats.h (mem_alloc_description::mem_alloc_description): + Do not sanitize created maps. + 2019-06-12 Aldy Hernandez <aldyh@redhat.com> * gimple-ssa-evrp.c (evrp_dom_walker::before_dom_children): Use diff --git a/gcc/ggc-common.c b/gcc/ggc-common.c index 2acdb6d..6fb5a3d 100644 --- a/gcc/ggc-common.c +++ b/gcc/ggc-common.c @@ -1014,5 +1014,5 @@ ggc_prune_overhead_list (void) (*it).second.first->m_collected += (*it).second.second; delete ggc_mem_desc.m_reverse_object_map; - ggc_mem_desc.m_reverse_object_map = new map_t (13, false, false); + ggc_mem_desc.m_reverse_object_map = new map_t (13, false, false, false); } diff --git a/gcc/hash-map.h b/gcc/hash-map.h index a8eb42d..588dfda 100644 --- a/gcc/hash-map.h +++ b/gcc/hash-map.h @@ -118,16 +118,19 @@ class GTY((user)) hash_map public: explicit hash_map (size_t n = 13, bool ggc = false, + bool sanitize_eq_and_hash = true, bool gather_mem_stats = GATHER_STATISTICS CXX_MEM_STAT_INFO) - : m_table (n, ggc, true, gather_mem_stats, HASH_MAP_ORIGIN PASS_MEM_STAT) + : m_table (n, ggc, sanitize_eq_and_hash, gather_mem_stats, + HASH_MAP_ORIGIN PASS_MEM_STAT) { } explicit hash_map (const hash_map &h, bool ggc = false, + bool sanitize_eq_and_hash = true, bool gather_mem_stats = GATHER_STATISTICS CXX_MEM_STAT_INFO) - : m_table (h.m_table, ggc, true, gather_mem_stats, + : m_table (h.m_table, ggc, sanitize_eq_and_hash, gather_mem_stats, HASH_MAP_ORIGIN PASS_MEM_STAT) {} /* Create a hash_map in ggc memory. */ @@ -136,7 +139,7 @@ public: CXX_MEM_STAT_INFO) { hash_map *map = ggc_alloc<hash_map> (); - new (map) hash_map (size, true, gather_mem_stats PASS_MEM_STAT); + new (map) hash_map (size, true, true, gather_mem_stats PASS_MEM_STAT); return map; } diff --git a/gcc/mem-stats.h b/gcc/mem-stats.h index 63ce871..7796059 100644 --- a/gcc/mem-stats.h +++ b/gcc/mem-stats.h @@ -559,9 +559,9 @@ template <class T> inline mem_alloc_description<T>::mem_alloc_description () { - m_map = new mem_map_t (13, false, false); - m_reverse_map = new reverse_mem_map_t (13, false, false); - m_reverse_object_map = new reverse_object_map_t (13, false, false); + m_map = new mem_map_t (13, false, false, false); + m_reverse_map = new reverse_mem_map_t (13, false, false, false); + m_reverse_object_map = new reverse_object_map_t (13, false, false, false); } /* Default destructor. */ |