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
This commit is contained in:
Martin Liska 2019-06-12 15:07:07 +02:00 committed by Martin Liska
parent 57bbc3e2f0
commit ff7b3aa51f
4 changed files with 18 additions and 7 deletions

View File

@ -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

View File

@ -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);
}

View File

@ -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;
}

View File

@ -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. */