X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2Fstress%2Fstack%2Fstack_type.h;h=fdad1bd91f053609ccc1b3c11bd5c61bdd4fc750;hb=dab85f80678fe5a26a47f6bc2695c0771720f671;hp=43aee4428a2daf387573238d2bdcc77af99a9ced;hpb=fb30185716d0bb6ea2da2a4a383b8cfcc2f2c144;p=libcds.git diff --git a/test/stress/stack/stack_type.h b/test/stress/stack/stack_type.h index 43aee442..fdad1bd9 100644 --- a/test/stress/stack/stack_type.h +++ b/test/stress/stack/stack_type.h @@ -1,11 +1,11 @@ /* This file is a part of libcds - Concurrent Data Structures library - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016 + (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 Source code repo: http://github.com/khizmax/libcds/ Download: http://sourceforge.net/projects/libcds/files/ - + Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -25,7 +25,7 @@ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef CDSSTRESS_STACK_TYPES_H @@ -45,6 +45,7 @@ #include #include +#include namespace stack { @@ -122,7 +123,7 @@ namespace stack { bool pop( T& v ) { unique_lock l( m_Lock ); - if ( !m_Impl.empty() ) { + if ( !m_Impl.empty()) { v = m_Impl.top(); m_Impl.pop(); return true; @@ -186,10 +187,7 @@ namespace stack { struct traits_Treiber_exp: public cds::container::treiber_stack::make_traits< cds::opt::back_off< - cds::backoff::exponential< - cds::backoff::pause, - cds::backoff::yield - > + cds::backoff::make_exponential_t > >::type {}; @@ -275,7 +273,7 @@ namespace stack { struct traits_Elimination_dyn: public cds::container::treiber_stack::make_traits < cds::opt::enable_elimination - , cds::opt::buffer< cds::opt::v::dynamic_buffer > + , cds::opt::buffer< cds::opt::v::initialized_dynamic_buffer > > ::type {}; typedef cds::container::TreiberStack< cds::gc::HP, T, traits_Elimination_dyn > Elimination_HP_dyn; @@ -294,7 +292,7 @@ namespace stack { cds::container::treiber_stack::make_traits < cds::opt::enable_elimination , cds::opt::stat > - , cds::opt::buffer< cds::opt::v::dynamic_buffer > + , cds::opt::buffer< cds::opt::v::initialized_dynamic_buffer > > ::type {}; typedef cds::container::TreiberStack< cds::gc::HP, T, traits_Elimination_dyn_stat > Elimination_HP_dyn_stat; @@ -323,10 +321,7 @@ namespace stack { cds::container::treiber_stack::make_traits < cds::opt::enable_elimination ,cds::opt::back_off< - cds::backoff::exponential< - cds::backoff::pause, - cds::backoff::yield - > + cds::backoff::make_exponential_t< cds::backoff::pause, cds::backoff::yield > > > ::type {}; @@ -455,16 +450,7 @@ namespace cds_test { << CDSSTRESS_STAT_OUT( s, m_nPop ) << CDSSTRESS_STAT_OUT( s, m_nFailedPop ) << CDSSTRESS_STAT_OUT( s, m_nCollided ) - << CDSSTRESS_STAT_OUT_( "combining_factor", s.combining_factor()) - << CDSSTRESS_STAT_OUT( s, m_nOperationCount ) - << CDSSTRESS_STAT_OUT( s, m_nCombiningCount ) - << CDSSTRESS_STAT_OUT( s, m_nCompactPublicationList ) - << CDSSTRESS_STAT_OUT( s, m_nDeactivatePubRecord ) - << CDSSTRESS_STAT_OUT( s, m_nActivatePubRecord ) - << CDSSTRESS_STAT_OUT( s, m_nPubRecordCreated ) - << CDSSTRESS_STAT_OUT( s, m_nPubRecordDeteted ) - << CDSSTRESS_STAT_OUT( s, m_nAcquirePubRecCount ) - << CDSSTRESS_STAT_OUT( s, m_nReleasePubRecCount ); + << static_cast const&>( s ); } static inline property_stream& operator <<( property_stream& o, cds::container::fcdeque::empty_stat const& /*s*/ ) @@ -484,16 +470,7 @@ namespace cds_test { << CDSSTRESS_STAT_OUT( s, m_nPopBack ) << CDSSTRESS_STAT_OUT( s, m_nFailedPopBack ) << CDSSTRESS_STAT_OUT( s, m_nCollided ) - << CDSSTRESS_STAT_OUT_( "combining_factor", s.combining_factor() ) - << CDSSTRESS_STAT_OUT( s, m_nOperationCount ) - << CDSSTRESS_STAT_OUT( s, m_nCombiningCount ) - << CDSSTRESS_STAT_OUT( s, m_nCompactPublicationList ) - << CDSSTRESS_STAT_OUT( s, m_nDeactivatePubRecord ) - << CDSSTRESS_STAT_OUT( s, m_nActivatePubRecord ) - << CDSSTRESS_STAT_OUT( s, m_nPubRecordCreated ) - << CDSSTRESS_STAT_OUT( s, m_nPubRecordDeteted ) - << CDSSTRESS_STAT_OUT( s, m_nAcquirePubRecCount ) - << CDSSTRESS_STAT_OUT( s, m_nReleasePubRecCount ); + << static_cast const&>(s); } } // namespace cds_test @@ -515,70 +492,40 @@ namespace cds_test { #define CDSSTRESS_TreiberStack( test_fixture ) \ CDSSTRESS_Stack_F( test_fixture, Treiber_HP ) \ - CDSSTRESS_Stack_F( test_fixture, Treiber_HP_seqcst ) \ CDSSTRESS_Stack_F( test_fixture, Treiber_HP_pause ) \ CDSSTRESS_Stack_F( test_fixture, Treiber_HP_exp ) \ - CDSSTRESS_Stack_F( test_fixture, Treiber_HP_stat ) \ CDSSTRESS_Stack_F( test_fixture, Treiber_DHP ) \ CDSSTRESS_Stack_F( test_fixture, Treiber_DHP_pause ) \ - CDSSTRESS_Stack_F( test_fixture, Treiber_DHP_exp ) \ - CDSSTRESS_Stack_F( test_fixture, Treiber_DHP_stat ) \ + CDSSTRESS_Stack_F( test_fixture, Treiber_DHP_exp ) #define CDSSTRESS_EliminationStack( test_fixture ) \ CDSSTRESS_EliminationStack_F( test_fixture, Elimination_HP ) \ - CDSSTRESS_EliminationStack_F( test_fixture, Elimination_HP_2ms ) \ - CDSSTRESS_EliminationStack_F( test_fixture, Elimination_HP_2ms_stat) \ - CDSSTRESS_EliminationStack_F( test_fixture, Elimination_HP_5ms ) \ - CDSSTRESS_EliminationStack_F( test_fixture, Elimination_HP_5ms_stat) \ - CDSSTRESS_EliminationStack_F( test_fixture, Elimination_HP_10ms ) \ - CDSSTRESS_EliminationStack_F( test_fixture, Elimination_HP_10ms_stat) \ - CDSSTRESS_EliminationStack_F( test_fixture, Elimination_HP_seqcst ) \ CDSSTRESS_EliminationStack_F( test_fixture, Elimination_HP_pause ) \ CDSSTRESS_EliminationStack_F( test_fixture, Elimination_HP_exp ) \ - CDSSTRESS_EliminationStack_F( test_fixture, Elimination_HP_stat ) \ CDSSTRESS_EliminationStack_F( test_fixture, Elimination_HP_dyn ) \ - CDSSTRESS_EliminationStack_F( test_fixture, Elimination_HP_dyn_stat) \ CDSSTRESS_EliminationStack_F( test_fixture, Elimination_DHP ) \ - CDSSTRESS_EliminationStack_F( test_fixture, Elimination_DHP_2ms ) \ - CDSSTRESS_EliminationStack_F( test_fixture, Elimination_DHP_2ms_stat) \ - CDSSTRESS_EliminationStack_F( test_fixture, Elimination_DHP_5ms ) \ - CDSSTRESS_EliminationStack_F( test_fixture, Elimination_DHP_5ms_stat) \ - CDSSTRESS_EliminationStack_F( test_fixture, Elimination_DHP_10ms ) \ - CDSSTRESS_EliminationStack_F( test_fixture, Elimination_DHP_10ms_stat) \ CDSSTRESS_EliminationStack_F( test_fixture, Elimination_DHP_pause ) \ CDSSTRESS_EliminationStack_F( test_fixture, Elimination_DHP_exp ) \ - CDSSTRESS_EliminationStack_F( test_fixture, Elimination_DHP_stat ) \ - CDSSTRESS_EliminationStack_F( test_fixture, Elimination_DHP_dyn ) \ - CDSSTRESS_EliminationStack_F( test_fixture, Elimination_DHP_dyn_stat) + CDSSTRESS_EliminationStack_F( test_fixture, Elimination_DHP_dyn ) #define CDSSTRESS_FCStack( test_fixture ) \ CDSSTRESS_Stack_F( test_fixture, FCStack_deque ) \ CDSSTRESS_Stack_F( test_fixture, FCStack_deque_mutex ) \ - CDSSTRESS_Stack_F( test_fixture, FCStack_deque_stat ) \ CDSSTRESS_Stack_F( test_fixture, FCStack_deque_elimination ) \ - CDSSTRESS_Stack_F( test_fixture, FCStack_deque_elimination_stat ) \ CDSSTRESS_Stack_F( test_fixture, FCStack_vector ) \ CDSSTRESS_Stack_F( test_fixture, FCStack_vector_mutex ) \ - CDSSTRESS_Stack_F( test_fixture, FCStack_vector_stat ) \ CDSSTRESS_Stack_F( test_fixture, FCStack_vector_elimination ) \ - CDSSTRESS_Stack_F( test_fixture, FCStack_vector_elimination_stat ) \ CDSSTRESS_Stack_F( test_fixture, FCStack_list ) \ CDSSTRESS_Stack_F( test_fixture, FCStack_list_mutex ) \ - CDSSTRESS_Stack_F( test_fixture, FCStack_list_stat ) \ - CDSSTRESS_Stack_F( test_fixture, FCStack_list_elimination ) \ - CDSSTRESS_Stack_F( test_fixture, FCStack_list_elimination_stat ) + CDSSTRESS_Stack_F( test_fixture, FCStack_list_elimination ) #define CDSSTRESS_FCDeque( test_fixture ) \ CDSSTRESS_Stack_F( test_fixture, FCDequeL_default ) \ CDSSTRESS_Stack_F( test_fixture, FCDequeL_mutex ) \ - CDSSTRESS_Stack_F( test_fixture, FCDequeL_stat ) \ CDSSTRESS_Stack_F( test_fixture, FCDequeL_elimination ) \ - CDSSTRESS_Stack_F( test_fixture, FCDequeL_elimination_stat ) \ CDSSTRESS_Stack_F( test_fixture, FCDequeR_default ) \ CDSSTRESS_Stack_F( test_fixture, FCDequeR_mutex ) \ - CDSSTRESS_Stack_F( test_fixture, FCDequeR_stat ) \ - CDSSTRESS_Stack_F( test_fixture, FCDequeR_elimination ) \ - CDSSTRESS_Stack_F( test_fixture, FCDequeR_elimination_stat ) + CDSSTRESS_Stack_F( test_fixture, FCDequeR_elimination ) #define CDSSTRESS_StdStack( test_fixture ) \ CDSSTRESS_Stack_F( test_fixture, StdStack_Deque_Mutex ) \