diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2015-06-25 17:07:01 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2015-06-25 17:07:01 +0000 |
commit | 4c1177e161e329b741e7b5ae55950fe65dfc8df5 (patch) | |
tree | bb67e870ff653ec7597c71fa8cc275fcacbb2c25 /gcc | |
parent | 7edd9b154d9f03c1006722aff36caa0955198c31 (diff) | |
download | gcc-4c1177e161e329b741e7b5ae55950fe65dfc8df5.zip gcc-4c1177e161e329b741e7b5ae55950fe65dfc8df5.tar.gz gcc-4c1177e161e329b741e7b5ae55950fe65dfc8df5.tar.bz2 |
hash-table.h (has_is_deleted, [...]): Delete.
gcc/
* hash-table.h (has_is_deleted, is_deleted_helper): Delete.
(has_is_empty, is_empty_helper): Delete.
(has_mark_deleted, mark_deleted_helper): Delete.
(has_mark_empty, mark_empty_helper): Delete.
(hash_table::is_deleted): Call the Descriptor unconditionally.
(hash_table::is_empty): Likewise.
(hash_table::mark_deleted): Likewise.
(hash_table::mark_empty): Likewise.
From-SVN: r224962
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/hash-table.h | 141 |
2 files changed, 24 insertions, 128 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 27bbec5..3a7e1b0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,16 @@ 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> + * hash-table.h (has_is_deleted, is_deleted_helper): Delete. + (has_is_empty, is_empty_helper): Delete. + (has_mark_deleted, mark_deleted_helper): Delete. + (has_mark_empty, mark_empty_helper): Delete. + (hash_table::is_deleted): Call the Descriptor unconditionally. + (hash_table::is_empty): Likewise. + (hash_table::mark_deleted): Likewise. + (hash_table::mark_empty): Likewise. + +2015-06-25 Richard Sandiford <richard.sandiford@arm.com> + * cgraph.h (asmname_hasher): Inherit from ggc_ptr_hash. Remove redundant typedefs and members. * coverage.c (counts_entry): Inherit from pointer_hash. Remove diff --git a/gcc/hash-table.h b/gcc/hash-table.h index 5f3dbed..6188453 100644 --- a/gcc/hash-table.h +++ b/gcc/hash-table.h @@ -323,122 +323,6 @@ hash_table_mod2 (hashval_t hash, unsigned int index) return 1 + mul_mod (hash, p->prime - 2, p->inv_m2, p->shift); } - template<typename Traits> - struct has_is_deleted -{ - template<typename U, bool (*)(U &)> struct helper {}; - template<typename U> static char test (helper<U, U::is_deleted> *); - template<typename U> static int test (...); - static const bool value = sizeof (test<Traits> (0)) == sizeof (char); -}; - -template<typename Type, typename Traits, bool = has_is_deleted<Traits>::value> -struct is_deleted_helper -{ - static inline bool - call (Type &v) - { - return Traits::is_deleted (v); - } -}; - -template<typename Type, typename Traits> -struct is_deleted_helper<Type *, Traits, false> -{ - static inline bool - call (Type *v) - { - return v == HTAB_DELETED_ENTRY; - } -}; - - template<typename Traits> - struct has_is_empty -{ - template<typename U, bool (*)(U &)> struct helper {}; - template<typename U> static char test (helper<U, U::is_empty> *); - template<typename U> static int test (...); - static const bool value = sizeof (test<Traits> (0)) == sizeof (char); -}; - -template<typename Type, typename Traits, bool = has_is_deleted<Traits>::value> -struct is_empty_helper -{ - static inline bool - call (Type &v) - { - return Traits::is_empty (v); - } -}; - -template<typename Type, typename Traits> -struct is_empty_helper<Type *, Traits, false> -{ - static inline bool - call (Type *v) - { - return v == HTAB_EMPTY_ENTRY; - } -}; - - template<typename Traits> - struct has_mark_deleted -{ - template<typename U, void (*)(U &)> struct helper {}; - template<typename U> static char test (helper<U, U::mark_deleted> *); - template<typename U> static int test (...); - static const bool value = sizeof (test<Traits> (0)) == sizeof (char); -}; - -template<typename Type, typename Traits, bool = has_is_deleted<Traits>::value> -struct mark_deleted_helper -{ - static inline void - call (Type &v) - { - Traits::mark_deleted (v); - } -}; - -template<typename Type, typename Traits> -struct mark_deleted_helper<Type *, Traits, false> -{ - static inline void - call (Type *&v) - { - v = static_cast<Type *> (HTAB_DELETED_ENTRY); - } -}; - - template<typename Traits> - struct has_mark_empty -{ - template<typename U, void (*)(U &)> struct helper {}; - template<typename U> static char test (helper<U, U::mark_empty> *); - template<typename U> static int test (...); - static const bool value = sizeof (test<Traits> (0)) == sizeof (char); -}; - -template<typename Type, typename Traits, bool = has_is_deleted<Traits>::value> -struct mark_empty_helper -{ - static inline void - call (Type &v) - { - Traits::mark_empty (v); - } -}; - -template<typename Type, typename Traits> -struct mark_empty_helper<Type *, Traits, false> -{ - static inline void - call (Type *&v) - { - v = static_cast<Type *> (HTAB_EMPTY_ENTRY); - } -}; - class mem_usage; /* User-facing hash table type. @@ -610,23 +494,24 @@ private: value_type *find_empty_slot_for_expand (hashval_t); void expand (); static bool is_deleted (value_type &v) - { - return is_deleted_helper<value_type, Descriptor>::call (v); - } + { + return Descriptor::is_deleted (v); + } + static bool is_empty (value_type &v) - { - return is_empty_helper<value_type, Descriptor>::call (v); - } + { + return Descriptor::is_empty (v); + } static void mark_deleted (value_type &v) - { - return mark_deleted_helper<value_type, Descriptor>::call (v); - } + { + Descriptor::mark_deleted (v); + } static void mark_empty (value_type &v) - { - return mark_empty_helper<value_type, Descriptor>::call (v); - } + { + Descriptor::mark_empty (v); + } /* Table itself. */ typename Descriptor::value_type *m_entries; |