Removed redundant checking
authorkhizmax <libcds.dev@gmail.com>
Wed, 10 Feb 2016 20:45:25 +0000 (23:45 +0300)
committerkhizmax <libcds.dev@gmail.com>
Wed, 10 Feb 2016 20:45:25 +0000 (23:45 +0300)
cds/intrusive/lazy_list_rcu.h
cds/intrusive/michael_list_rcu.h

index a9622c23532350803067f37d6be66d580f006422..1742f21d4a0fbefa828c62b4bd81338b4fba3d8d 100644 (file)
@@ -228,6 +228,7 @@ namespace cds { namespace intrusive {
         static void link_node( node_type * pNode, node_type * pPred, node_type * pCur )
         {
             assert( pPred->m_pNext.load(memory_model::memory_order_relaxed).ptr() == pCur );
+            link_checker::is_empty( pNode );
 
             pNode->m_pNext.store( marked_node_ptr(pCur), memory_model::memory_order_relaxed );
             pPred->m_pNext.store( marked_node_ptr(pNode), memory_model::memory_order_release );
@@ -906,7 +907,6 @@ namespace cds { namespace intrusive {
         template <typename Func>
         bool insert_at( node_type * pHead, value_type& val, Func f )
         {
-            link_checker::is_empty( node_traits::to_node_ptr( val ));
             position pos;
             key_comparator  cmp;
 
@@ -1174,7 +1174,6 @@ namespace cds { namespace intrusive {
             // RCU lock should be locked
             assert( gc::is_locked());
 
-            link_checker::is_empty( node_traits::to_node_ptr( val ));
             position pos;
             key_comparator  cmp;
 
@@ -1221,8 +1220,6 @@ namespace cds { namespace intrusive {
                             if ( !bAllowInsert )
                                 return std::make_pair( end(), false );
 
-                            link_checker::is_empty( node_traits::to_node_ptr( val ));
-
                             func( true, val, val );
                             link_node( node_traits::to_node_ptr( val ), pos.pPred, pos.pCur );
                             ++m_ItemCounter;
index ff9efaf142c24ea26ce04911362dd2042a4d987b..cea4f18e2cd4ea6d05ecd7d61856b381ae1c8c6d 100644 (file)
@@ -916,7 +916,6 @@ namespace cds { namespace intrusive {
         template <typename Func>
         bool insert_at( atomic_node_ptr& refHead, value_type& val, Func f )
         {
-            link_checker::is_empty( node_traits::to_node_ptr( val ) );
             position pos( refHead );
 
             {
@@ -1164,7 +1163,6 @@ namespace cds { namespace intrusive {
         {
             // RCU lock should be locked!!!
             assert( gc::is_locked() );
-            link_checker::is_empty( node_traits::to_node_ptr( val ) );
 
             while ( true ) {
                 if ( search( pos.refHead, val, pos, key_comparator() ) )
@@ -1197,8 +1195,6 @@ namespace cds { namespace intrusive {
                     if ( !bInsert )
                         return std::make_pair( end(), false );
 
-                    link_checker::is_empty( node_traits::to_node_ptr( val ) );
-
                     if ( link_node( node_traits::to_node_ptr( val ), pos ) ) {
                         ++m_ItemCounter;
                         func( true, val , val );