aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/ggc-common.c2
-rw-r--r--gcc/hash-map.h9
-rw-r--r--gcc/mem-stats.h6
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. */