From 6acb8e721a830607ef33d65ddcbaedee5d05a8bf Mon Sep 17 00:00:00 2001 From: khizmax Date: Tue, 6 Oct 2015 23:05:18 +0300 Subject: [PATCH] Added MultiLevelHashSet to the set MT tests --- tests/unit/set2/set_defs.h | 120 +++++++++++++++++- tests/unit/set2/set_type_multilevel_hashset.h | 91 ++++++++++++- 2 files changed, 207 insertions(+), 4 deletions(-) diff --git a/tests/unit/set2/set_defs.h b/tests/unit/set2/set_defs.h index 6933407d..9d3fbf29 100644 --- a/tests/unit/set2/set_defs.h +++ b/tests/unit/set2/set_defs.h @@ -619,6 +619,9 @@ // MultiLevelHashSet #undef CDSUNIT_DECLARE_MultiLevelHashSet64 +#undef CDSUNIT_DECLARE_MultiLevelHashSet64_RCU_signal +#undef CDSUNIT_DECLARE_MultiLevelHashSet_RCU_signal + #if CDS_BUILD_BITS == 64 # define CDSUNIT_DECLARE_MultiLevelHashSet64 \ TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_hp_city64) \ @@ -629,27 +632,86 @@ TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_hp_city128_stat) \ TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_dhp_city128) \ TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_dhp_city128_stat) + +# ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED +# define CDSUNIT_DECLARE_MultiLevelHashSet64_RCU_signal \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_shb_city64) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_shb_city64_stat) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_sht_city64) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_sht_city64_stat) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_shb_city128) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_shb_city128_stat) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_sht_city128) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_sht_city128_stat) +# else +# define CDSUNIT_DECLARE_MultiLevelHashSet64_RCU_signal +# endif #else # define CDSUNIT_DECLARE_MultiLevelHashSet64 +# define CDSUNIT_DECLARE_MultiLevelHashSet64_RCU_signal +#endif + +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED +# define CDSUNIT_DECLARE_MultiLevelHashSet_RCU_signal \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_shb_stdhash) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_shb_stdhash_stat) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_sht_stdhash) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_sht_stdhash_stat) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_shb_md5) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_shb_md5_stat) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_sht_md5) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_sht_md5_stat) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_shb_sha256) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_shb_sha256_stat) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_sht_sha256) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_sht_sha256_stat) +#else +# define CDSUNIT_DECLARE_MultiLevelHashSet_RCU_signal #endif + + #undef CDSUNIT_DECLARE_MultiLevelHashSet #define CDSUNIT_DECLARE_MultiLevelHashSet \ TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_hp_stdhash) \ TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_hp_stdhash_stat) \ TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_dhp_stdhash) \ TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_dhp_stdhash_stat) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpi_stdhash) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpi_stdhash_stat) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpb_stdhash) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpb_stdhash_stat) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpt_stdhash) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpt_stdhash_stat) \ TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_hp_md5) \ TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_hp_md5_stat) \ TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_dhp_md5) \ TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_dhp_md5_stat) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpi_md5) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpi_md5_stat) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpb_md5) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpb_md5_stat) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpt_md5) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpt_md5_stat) \ TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_hp_sha256) \ TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_hp_sha256_stat) \ TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_dhp_sha256) \ TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_dhp_sha256_stat) \ - CDSUNIT_DECLARE_MultiLevelHashSet64 + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpi_sha256) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpi_sha256_stat) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpb_sha256) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpb_sha256_stat) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpt_sha256) \ + TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpt_sha256_stat) \ + CDSUNIT_DECLARE_MultiLevelHashSet_RCU_signal \ + CDSUNIT_DECLARE_MultiLevelHashSet64 \ + CDSUNIT_DECLARE_MultiLevelHashSet64_RCU_signal \ + #undef CDSUNIT_TEST_MultiLevelHashSet64 +#undef CDSUNIT_TEST_MultiLevelHashSet64_RCU_signal +#undef CDSUNIT_TEST_MultiLevelHashSet_RCU_signal + #if CDS_BUILD_BITS == 64 # define CDSUNIT_TEST_MultiLevelHashSet64 \ CPPUNIT_TEST(MultiLevelHashSet_hp_city64) \ @@ -660,8 +722,42 @@ CPPUNIT_TEST(MultiLevelHashSet_hp_city128_stat) \ CPPUNIT_TEST(MultiLevelHashSet_dhp_city128) \ CPPUNIT_TEST(MultiLevelHashSet_dhp_city128_stat) + +# ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED +# define CDSUNIT_TEST_MultiLevelHashSet64_RCU_signal \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_shb_city64) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_shb_city64_stat) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_sht_city64) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_sht_city64_stat) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_shb_city128) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_shb_city128_stat) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_sht_city128) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_sht_city128_stat) +# else +# define CDSUNIT_TEST_MultiLevelHashSet64_RCU_signal +# endif + #else # define CDSUNIT_TEST_MultiLevelHashSet64 +# define CDSUNIT_TEST_MultiLevelHashSet64_RCU_signal +#endif + +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED +# define CDSUNIT_TEST_MultiLevelHashSet_RCU_signal \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_shb_stdhash) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_shb_stdhash_stat) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_sht_stdhash) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_sht_stdhash_stat) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_shb_md5) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_shb_md5_stat) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_sht_md5) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_sht_md5_stat) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_shb_sha256) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_shb_sha256_stat) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_sht_sha256) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_sht_sha256_stat) +#else +# define CDSUNIT_TEST_MultiLevelHashSet_RCU_signal #endif #undef CDSUNIT_TEST_MultiLevelHashSet @@ -670,12 +766,32 @@ CPPUNIT_TEST(MultiLevelHashSet_hp_stdhash_stat) \ CPPUNIT_TEST(MultiLevelHashSet_dhp_stdhash) \ CPPUNIT_TEST(MultiLevelHashSet_dhp_stdhash_stat) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_gpi_stdhash) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_gpi_stdhash_stat) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_gpb_stdhash) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_gpb_stdhash_stat) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_gpt_stdhash) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_gpt_stdhash_stat) \ CPPUNIT_TEST(MultiLevelHashSet_hp_md5) \ CPPUNIT_TEST(MultiLevelHashSet_hp_md5_stat) \ CPPUNIT_TEST(MultiLevelHashSet_dhp_md5) \ CPPUNIT_TEST(MultiLevelHashSet_dhp_md5_stat) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_gpi_md5) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_gpi_md5_stat) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_gpb_md5) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_gpb_md5_stat) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_gpt_md5) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_gpt_md5_stat) \ CPPUNIT_TEST(MultiLevelHashSet_hp_sha256) \ CPPUNIT_TEST(MultiLevelHashSet_hp_sha256_stat) \ CPPUNIT_TEST(MultiLevelHashSet_dhp_sha256) \ CPPUNIT_TEST(MultiLevelHashSet_dhp_sha256_stat) \ - CDSUNIT_TEST_MultiLevelHashSet64 + CPPUNIT_TEST(MultiLevelHashSet_rcu_gpi_sha256) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_gpi_sha256_stat) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_gpb_sha256) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_gpb_sha256_stat) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_gpt_sha256) \ + CPPUNIT_TEST(MultiLevelHashSet_rcu_gpt_sha256_stat) \ + CDSUNIT_TEST_MultiLevelHashSet_RCU_signal \ + CDSUNIT_TEST_MultiLevelHashSet64 \ + CDSUNIT_TEST_MultiLevelHashSet64_RCU_signal diff --git a/tests/unit/set2/set_type_multilevel_hashset.h b/tests/unit/set2/set_type_multilevel_hashset.h index d35ae0e4..6db4dc19 100644 --- a/tests/unit/set2/set_type_multilevel_hashset.h +++ b/tests/unit/set2/set_type_multilevel_hashset.h @@ -3,8 +3,11 @@ #ifndef CDSUNIT_SET_TYPE_MICHAEL_H #define CDSUNIT_SET_TYPE_MICHAEL_H +#include "set2/set_type.h" + #include #include +#include #include "print_multilevel_hashset_stat.h" #include "hashing/hash_func.h" @@ -15,9 +18,22 @@ namespace set2 { class MultiLevelHashSet : public cc::MultiLevelHashSet< GC, T, Traits > { typedef cc::MultiLevelHashSet< GC, T, Traits > base_class; + + template + struct get_extracted_ptr + { + typedef typename base_class::guarded_ptr extracted_ptr; + }; + + template + struct get_extracted_ptr> + { + typedef typename base_class::exempt_ptr extracted_ptr; + }; + public: typedef typename T::hasher hasher ; - typedef typename base_class::guarded_ptr guarded_ptr; + typedef typename get_extracted_ptr::extracted_ptr extracted_ptr; template MultiLevelHashSet( Config const& cfg ) @@ -37,7 +53,7 @@ namespace set2 { } template - guarded_ptr extract(Q const& key) + extracted_ptr extract(Q const& key) { return base_class::extract( hasher()(key) ); } @@ -111,6 +127,13 @@ namespace set2 { typedef MultiLevelHashSet< cds::gc::HP, key_val>, default_traits > MultiLevelHashSet_hp_stdhash; typedef MultiLevelHashSet< cds::gc::DHP, key_val>, default_traits > MultiLevelHashSet_dhp_stdhash; + typedef MultiLevelHashSet< rcu_gpi, key_val>, default_traits > MultiLevelHashSet_rcu_gpi_stdhash; + typedef MultiLevelHashSet< rcu_gpb, key_val>, default_traits > MultiLevelHashSet_rcu_gpb_stdhash; + typedef MultiLevelHashSet< rcu_gpt, key_val>, default_traits > MultiLevelHashSet_rcu_gpt_stdhash; +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED + typedef MultiLevelHashSet< rcu_shb, key_val>, default_traits > MultiLevelHashSet_rcu_shb_stdhash; + typedef MultiLevelHashSet< rcu_sht, key_val>, default_traits > MultiLevelHashSet_rcu_sht_stdhash; +#endif struct traits_MultiLevelHashSet_stat: public cc::multilevel_hashset::make_traits< co::type_traits< default_traits >, @@ -120,10 +143,24 @@ namespace set2 { typedef MultiLevelHashSet< cds::gc::HP, key_val>, traits_MultiLevelHashSet_stat > MultiLevelHashSet_hp_stdhash_stat; typedef MultiLevelHashSet< cds::gc::DHP, key_val>, traits_MultiLevelHashSet_stat > MultiLevelHashSet_dhp_stdhash_stat; + typedef MultiLevelHashSet< rcu_gpi, key_val>, traits_MultiLevelHashSet_stat > MultiLevelHashSet_rcu_gpi_stdhash_stat; + typedef MultiLevelHashSet< rcu_gpb, key_val>, traits_MultiLevelHashSet_stat > MultiLevelHashSet_rcu_gpb_stdhash_stat; + typedef MultiLevelHashSet< rcu_gpt, key_val>, traits_MultiLevelHashSet_stat > MultiLevelHashSet_rcu_gpt_stdhash_stat; +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED + typedef MultiLevelHashSet< rcu_shb, key_val>, traits_MultiLevelHashSet_stat > MultiLevelHashSet_rcu_shb_stdhash_stat; + typedef MultiLevelHashSet< rcu_sht, key_val>, traits_MultiLevelHashSet_stat > MultiLevelHashSet_rcu_sht_stdhash_stat; +#endif // SHA256 typedef MultiLevelHashSet< cds::gc::HP, key_val<::hashing::sha256>, default_traits > MultiLevelHashSet_hp_sha256; typedef MultiLevelHashSet< cds::gc::DHP, key_val<::hashing::sha256>, default_traits > MultiLevelHashSet_dhp_sha256; + typedef MultiLevelHashSet< rcu_gpi, key_val<::hashing::sha256>, default_traits > MultiLevelHashSet_rcu_gpi_sha256; + typedef MultiLevelHashSet< rcu_gpb, key_val<::hashing::sha256>, default_traits > MultiLevelHashSet_rcu_gpb_sha256; + typedef MultiLevelHashSet< rcu_gpt, key_val<::hashing::sha256>, default_traits > MultiLevelHashSet_rcu_gpt_sha256; +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED + typedef MultiLevelHashSet< rcu_shb, key_val<::hashing::sha256>, default_traits > MultiLevelHashSet_rcu_shb_sha256; + typedef MultiLevelHashSet< rcu_sht, key_val<::hashing::sha256>, default_traits > MultiLevelHashSet_rcu_sht_sha256; +#endif struct traits_MultiLevelHashSet_sha256_stat : public default_traits { @@ -131,10 +168,24 @@ namespace set2 { }; typedef MultiLevelHashSet< cds::gc::HP, key_val<::hashing::sha256>, traits_MultiLevelHashSet_sha256_stat > MultiLevelHashSet_hp_sha256_stat; typedef MultiLevelHashSet< cds::gc::DHP, key_val<::hashing::sha256>, traits_MultiLevelHashSet_sha256_stat > MultiLevelHashSet_dhp_sha256_stat; + typedef MultiLevelHashSet< rcu_gpi, key_val<::hashing::sha256>, traits_MultiLevelHashSet_sha256_stat > MultiLevelHashSet_rcu_gpi_sha256_stat; + typedef MultiLevelHashSet< rcu_gpb, key_val<::hashing::sha256>, traits_MultiLevelHashSet_sha256_stat > MultiLevelHashSet_rcu_gpb_sha256_stat; + typedef MultiLevelHashSet< rcu_gpt, key_val<::hashing::sha256>, traits_MultiLevelHashSet_sha256_stat > MultiLevelHashSet_rcu_gpt_sha256_stat; +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED + typedef MultiLevelHashSet< rcu_shb, key_val<::hashing::sha256>, traits_MultiLevelHashSet_sha256_stat > MultiLevelHashSet_rcu_shb_sha256_stat; + typedef MultiLevelHashSet< rcu_sht, key_val<::hashing::sha256>, traits_MultiLevelHashSet_sha256_stat > MultiLevelHashSet_rcu_sht_sha256_stat; +#endif //MD5 typedef MultiLevelHashSet< cds::gc::HP, key_val<::hashing::md5>, default_traits > MultiLevelHashSet_hp_md5; typedef MultiLevelHashSet< cds::gc::DHP, key_val<::hashing::md5>, default_traits > MultiLevelHashSet_dhp_md5; + typedef MultiLevelHashSet< rcu_gpi, key_val<::hashing::md5>, default_traits > MultiLevelHashSet_rcu_gpi_md5; + typedef MultiLevelHashSet< rcu_gpb, key_val<::hashing::md5>, default_traits > MultiLevelHashSet_rcu_gpb_md5; + typedef MultiLevelHashSet< rcu_gpt, key_val<::hashing::md5>, default_traits > MultiLevelHashSet_rcu_gpt_md5; +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED + typedef MultiLevelHashSet< rcu_shb, key_val<::hashing::md5>, default_traits > MultiLevelHashSet_rcu_shb_md5; + typedef MultiLevelHashSet< rcu_sht, key_val<::hashing::md5>, default_traits > MultiLevelHashSet_rcu_sht_md5; +#endif struct traits_MultiLevelHashSet_md5_stat : public default_traits { @@ -142,6 +193,13 @@ namespace set2 { }; typedef MultiLevelHashSet< cds::gc::HP, key_val<::hashing::md5>, traits_MultiLevelHashSet_md5_stat > MultiLevelHashSet_hp_md5_stat; typedef MultiLevelHashSet< cds::gc::DHP, key_val<::hashing::md5>, traits_MultiLevelHashSet_md5_stat > MultiLevelHashSet_dhp_md5_stat; + typedef MultiLevelHashSet< rcu_gpi, key_val<::hashing::md5>, traits_MultiLevelHashSet_md5_stat > MultiLevelHashSet_rcu_gpi_md5_stat; + typedef MultiLevelHashSet< rcu_gpb, key_val<::hashing::md5>, traits_MultiLevelHashSet_md5_stat > MultiLevelHashSet_rcu_gpb_md5_stat; + typedef MultiLevelHashSet< rcu_gpt, key_val<::hashing::md5>, traits_MultiLevelHashSet_md5_stat > MultiLevelHashSet_rcu_gpt_md5_stat; +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED + typedef MultiLevelHashSet< rcu_shb, key_val<::hashing::md5>, traits_MultiLevelHashSet_md5_stat > MultiLevelHashSet_rcu_shb_md5_stat; + typedef MultiLevelHashSet< rcu_sht, key_val<::hashing::md5>, traits_MultiLevelHashSet_md5_stat > MultiLevelHashSet_rcu_sht_md5_stat; +#endif // CityHash #if CDS_BUILD_BITS == 64 @@ -151,6 +209,13 @@ namespace set2 { }; typedef MultiLevelHashSet< cds::gc::HP, key_val<::hashing::city64>, traits_MultiLevelHashSet_city64 > MultiLevelHashSet_hp_city64; typedef MultiLevelHashSet< cds::gc::DHP, key_val<::hashing::city64>, traits_MultiLevelHashSet_city64 > MultiLevelHashSet_dhp_city64; + typedef MultiLevelHashSet< rcu_gpi, key_val<::hashing::city64>, traits_MultiLevelHashSet_city64 > MultiLevelHashSet_rcu_gpi_city64; + typedef MultiLevelHashSet< rcu_gpb, key_val<::hashing::city64>, traits_MultiLevelHashSet_city64 > MultiLevelHashSet_rcu_gpb_city64; + typedef MultiLevelHashSet< rcu_gpt, key_val<::hashing::city64>, traits_MultiLevelHashSet_city64 > MultiLevelHashSet_rcu_gpt_city64; +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED + typedef MultiLevelHashSet< rcu_shb, key_val<::hashing::city64>, traits_MultiLevelHashSet_city64 > MultiLevelHashSet_rcu_shb_city64; + typedef MultiLevelHashSet< rcu_sht, key_val<::hashing::city64>, traits_MultiLevelHashSet_city64 > MultiLevelHashSet_rcu_sht_city64; +#endif struct traits_MultiLevelHashSet_city64_stat : public traits_MultiLevelHashSet_city64 { @@ -158,6 +223,13 @@ namespace set2 { }; typedef MultiLevelHashSet< cds::gc::HP, key_val<::hashing::city64>, traits_MultiLevelHashSet_city64_stat > MultiLevelHashSet_hp_city64_stat; typedef MultiLevelHashSet< cds::gc::DHP, key_val<::hashing::city64>, traits_MultiLevelHashSet_city64_stat > MultiLevelHashSet_dhp_city64_stat; + typedef MultiLevelHashSet< rcu_gpi, key_val<::hashing::city64>, traits_MultiLevelHashSet_city64_stat > MultiLevelHashSet_rcu_gpi_city64_stat; + typedef MultiLevelHashSet< rcu_gpb, key_val<::hashing::city64>, traits_MultiLevelHashSet_city64_stat > MultiLevelHashSet_rcu_gpb_city64_stat; + typedef MultiLevelHashSet< rcu_gpt, key_val<::hashing::city64>, traits_MultiLevelHashSet_city64_stat > MultiLevelHashSet_rcu_gpt_city64_stat; +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED + typedef MultiLevelHashSet< rcu_shb, key_val<::hashing::city64>, traits_MultiLevelHashSet_city64_stat > MultiLevelHashSet_rcu_shb_city64_stat; + typedef MultiLevelHashSet< rcu_sht, key_val<::hashing::city64>, traits_MultiLevelHashSet_city64_stat > MultiLevelHashSet_rcu_sht_city64_stat; +#endif struct traits_MultiLevelHashSet_city128 : public default_traits { @@ -165,6 +237,13 @@ namespace set2 { }; typedef MultiLevelHashSet< cds::gc::HP, key_val<::hashing::city128>, traits_MultiLevelHashSet_city128 > MultiLevelHashSet_hp_city128; typedef MultiLevelHashSet< cds::gc::DHP, key_val<::hashing::city128>, traits_MultiLevelHashSet_city128 > MultiLevelHashSet_dhp_city128; + typedef MultiLevelHashSet< rcu_gpi, key_val<::hashing::city128>, traits_MultiLevelHashSet_city128 > MultiLevelHashSet_rcu_gpi_city128; + typedef MultiLevelHashSet< rcu_gpb, key_val<::hashing::city128>, traits_MultiLevelHashSet_city128 > MultiLevelHashSet_rcu_gpb_city128; + typedef MultiLevelHashSet< rcu_gpt, key_val<::hashing::city128>, traits_MultiLevelHashSet_city128 > MultiLevelHashSet_rcu_gpt_city128; +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED + typedef MultiLevelHashSet< rcu_shb, key_val<::hashing::city128>, traits_MultiLevelHashSet_city128 > MultiLevelHashSet_rcu_shb_city128; + typedef MultiLevelHashSet< rcu_sht, key_val<::hashing::city128>, traits_MultiLevelHashSet_city128 > MultiLevelHashSet_rcu_sht_city128; +#endif struct traits_MultiLevelHashSet_city128_stat : public traits_MultiLevelHashSet_city128 { @@ -172,6 +251,14 @@ namespace set2 { }; typedef MultiLevelHashSet< cds::gc::HP, key_val<::hashing::city128>, traits_MultiLevelHashSet_city128_stat > MultiLevelHashSet_hp_city128_stat; typedef MultiLevelHashSet< cds::gc::DHP, key_val<::hashing::city128>, traits_MultiLevelHashSet_city128_stat > MultiLevelHashSet_dhp_city128_stat; + typedef MultiLevelHashSet< rcu_gpi, key_val<::hashing::city128>, traits_MultiLevelHashSet_city128_stat > MultiLevelHashSet_rcu_gpi_city128_stat; + typedef MultiLevelHashSet< rcu_gpb, key_val<::hashing::city128>, traits_MultiLevelHashSet_city128_stat > MultiLevelHashSet_rcu_gpb_city128_stat; + typedef MultiLevelHashSet< rcu_gpt, key_val<::hashing::city128>, traits_MultiLevelHashSet_city128_stat > MultiLevelHashSet_rcu_gpt_city128_stat; +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED + typedef MultiLevelHashSet< rcu_shb, key_val<::hashing::city128>, traits_MultiLevelHashSet_city128_stat > MultiLevelHashSet_rcu_shb_city128_stat; + typedef MultiLevelHashSet< rcu_sht, key_val<::hashing::city128>, traits_MultiLevelHashSet_city128_stat > MultiLevelHashSet_rcu_sht_city128_stat; +#endif + #endif // #if CDS_BUILD_BITS == 64 }; -- 2.34.1