From aaf553581f1203108aa3bc271d49e683f437aa4c Mon Sep 17 00:00:00 2001 From: joaquintides Date: Wed, 13 Dec 2023 13:35:10 +0100 Subject: [PATCH] disabled size control --- .../boost/unordered/detail/foa/concurrent_table.hpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/include/boost/unordered/detail/foa/concurrent_table.hpp b/include/boost/unordered/detail/foa/concurrent_table.hpp index 8cf8f417..0c55403f 100644 --- a/include/boost/unordered/detail/foa/concurrent_table.hpp +++ b/include/boost/unordered/detail/foa/concurrent_table.hpp @@ -841,7 +841,8 @@ public: auto mco=group_type::maybe_caused_overflow(pc); if(reinterpret_cast*>(pg)[n]. compare_exchange_strong(expected,1)){ - super::erase(pg,n,p); + super::destroy_element(p); + pg->reset(n); //retire_element(static_cast(p-this->arrays.elements()),mco); res=1; } @@ -1593,8 +1594,9 @@ private: if(unprotected_visit( access_mode,k,pos0,hash,std::forward(f)))return 0; - reserve_size rsize(*this); - if(BOOST_LIKELY(rsize.succeeded())){ + //reserve_size rsize(*this); + //if(BOOST_LIKELY(rsize.succeeded())){ + if(true){ for(prober pb(pos0);;pb.next(this->arrays.groups_size_mask)){ auto pos=pb.get(); auto pg=this->arrays.groups()+pos; @@ -1616,7 +1618,7 @@ private: auto p=this->arrays.elements()+pos*N+n; this->construct_element(p,std::forward(args)...); pg->set(n,hash); - rsize.commit(); + //rsize.commit(); return 1; } pg->mark_overflow(hash);