+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
(*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);
}
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. */
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;
}
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. */