From: Jan Hubicka Date: Mon, 13 Apr 2015 06:37:56 +0000 (+0200) Subject: hash-table.h (hash_table constructor): Add mem stats. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=61ebff31f4524ebc18dcf53d2fffab0fa1ba5ef3;p=gcc.git hash-table.h (hash_table constructor): Add mem stats. * hash-table.h (hash_table constructor): Add mem stats. (alloc_entries): Likewise. From-SVN: r222039 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bf946562db0..0d3495fd0bd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2015-04-12 Jan Hubicka + + * hash-table.h (hash_table constructor): Add mem stats. + (alloc_entries): Likewise. + 2015-04-12 Jan Hubicka * ipa-cp.c (ipcp_driver): Relase prev_edge. diff --git a/gcc/hash-table.h b/gcc/hash-table.h index f201c89633c..447eaff1b1c 100644 --- a/gcc/hash-table.h +++ b/gcc/hash-table.h @@ -615,7 +615,7 @@ class hash_table typedef typename Descriptor::compare_type compare_type; public: - hash_table (size_t); + hash_table (size_t CXX_MEM_STAT_INFO); ~hash_table (); /* Current size (in entries) of the hash table. */ @@ -751,7 +751,8 @@ private: }; template class Allocator> -hash_table::hash_table (size_t size) : +hash_table::hash_table (size_t size + MEM_STAT_DECL) : m_n_elements (0), m_n_deleted (0), m_searches (0), m_collisions (0) { unsigned int size_prime_index; @@ -1116,7 +1117,7 @@ class hash_table typedef typename Descriptor::compare_type compare_type; public: - explicit hash_table (size_t, bool ggc = false); + explicit hash_table (size_t, bool ggc = false CXX_MEM_STAT_INFO); ~hash_table (); /* Create a hash_table in gc memory. */ @@ -1245,7 +1246,7 @@ private: template friend void gt_pch_nx (hash_table *, gt_pointer_operator, void *); - value_type *alloc_entries (size_t n) const; + value_type *alloc_entries (size_t n CXX_MEM_STAT_INFO) const; value_type *find_empty_slot_for_expand (hashval_t); void expand (); static bool is_deleted (value_type &v) @@ -1295,7 +1296,8 @@ private: }; template class Allocator> -hash_table::hash_table (size_t size, bool ggc) : +hash_table::hash_table (size_t size, bool ggc + MEM_STAT_DECL) : m_n_elements (0), m_n_deleted (0), m_searches (0), m_collisions (0), m_ggc (ggc) { @@ -1304,7 +1306,7 @@ hash_table::hash_table (size_t size, bool ggc) : size_prime_index = hash_table_higher_prime_index (size); size = prime_tab[size_prime_index].prime; - m_entries = alloc_entries (size); + m_entries = alloc_entries (size PASS_MEM_STAT); m_size = size; m_size_prime_index = size_prime_index; } @@ -1326,14 +1328,15 @@ hash_table::~hash_table () template class Allocator> inline typename hash_table::value_type * -hash_table::alloc_entries (size_t n) const +hash_table::alloc_entries + (size_t n MEM_STAT_DECL) const { value_type *nentries; if (!m_ggc) nentries = Allocator ::data_alloc (n); else - nentries = ::ggc_cleared_vec_alloc (n); + nentries = ::ggc_cleared_vec_alloc (n PASS_MEM_STAT); gcc_assert (nentries != NULL); for (size_t i = 0; i < n; i++)