Removed TSan annotations
authorkhizmax <libcds.dev@gmail.com>
Fri, 12 Jun 2015 21:02:27 +0000 (00:02 +0300)
committerkhizmax <libcds.dev@gmail.com>
Fri, 12 Jun 2015 21:02:27 +0000 (00:02 +0300)
cds/intrusive/impl/ellen_bintree.h

index c422c24c05f64d8c0f6bae468cdbaed96f0eb8c0..1019d0c2c4412d65b3396cce7827603977e2bf26 100644 (file)
@@ -1235,18 +1235,12 @@ namespace cds { namespace intrusive {
                 if ( nCmp < 0 ) {
                     if ( res.pGrandParent ) {
                         assert( !res.pLeaf->infinite_key() );
-                        // TSan false positive: there is the release fence below, pNewInternal is not linked yet
-                        CDS_TSAN_ANNOTATE_IGNORE_WRITES_BEGIN;
                         pNewInternal->infinite_key( 0 );
                         key_extractor()(pNewInternal->m_Key, *node_traits::to_value_ptr( res.pLeaf ));
-                        CDS_TSAN_ANNOTATE_IGNORE_WRITES_END;
                     }
                     else {
                         assert( res.pLeaf->infinite_key() == tree_node::key_infinite1 );
-                        // TSan false positive: there is the release fence below, pNewInternal is not linked yet
-                        CDS_TSAN_ANNOTATE_IGNORE_WRITES_BEGIN;
                         pNewInternal->infinite_key( 1 );
-                        CDS_TSAN_ANNOTATE_IGNORE_WRITES_END;
                     }
                     pNewInternal->m_pLeft.store( static_cast<tree_node *>(pNewLeaf), memory_model::memory_order_relaxed );
                     pNewInternal->m_pRight.store( static_cast<tree_node *>(res.pLeaf), memory_model::memory_order_release );
@@ -1254,11 +1248,8 @@ namespace cds { namespace intrusive {
                 else {
                     assert( !res.pLeaf->is_internal() );
 
-                    // TSan false positive: there is the release fence below, pNewInternal is not linked yet
-                    CDS_TSAN_ANNOTATE_IGNORE_WRITES_BEGIN;
                     pNewInternal->infinite_key( 0 );
                     key_extractor()(pNewInternal->m_Key, val);
-                    CDS_TSAN_ANNOTATE_IGNORE_WRITES_END;
                     pNewInternal->m_pLeft.store( static_cast<tree_node *>(res.pLeaf), memory_model::memory_order_relaxed );
                     pNewInternal->m_pRight.store( static_cast<tree_node *>(pNewLeaf), memory_model::memory_order_release );
                     assert( !res.pLeaf->infinite_key() );