|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r56297 - in sandbox/stm/branches/vbe: boost/stm boost/stm/detail libs/stm/example libs/stm/src libs/stm/test
From: vicente.botet_at_[hidden]
Date: 2009-09-18 12:58:03
Author: viboes
Date: 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
New Revision: 56297
URL: http://svn.boost.org/trac/boost/changeset/56297
Log:
TBoost.Stm vbe : eof cleanup
Text files modified:
sandbox/stm/branches/vbe/boost/stm/base_transaction.hpp | 4
sandbox/stm/branches/vbe/boost/stm/detail/auto_lock.hpp | 18 ++--
sandbox/stm/branches/vbe/boost/stm/detail/bit_vector.hpp | 26 +++---
sandbox/stm/branches/vbe/boost/stm/detail/bloom_filter.hpp | 14 ++--
sandbox/stm/branches/vbe/boost/stm/detail/config.hpp | 12 +-
sandbox/stm/branches/vbe/boost/stm/detail/datatypes.hpp | 12 +-
sandbox/stm/branches/vbe/boost/stm/detail/latm_def_full_impl.hpp | 44 ++++++------
sandbox/stm/branches/vbe/boost/stm/detail/latm_def_tm_impl.hpp | 32 ++++----
sandbox/stm/branches/vbe/boost/stm/detail/latm_def_tx_impl.hpp | 48 ++++++------
sandbox/stm/branches/vbe/boost/stm/detail/latm_dir_full_impl.hpp | 46 ++++++------
sandbox/stm/branches/vbe/boost/stm/detail/latm_dir_tm_impl.hpp | 36 +++++-----
sandbox/stm/branches/vbe/boost/stm/detail/latm_dir_tx_impl.hpp | 56 ++++++++--------
sandbox/stm/branches/vbe/boost/stm/detail/latm_general_impl.hpp | 56 ++++++++--------
sandbox/stm/branches/vbe/boost/stm/detail/transaction_bookkeeping.hpp | 50 +++++++-------
sandbox/stm/branches/vbe/boost/stm/detail/vector_map.hpp | 14 ++--
sandbox/stm/branches/vbe/boost/stm/detail/vector_set.hpp | 18 ++--
sandbox/stm/branches/vbe/libs/stm/example/bank.cpp | 82 +++++++++++-----------
sandbox/stm/branches/vbe/libs/stm/example/counter.cpp | 30 ++++----
sandbox/stm/branches/vbe/libs/stm/example/list.cpp | 30 ++++----
sandbox/stm/branches/vbe/libs/stm/src/bloom_filter.cpp | 8 +-
sandbox/stm/branches/vbe/libs/stm/src/contention_manager.cpp | 12 +-
sandbox/stm/branches/vbe/libs/stm/test/Jamfile.v2 | 2
sandbox/stm/branches/vbe/libs/stm/test/globalIntArr.cpp | 20 ++--
sandbox/stm/branches/vbe/libs/stm/test/globalIntArr.h | 8 +-
sandbox/stm/branches/vbe/libs/stm/test/irrevocableInt.h | 10 +-
sandbox/stm/branches/vbe/libs/stm/test/isolatedComposedIntLockInTx.h | 10 +-
sandbox/stm/branches/vbe/libs/stm/test/isolatedComposedIntLockInTx2.h | 10 +-
sandbox/stm/branches/vbe/libs/stm/test/isolatedInt.h | 10 +-
sandbox/stm/branches/vbe/libs/stm/test/isolatedIntLockInTx.h | 10 +-
sandbox/stm/branches/vbe/libs/stm/test/litExample.h | 8 +-
sandbox/stm/branches/vbe/libs/stm/test/lotExample.h | 8 +-
sandbox/stm/branches/vbe/libs/stm/test/main.h | 10 +-
sandbox/stm/branches/vbe/libs/stm/test/nestedTxs.h | 8 +-
sandbox/stm/branches/vbe/libs/stm/test/pointer_test.h | 8 +-
sandbox/stm/branches/vbe/libs/stm/test/smart.h | 8 +-
sandbox/stm/branches/vbe/libs/stm/test/testHT_latm.h | 12 +-
sandbox/stm/branches/vbe/libs/stm/test/testHashMap.h | 8 +-
sandbox/stm/branches/vbe/libs/stm/test/testHashMapAndLinkedListsWithLocks.h | 8 +-
sandbox/stm/branches/vbe/libs/stm/test/testHashMapWithLocks.h | 8 +-
sandbox/stm/branches/vbe/libs/stm/test/testInt.h | 8 +-
sandbox/stm/branches/vbe/libs/stm/test/testLL_latm.h | 42 ++++++------
sandbox/stm/branches/vbe/libs/stm/test/testLinkedList.h | 2
sandbox/stm/branches/vbe/libs/stm/test/testLinkedListWithLocks.h | 36 +++++-----
sandbox/stm/branches/vbe/libs/stm/test/testPerson.h | 32 ++++----
sandbox/stm/branches/vbe/libs/stm/test/testRBTree.h | 138 ++++++++++++++++++++--------------------
sandbox/stm/branches/vbe/libs/stm/test/transferFun.h | 18 ++--
sandbox/stm/branches/vbe/libs/stm/test/txLinearLock.cpp | 12 +-
sandbox/stm/branches/vbe/libs/stm/test/txLinearLock.h | 8 +-
sandbox/stm/branches/vbe/libs/stm/test/usingLockTx.cpp | 20 ++--
sandbox/stm/branches/vbe/libs/stm/test/usingLockTx.h | 38 +++++-----
50 files changed, 584 insertions(+), 584 deletions(-)
Modified: sandbox/stm/branches/vbe/boost/stm/base_transaction.hpp
==============================================================================
--- sandbox/stm/branches/vbe/boost/stm/base_transaction.hpp (original)
+++ sandbox/stm/branches/vbe/boost/stm/base_transaction.hpp 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -538,7 +538,7 @@
transactional_reference_cache(T* ptr)
: base_transaction_object()
, value_(ptr), ptr_(0) {}
-
+
~transactional_reference_cache() {
delete ptr_;
}
@@ -546,7 +546,7 @@
if(ptr_!=0) return ptr_;
else return value_;
}
-
+
virtual base_transaction_object* clone() const {
transactional_reference_cache tmp = cache_new_copy(*this);
if (tmp.value!=0) {
Modified: sandbox/stm/branches/vbe/boost/stm/detail/auto_lock.hpp
==============================================================================
--- sandbox/stm/branches/vbe/boost/stm/detail/auto_lock.hpp (original)
+++ sandbox/stm/branches/vbe/boost/stm/detail/auto_lock.hpp 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
@@ -38,7 +38,7 @@
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
-class timer_lock_exception : public std::exception
+class timer_lock_exception : public std::exception
{
public:
timer_lock_exception(char const * const what) : what_(what) {}
@@ -158,7 +158,7 @@
{
lock(global_lock());
- for (ThreadedLockIter i = threaded_locks().begin();
+ for (ThreadedLockIter i = threaded_locks().begin();
i != threaded_locks().end(); ++i)
{
if (i->first == THREAD_ID && i->second == rhs)
@@ -176,7 +176,7 @@
{
lock(global_lock());
- for (ThreadedLockIter i = threaded_locks().begin();
+ for (ThreadedLockIter i = threaded_locks().begin();
i != threaded_locks().end(); ++i)
{
if (i->first == THREAD_ID && i->second == rhs)
@@ -195,7 +195,7 @@
static Mutex globalLock = PTHREAD_MUTEX_INITIALIZER;
#else
static Mutex globalLock;
-#endif
+#endif
return &globalLock;
}
@@ -220,7 +220,7 @@
#define catch_lock_timeout(E) } catch (std::timer_lock_exception &E)
#define lock_timeout } catch (std::timer_lock_exception &E)
-} // core namespace
+} // core namespace
}
Modified: sandbox/stm/branches/vbe/boost/stm/detail/bit_vector.hpp
==============================================================================
--- sandbox/stm/branches/vbe/boost/stm/detail/bit_vector.hpp (original)
+++ sandbox/stm/branches/vbe/boost/stm/detail/bit_vector.hpp 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
@@ -68,10 +68,10 @@
// (3) perform bitwise AND, this'll return 1 if the bits_ array has
// a 1 in the specific bit location
// (4) shift it back to the first bit location so we return a 0 or 1
- //---------------------------------------------------------------------
- return ( bits_[(rhs >> chunk_shift)] & (1 << rhs & chunk_shift_bits) )
+ //---------------------------------------------------------------------
+ return ( bits_[(rhs >> chunk_shift)] & (1 << rhs & chunk_shift_bits) )
>> rhs % chunk_bits;
- //return ( bits_[rhs / chunk_bits] & (1 << rhs % chunk_bits) )
+ //return ( bits_[rhs / chunk_bits] & (1 << rhs % chunk_bits) )
// >> rhs % chunk_bits;
}
@@ -92,23 +92,23 @@
//------------------------------------------------------------------------
//------------------------------------------------------------------------
- void set(size_t rhs)
+ void set(size_t rhs)
{
- bits_[(rhs >> chunk_shift)] |= 1 << (rhs & chunk_shift_bits);
+ bits_[(rhs >> chunk_shift)] |= 1 << (rhs & chunk_shift_bits);
}
//------------------------------------------------------------------------
//------------------------------------------------------------------------
- void reset(size_t rhs)
- {
- bits_[(rhs >> chunk_shift)] &= 0 << (rhs & chunk_shift_bits);
+ void reset(size_t rhs)
+ {
+ bits_[(rhs >> chunk_shift)] &= 0 << (rhs & chunk_shift_bits);
}
//------------------------------------------------------------------------
//------------------------------------------------------------------------
bool test(size_t rhs)
{
- return ( bits_[(rhs >> chunk_shift)] & (1 << (rhs & chunk_shift_bits)) ) > 0 ? true : false;
+ return ( bits_[(rhs >> chunk_shift)] & (1 << (rhs & chunk_shift_bits)) ) > 0 ? true : false;
}
//------------------------------------------------------------------------
Modified: sandbox/stm/branches/vbe/boost/stm/detail/bloom_filter.hpp
==============================================================================
--- sandbox/stm/branches/vbe/boost/stm/detail/bloom_filter.hpp (original)
+++ sandbox/stm/branches/vbe/boost/stm/detail/bloom_filter.hpp 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
@@ -43,10 +43,10 @@
class bloom_filter
{
public:
- bloom_filter()
+ bloom_filter()
#ifdef BOOST_STM_BLOOM_FILTER_USE_DYNAMIC_BITSET
: bit_vector1_(def_bit_vector_size)
- , bit_vector2_(def_bit_vector_size)
+ , bit_vector2_(def_bit_vector_size)
#else
#endif
{}
@@ -99,7 +99,7 @@
boost::dynamic_bitset<> bit_vector2_;
#else
bit_vector bit_vector1_;
- bit_vector bit_vector2_;
+ bit_vector bit_vector2_;
#endif
};
Modified: sandbox/stm/branches/vbe/boost/stm/detail/config.hpp
==============================================================================
--- sandbox/stm/branches/vbe/boost/stm/detail/config.hpp (original)
+++ sandbox/stm/branches/vbe/boost/stm/detail/config.hpp 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
@@ -36,9 +36,9 @@
#define BOOST_STM_CM_STATIC_CONF_ExceptAndBackOffOnAbortNoticeCM 1
// BOOST_STM_USE_MEMCOPY: STM uses memcpy insted of the copy constructor
-#define BOOST_STM_USE_MEMCOPY 1
+//#define BOOST_STM_USE_MEMCOPY 1
-//// The cache using uninitialized_copy can use the following memeory manager
+//// The cache using uninitialized_copy can use the following memeory manager
////BOOST_STM_CACHE_USE_MALLOC: uses malloc/free
#define BOOST_STM_CACHE_USE_MALLOC 1
//// BOOST_STM_CACHE_USE_MEMORY_MANAGER: uses the class specific memory manager
Modified: sandbox/stm/branches/vbe/boost/stm/detail/datatypes.hpp
==============================================================================
--- sandbox/stm/branches/vbe/boost/stm/detail/datatypes.hpp (original)
+++ sandbox/stm/branches/vbe/boost/stm/detail/datatypes.hpp 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,17 +1,17 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
//
//////////////////////////////////////////////////////////////////////////////
-/* The DRACO Research Group (rogue.colorado.edu/draco) */
+/* The DRACO Research Group (rogue.colorado.edu/draco) */
/*****************************************************************************\
*
* Copyright Notices/Identification of Licensor(s) of
@@ -33,7 +33,7 @@
#ifndef BOOST_STM_dataTypes_header_file
#define BOOST_STM_dataTypes_header_file
-
+
/////////////////////////////////////////////////////////////////////////////
#ifdef WIN32
#define WINOS
Modified: sandbox/stm/branches/vbe/boost/stm/detail/latm_def_full_impl.hpp
==============================================================================
--- sandbox/stm/branches/vbe/boost/stm/detail/latm_def_full_impl.hpp (original)
+++ sandbox/stm/branches/vbe/boost/stm/detail/latm_def_full_impl.hpp 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,17 +1,17 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
//
//////////////////////////////////////////////////////////////////////////////
-/* The DRACO Research Group (rogue.colorado.edu/draco) */
+/* The DRACO Research Group (rogue.colorado.edu/draco) */
/*****************************************************************************\
*
* Copyright Notices/Identification of Licensor(s) of
@@ -35,8 +35,8 @@
// TransactionLockAwareImpl.h
//
// This file contains method implementations for transaction.hpp (specifically for
-// enabling lock aware transactions). The main purpose of this file is to reduce
-// the complexity of the transaction class by separating its implementation into
+// enabling lock aware transactions). The main purpose of this file is to reduce
+// the complexity of the transaction class by separating its implementation into
// a secondary .h file.
//
// Do NOT place these methods in a .cc/.cpp/.cxx file. These methods must be
@@ -75,23 +75,23 @@
// if the lock-aware tm lock set is empty, lock the in-flight trans mutex
// so we can abort all the in-flight transactions
//--------------------------------------------------------------------------
- if (latmLockedLocks_.empty())
+ if (latmLockedLocks_.empty())
{
lock_general_access();
lock_inflight_access();
std::list<transaction*> txList;
- for (InflightTxes::iterator i = transactionsInFlight_.begin();
+ for (InflightTxes::iterator i = transactionsInFlight_.begin();
i != transactionsInFlight_.end(); ++i)
{
transaction *t = (transaction*)*i;
- if (!t->irrevocable() &&
+ if (!t->irrevocable() &&
cm_allow_lock_to_abort_tx(lockWaitTime, lockAborted, false, *t))
{
txList.push_back(t);
}
- else
+ else
{
unlock_general_access();
unlock_inflight_access();
@@ -109,10 +109,10 @@
}
try { latmLockedLocks_.insert(mutex); }
- catch (...)
- {
- unlock_inflight_access();
- throw;
+ catch (...)
+ {
+ unlock_inflight_access();
+ throw;
}
return true;
@@ -152,12 +152,12 @@
lock(&latmMutex_);
- try
- {
+ try
+ {
//--------------------------------------------------------------------
// if we are able to do the core lock work, break
//--------------------------------------------------------------------
- if (def_do_core_full_pthread_lock_mutex(mutex, waitTime, aborted)) break;
+ if (def_do_core_full_pthread_lock_mutex(mutex, waitTime, aborted)) break;
}
catch (...)
{
@@ -209,12 +209,12 @@
lock(&latmMutex_);
- try
- {
+ try
+ {
//-----------------------------------------------------------------------
// if !core done, since trylock, we cannot stall & retry - just exit
//-----------------------------------------------------------------------
- if (!def_do_core_full_pthread_lock_mutex(mutex, 0, 0))
+ if (!def_do_core_full_pthread_lock_mutex(mutex, 0, 0))
{
unlock(mutex);
unlock(&latmMutex_);
@@ -230,7 +230,7 @@
latmLockedLocksOfThreadMap_[mutex] = THREAD_ID;
unlock(&latmMutex_);
- // note: we do not release the transactionsInFlightMutex - this will prevents
+ // note: we do not release the transactionsInFlightMutex - this will prevents
// new transactions from starting until this lock is released
return 0;
}
Modified: sandbox/stm/branches/vbe/boost/stm/detail/latm_def_tm_impl.hpp
==============================================================================
--- sandbox/stm/branches/vbe/boost/stm/detail/latm_def_tm_impl.hpp (original)
+++ sandbox/stm/branches/vbe/boost/stm/detail/latm_def_tm_impl.hpp 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,17 +1,17 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
//
//////////////////////////////////////////////////////////////////////////////
-/* The DRACO Research Group (rogue.colorado.edu/draco) */
+/* The DRACO Research Group (rogue.colorado.edu/draco) */
/*****************************************************************************\
*
* Copyright Notices/Identification of Licensor(s) of
@@ -35,8 +35,8 @@
// LatmDefTmImlp.h
//
// This file contains method implementations for transaction.hpp (specifically for
-// enabling lock aware transactions). The main purpose of this file is to reduce
-// the complexity of the transaction class by separating its implementation into
+// enabling lock aware transactions). The main purpose of this file is to reduce
+// the complexity of the transaction class by separating its implementation into
// a secondary .h file.
//
// Do NOT place these methods in a .cc/.cpp/.cxx file. These methods must be
@@ -81,18 +81,18 @@
{
// if the lock-aware tm lock set is empty, lock the in-flight trans mutex
// so we can abort all the in-flight transactions
- if (latmLockedLocks_.empty())
+ if (latmLockedLocks_.empty())
{
var_auto_lock<PLOCK> autlock(general_lock(), inflight_lock(), 0);
std::list<transaction*> txList;
- for (InflightTxes::iterator i = transactionsInFlight_.begin();
+ for (InflightTxes::iterator i = transactionsInFlight_.begin();
i != transactionsInFlight_.end(); ++i)
{
transaction *t = (transaction*)*i;
- if (!t->irrevocable() &&
+ if (!t->irrevocable() &&
cm_allow_lock_to_abort_tx(lockWaitTime, lockAborted, false, *t))
{
txList.push_back(t);
@@ -147,8 +147,8 @@
lock(&latmMutex_);
- try
- {
+ try
+ {
//--------------------------------------------------------------------
// if we are able to do the core lock work, break
//--------------------------------------------------------------------
@@ -206,12 +206,12 @@
lock(&latmMutex_);
- try
- {
+ try
+ {
//-----------------------------------------------------------------------
// if !core done, since trylock, we cannot stall & retry - just exit
//-----------------------------------------------------------------------
- if (!def_do_core_tm_conflicting_lock_pthread_lock_mutex(mutex, 0, 0))
+ if (!def_do_core_tm_conflicting_lock_pthread_lock_mutex(mutex, 0, 0))
{
unlock(mutex);
unlock(&latmMutex_);
@@ -227,7 +227,7 @@
latmLockedLocksOfThreadMap_[mutex] = THREAD_ID;
unlock(&latmMutex_);
- // note: we do not release the transactionsInFlightMutex - this will prevents
+ // note: we do not release the transactionsInFlightMutex - this will prevents
// new transactions from starting until this lock is released
return 0;
}
Modified: sandbox/stm/branches/vbe/boost/stm/detail/latm_def_tx_impl.hpp
==============================================================================
--- sandbox/stm/branches/vbe/boost/stm/detail/latm_def_tx_impl.hpp (original)
+++ sandbox/stm/branches/vbe/boost/stm/detail/latm_def_tx_impl.hpp 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,17 +1,17 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
//
//////////////////////////////////////////////////////////////////////////////
-/* The DRACO Research Group (rogue.colorado.edu/draco) */
+/* The DRACO Research Group (rogue.colorado.edu/draco) */
/*****************************************************************************\
*
* Copyright Notices/Identification of Licensor(s) of
@@ -35,8 +35,8 @@
// LatmDefTxImlp.h
//
// This file contains method implementations for transaction.hpp (specifically for
-// enabling lock aware transactions). The main purpose of this file is to reduce
-// the complexity of the transaction class by separating its implementation into
+// enabling lock aware transactions). The main purpose of this file is to reduce
+// the complexity of the transaction class by separating its implementation into
// a secondary .h file.
//
// Do NOT place these methods in a .cc/.cpp/.cxx file. These methods must be
@@ -74,7 +74,7 @@
std::list<transaction *> txList;
std::set<size_t> txThreadId;
- for (InflightTxes::iterator i = transactionsInFlight_.begin();
+ for (InflightTxes::iterator i = transactionsInFlight_.begin();
i != transactionsInFlight_.end(); ++i)
{
transaction *t = (transaction*)*i;
@@ -85,7 +85,7 @@
// if this mutex has a conflict with an inflight tx
if (t->get_tx_conflicting_locks().find(mutex) != t->get_tx_conflicting_locks().end())
{
- if (txIsIrrevocable || (!t->irrevocable() &&
+ if (txIsIrrevocable || (!t->irrevocable() &&
cm_allow_lock_to_abort_tx(lockWaitTime, lockAborted, txIsIrrevocable, *t)))
{
txList.push_back(t);
@@ -94,7 +94,7 @@
}
}
- if (!txList.empty())
+ if (!txList.empty())
{
#if LOGGING_BLOCKS
logFile_ << "----------------------\nbefore locked mutex: " << mutex << endl << endl;
@@ -110,21 +110,21 @@
txThreadId.insert(t->threadId_);
}
- try {
+ try {
latmLockedLocksAndThreadIdsMap_.insert
- (std::make_pair<Mutex*, ThreadIdSet>(mutex, txThreadId));
+ (std::make_pair<Mutex*, ThreadIdSet>(mutex, txThreadId));
}
- catch (...)
- {
- for (std::set<size_t>::iterator it = txThreadId.begin();
- txThreadId.end() != it; ++it)
+ catch (...)
+ {
+ for (std::set<size_t>::iterator it = txThreadId.begin();
+ txThreadId.end() != it; ++it)
{
if (0 == thread_id_occurance_in_locked_locks_map(*it))
{
blocked(*it) = false;
}
}
- throw;
+ throw;
}
#if LOGGING_BLOCKS
@@ -192,8 +192,8 @@
lock(&latmMutex_);
- try
- {
+ try
+ {
//--------------------------------------------------------------------
// if we are able to do the core lock work, break
//--------------------------------------------------------------------
@@ -221,7 +221,7 @@
latmLockedLocksOfThreadMap_[mutex] = THREAD_ID;
unlock(&latmMutex_);
- // note: we do not release the transactionsInFlightMutex - this will prevents
+ // note: we do not release the transactionsInFlightMutex - this will prevents
// new transactions from starting until this lock is released
return 0;
}
@@ -251,12 +251,12 @@
t->commit_deferred_update_tx();
}
- try
- {
+ try
+ {
//-----------------------------------------------------------------------
// if !core done, since trylock, we cannot stall & retry - just exit
//-----------------------------------------------------------------------
- if (!def_do_core_tx_conflicting_lock_pthread_lock_mutex(mutex, 0, 0, txIsIrrevocable))
+ if (!def_do_core_tx_conflicting_lock_pthread_lock_mutex(mutex, 0, 0, txIsIrrevocable))
{
unlock(mutex);
unlock(&latmMutex_);
@@ -273,7 +273,7 @@
latmLockedLocksOfThreadMap_[mutex] = THREAD_ID;
unlock(&latmMutex_);
- // note: we do not release the transactionsInFlightMutex - this will prevents
+ // note: we do not release the transactionsInFlightMutex - this will prevents
// new transactions from starting until this lock is released
return 0;
}
Modified: sandbox/stm/branches/vbe/boost/stm/detail/latm_dir_full_impl.hpp
==============================================================================
--- sandbox/stm/branches/vbe/boost/stm/detail/latm_dir_full_impl.hpp (original)
+++ sandbox/stm/branches/vbe/boost/stm/detail/latm_dir_full_impl.hpp 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,17 +1,17 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
//
//////////////////////////////////////////////////////////////////////////////
-/* The DRACO Research Group (rogue.colorado.edu/draco) */
+/* The DRACO Research Group (rogue.colorado.edu/draco) */
/*****************************************************************************\
*
* Copyright Notices/Identification of Licensor(s) of
@@ -35,8 +35,8 @@
// TransactionLockAwareImpl.h
//
// This file contains method implementations for transaction.hpp (specifically for
-// enabling lock aware transactions). The main purpose of this file is to reduce
-// the complexity of the transaction class by separating its implementation into
+// enabling lock aware transactions). The main purpose of this file is to reduce
+// the complexity of the transaction class by separating its implementation into
// a secondary .h file.
//
// Do NOT place these methods in a .cc/.cpp/.cxx file. These methods must be
@@ -75,23 +75,23 @@
// if the lock-aware tm lock set is empty, lock the in-flight trans mutex
// so we can abort all the in-flight transactions
//--------------------------------------------------------------------------
- if (latmLockedLocks_.empty())
+ if (latmLockedLocks_.empty())
{
lock_general_access();
lock_inflight_access();
std::list<transaction*> txList;
- for (InflightTxes::iterator i = transactionsInFlight_.begin();
+ for (InflightTxes::iterator i = transactionsInFlight_.begin();
i != transactionsInFlight_.end(); ++i)
{
transaction *t = (transaction*)*i;
- if (!t->irrevocable() &&
+ if (!t->irrevocable() &&
cm_allow_lock_to_abort_tx(lockWaitTime, lockAborted, false, *t))
{
txList.push_back(t);
}
- else
+ else
{
unlock_general_access();
unlock_inflight_access();
@@ -113,18 +113,18 @@
unlock_inflight_access();
//-----------------------------------------------------------------------
- // now we must stall until all in-flight transactions are gone, otherwise
+ // now we must stall until all in-flight transactions are gone, otherwise
// global memory may still be in an inconsistent state
//-----------------------------------------------------------------------
while (!transactionsInFlight_.empty()) { SLEEP(10); }
}
try { latmLockedLocks_.insert(mutex); }
- catch (...)
- {
+ catch (...)
+ {
unlock_general_access();
- unlock_inflight_access();
- throw;
+ unlock_inflight_access();
+ throw;
}
return true;
@@ -162,12 +162,12 @@
lock(&latmMutex_);
- try
- {
+ try
+ {
//--------------------------------------------------------------------
// if we are able to do the core lock work, break
//--------------------------------------------------------------------
- if (dir_do_core_full_pthread_lock_mutex(mutex, waitTime, aborted)) break;
+ if (dir_do_core_full_pthread_lock_mutex(mutex, waitTime, aborted)) break;
}
catch (...)
{
@@ -219,12 +219,12 @@
lock(&latmMutex_);
- try
- {
+ try
+ {
//-----------------------------------------------------------------------
// if !core done, since trylock, we cannot stall & retry - just exit
//-----------------------------------------------------------------------
- if (!dir_do_core_full_pthread_lock_mutex(mutex, 0, 0))
+ if (!dir_do_core_full_pthread_lock_mutex(mutex, 0, 0))
{
unlock(mutex);
unlock(&latmMutex_);
@@ -240,7 +240,7 @@
latmLockedLocksOfThreadMap_[mutex] = THREAD_ID;
unlock(&latmMutex_);
- // note: we do not release the transactionsInFlightMutex - this will prevents
+ // note: we do not release the transactionsInFlightMutex - this will prevents
// new transactions from starting until this lock is released
return 0;
}
Modified: sandbox/stm/branches/vbe/boost/stm/detail/latm_dir_tm_impl.hpp
==============================================================================
--- sandbox/stm/branches/vbe/boost/stm/detail/latm_dir_tm_impl.hpp (original)
+++ sandbox/stm/branches/vbe/boost/stm/detail/latm_dir_tm_impl.hpp 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,17 +1,17 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
//
//////////////////////////////////////////////////////////////////////////////
-/* The DRACO Research Group (rogue.colorado.edu/draco) */
+/* The DRACO Research Group (rogue.colorado.edu/draco) */
/*****************************************************************************\
*
* Copyright Notices/Identification of Licensor(s) of
@@ -35,8 +35,8 @@
// LatmDirTmImlp.h
//
// This file contains method implementations for transaction.hpp (specifically for
-// enabling lock aware transactions). The main purpose of this file is to reduce
-// the complexity of the transaction class by separating its implementation into
+// enabling lock aware transactions). The main purpose of this file is to reduce
+// the complexity of the transaction class by separating its implementation into
// a secondary .h file.
//
// Do NOT place these methods in a .cc/.cpp/.cxx file. These methods must be
@@ -83,23 +83,23 @@
// if the lock-aware tm lock set is empty, lock the in-flight trans mutex
// so we can abort all the in-flight transactions
//--------------------------------------------------------------------------
- if (latmLockedLocks_.empty())
+ if (latmLockedLocks_.empty())
{
lock_general_access();
lock_inflight_access();
std::list<transaction*> txList;
- for (InflightTxes::iterator i = transactionsInFlight_.begin();
+ for (InflightTxes::iterator i = transactionsInFlight_.begin();
i != transactionsInFlight_.end(); ++i)
{
transaction *t = (transaction*)*i;
- if (!t->irrevocable() &&
+ if (!t->irrevocable() &&
cm_allow_lock_to_abort_tx(lockWaitTime, lockAborted, false, *t))
{
txList.push_back(t);
}
- else
+ else
{
unlock_general_access();
unlock_inflight_access();
@@ -121,7 +121,7 @@
unlock_inflight_access();
//-----------------------------------------------------------------------
- // now we must stall until all in-flight transactions are gone, otherwise
+ // now we must stall until all in-flight transactions are gone, otherwise
// global memory may still be in an inconsistent state
//-----------------------------------------------------------------------
while (!transactionsInFlight_.empty()) { SLEEP(10); }
@@ -159,8 +159,8 @@
lock(&latmMutex_);
- try
- {
+ try
+ {
//--------------------------------------------------------------------
// if we are able to do the core lock work, break
//--------------------------------------------------------------------
@@ -211,12 +211,12 @@
lock(&latmMutex_);
- try
- {
+ try
+ {
//-----------------------------------------------------------------------
// if !core done, since trylock, we cannot stall & retry - just exit
//-----------------------------------------------------------------------
- if (!dir_do_core_tm_conflicting_lock_pthread_lock_mutex(mutex, 0, 0))
+ if (!dir_do_core_tm_conflicting_lock_pthread_lock_mutex(mutex, 0, 0))
{
unlock(mutex);
unlock(&latmMutex_);
@@ -232,7 +232,7 @@
latmLockedLocksOfThreadMap_[mutex] = THREAD_ID;
unlock(&latmMutex_);
- // note: we do not release the transactionsInFlightMutex - this will prevents
+ // note: we do not release the transactionsInFlightMutex - this will prevents
// new transactions from starting until this lock is released
return 0;
}
Modified: sandbox/stm/branches/vbe/boost/stm/detail/latm_dir_tx_impl.hpp
==============================================================================
--- sandbox/stm/branches/vbe/boost/stm/detail/latm_dir_tx_impl.hpp (original)
+++ sandbox/stm/branches/vbe/boost/stm/detail/latm_dir_tx_impl.hpp 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,17 +1,17 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
//
//////////////////////////////////////////////////////////////////////////////
-/* The DRACO Research Group (rogue.colorado.edu/draco) */
+/* The DRACO Research Group (rogue.colorado.edu/draco) */
/*****************************************************************************\
*
* Copyright Notices/Identification of Licensor(s) of
@@ -35,8 +35,8 @@
// LatmDirTxImlp.h
//
// This file contains method implementations for transaction.hpp (specifically for
-// enabling lock aware transactions). The main purpose of this file is to reduce
-// the complexity of the transaction class by separating its implementation into
+// enabling lock aware transactions). The main purpose of this file is to reduce
+// the complexity of the transaction class by separating its implementation into
// a secondary .h file.
//
// Do NOT place these methods in a .cc/.cpp/.cxx file. These methods must be
@@ -77,7 +77,7 @@
std::set<size_t> txThreadId;
//transaction *txToMakeIsolated = 0;
- for (InflightTxes::iterator i = transactionsInFlight_.begin();
+ for (InflightTxes::iterator i = transactionsInFlight_.begin();
i != transactionsInFlight_.end(); ++i)
{
transaction *t = (transaction*)*i;
@@ -87,12 +87,12 @@
if (t->get_tx_conflicting_locks().find(mutex) != t->get_tx_conflicting_locks().end())
{
- if (txIsIrrevocable || (!t->irrevocable() &&
+ if (txIsIrrevocable || (!t->irrevocable() &&
cm_allow_lock_to_abort_tx(lockWaitTime, lockAborted, txIsIrrevocable, *t)))
{
txList.push_back(t);
}
- else
+ else
{
unlock_general_access();
unlock_inflight_access();
@@ -101,7 +101,7 @@
}
}
- if (!txList.empty())
+ if (!txList.empty())
{
for (std::list<transaction*>::iterator it = txList.begin(); txList.end() != it; ++it)
{
@@ -112,23 +112,23 @@
txThreadId.insert(t->threadId_);
}
- try
- {
+ try
+ {
latmLockedLocksAndThreadIdsMap_.insert
- (std::make_pair<Mutex*, ThreadIdSet>(mutex, txThreadId));
+ (std::make_pair<Mutex*, ThreadIdSet>(mutex, txThreadId));
latmLockedLocksOfThreadMap_[mutex] = THREAD_ID;
}
- catch (...)
- {
- for (std::set<size_t>::iterator it = txThreadId.begin();
- txThreadId.end() != it; ++it)
+ catch (...)
+ {
+ for (std::set<size_t>::iterator it = txThreadId.begin();
+ txThreadId.end() != it; ++it)
{
if (0 == thread_id_occurance_in_locked_locks_map(*it))
{
blocked(*it) = false;
}
}
- throw;
+ throw;
}
unlock_general_access();
@@ -145,7 +145,7 @@
lock_general_access();
lock_inflight_access();
- for (InflightTxes::iterator i = transactionsInFlight_.begin();
+ for (InflightTxes::iterator i = transactionsInFlight_.begin();
i != transactionsInFlight_.end(); ++i)
{
transaction *t = (transaction*)*i;
@@ -227,8 +227,8 @@
lock(&latmMutex_);
- try
- {
+ try
+ {
//--------------------------------------------------------------------
// if we are able to do the core lock work, break
//--------------------------------------------------------------------
@@ -256,7 +256,7 @@
latmLockedLocksOfThreadMap_[mutex] = THREAD_ID;
unlock(&latmMutex_);
- // note: we do not release the transactionsInFlightMutex - this will prevents
+ // note: we do not release the transactionsInFlightMutex - this will prevents
// new transactions from starting until this lock is released
return 0;
}
@@ -281,15 +281,15 @@
txIsIrrevocable = true;
t->must_be_in_conflicting_lock_set(mutex);
t->make_irrevocable();
- t->add_to_obtained_locks(mutex);
+ t->add_to_obtained_locks(mutex);
}
- try
- {
+ try
+ {
//-----------------------------------------------------------------------
// if !core done, since trylock, we cannot stall & retry - just exit
//-----------------------------------------------------------------------
- if (!dir_do_core_tx_conflicting_lock_pthread_lock_mutex(mutex, 0, 0, txIsIrrevocable))
+ if (!dir_do_core_tx_conflicting_lock_pthread_lock_mutex(mutex, 0, 0, txIsIrrevocable))
{
unlock(mutex);
unlock(&latmMutex_);
@@ -306,7 +306,7 @@
latmLockedLocksOfThreadMap_[mutex] = THREAD_ID;
unlock(&latmMutex_);
- // note: we do not release the transactionsInFlightMutex - this will prevents
+ // note: we do not release the transactionsInFlightMutex - this will prevents
// new transactions from starting until this lock is released
return 0;
}
Modified: sandbox/stm/branches/vbe/boost/stm/detail/latm_general_impl.hpp
==============================================================================
--- sandbox/stm/branches/vbe/boost/stm/detail/latm_general_impl.hpp (original)
+++ sandbox/stm/branches/vbe/boost/stm/detail/latm_general_impl.hpp 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,17 +1,17 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
//
//////////////////////////////////////////////////////////////////////////////
-/* The DRACO Research Group (rogue.colorado.edu/draco) */
+/* The DRACO Research Group (rogue.colorado.edu/draco) */
/*****************************************************************************\
*
* Copyright Notices/Identification of Licensor(s) of
@@ -35,8 +35,8 @@
// TransactionLockAwareImpl.h
//
// This file contains method implementations for transaction.hpp (specifically for
-// enabling lock aware transactions). The main purpose of this file is to reduce
-// the complexity of the transaction class by separating its implementation into
+// enabling lock aware transactions). The main purpose of this file is to reduce
+// the complexity of the transaction class by separating its implementation into
// a secondary .h file.
//
// Do NOT place these methods in a .cc/.cpp/.cxx file. These methods must be
@@ -67,7 +67,7 @@
//----------------------------------------------------------------------------
inline void boost::stm::transaction::wait_until_all_locks_are_released(bool keepLatmLocked)
{
- while (true)
+ while (true)
{
lock_latm_access();
if (latmLockedLocks_.empty()) break;
@@ -172,7 +172,7 @@
return true;
}
}
-#endif
+#endif
return false;
}
@@ -185,7 +185,7 @@
inline void boost::stm::transaction::unblock_conflicting_threads(Mutex *mutex)
{
// if the mutex is on the latm locks map, we can't unblock yet
- if (latmLockedLocksAndThreadIdsMap_.find(mutex) != latmLockedLocksAndThreadIdsMap_.end())
+ if (latmLockedLocksAndThreadIdsMap_.find(mutex) != latmLockedLocksAndThreadIdsMap_.end())
{
#if LOGGING_BLOCKS
logFile_ << "\ncannot unlock <" << mutex << ">, in latmLockedLocksAndThreadIdsMap_" << endl << endl;
@@ -213,7 +213,7 @@
// if the size is 0, unblock everybody
if (latmLockedLocksOfThreadMap_.empty())
{
- for (ThreadMutexSetContainer::iterator it = threadObtainedLocks_.begin();
+ for (ThreadMutexSetContainer::iterator it = threadObtainedLocks_.begin();
it != threadObtainedLocks_.end(); ++it)
{
if (!it->second->empty()) return;
@@ -273,7 +273,7 @@
switch (eLatmType_)
{
- case eFullLatmProtection:
+ case eFullLatmProtection:
return "full_protect";
case eTmConflictingLockLatmProtection:
return "tm_protect";
@@ -295,8 +295,8 @@
//-------------------------------------------------------------------------
// insert can throw an exception
//-------------------------------------------------------------------------
- try { tmConflictingLocks_.insert(inLock); }
- catch (...)
+ try { tmConflictingLocks_.insert(inLock); }
+ catch (...)
{
unlock(&latmMutex_);
throw;
@@ -317,7 +317,7 @@
//----------------------------------------------------------------------------
inline void boost::stm::transaction::must_be_in_tm_conflicting_lock_set(Mutex *inLock)
{
- if (tmConflictingLocks_.find(inLock) == tmConflictingLocks_.end())
+ if (tmConflictingLocks_.find(inLock) == tmConflictingLocks_.end())
{
throw "lock not in tx conflict lock set, use add_tm_conflicting_lock";
}
@@ -327,7 +327,7 @@
//----------------------------------------------------------------------------
inline void boost::stm::transaction::must_be_in_conflicting_lock_set(Mutex *inLock)
{
- if (get_tx_conflicting_locks().find(inLock) == get_tx_conflicting_locks().end())
+ if (get_tx_conflicting_locks().find(inLock) == get_tx_conflicting_locks().end())
{
throw "lock not in tx conflict lock set, use add_tx_conflicting_lock";
}
@@ -350,7 +350,7 @@
see_if_tx_must_block_due_to_tx_latm();
}
- if (blocked())
+ if (blocked())
{
lock_and_abort();
throw aborted_transaction_exception("aborting transaction");
@@ -367,8 +367,8 @@
}
//----------------------------------------------------------------------------
-//
-// Exposed client interfaces that act as forwarding calls to the real
+//
+// Exposed client interfaces that act as forwarding calls to the real
// implementation based on the specific type of lock-aware transactions
// the client chose
//
@@ -379,7 +379,7 @@
switch (eLatmType_)
{
- case eFullLatmProtection:
+ case eFullLatmProtection:
if (direct_updating()) return dir_full_pthread_lock_mutex(mutex);
else return def_full_pthread_lock_mutex(mutex);
case eTmConflictingLockLatmProtection:
@@ -401,7 +401,7 @@
switch (eLatmType_)
{
- case eFullLatmProtection:
+ case eFullLatmProtection:
if (direct_updating()) return dir_full_pthread_trylock_mutex(mutex);
else return def_full_pthread_trylock_mutex(mutex);
case eTmConflictingLockLatmProtection:
@@ -423,7 +423,7 @@
switch (eLatmType_)
{
- case eFullLatmProtection:
+ case eFullLatmProtection:
if (direct_updating()) return dir_full_pthread_unlock_mutex(mutex);
return def_full_pthread_unlock_mutex(mutex);
case eTmConflictingLockLatmProtection:
@@ -456,9 +456,9 @@
inline void boost::stm::transaction::see_if_tx_must_block_due_to_tx_latm()
{
//--------------------------------------------------------------------------
- // iterate through all currently locked locks
+ // iterate through all currently locked locks
//--------------------------------------------------------------------------
- for (MutexThreadSetMap::iterator iter = latmLockedLocksAndThreadIdsMap_.begin();
+ for (MutexThreadSetMap::iterator iter = latmLockedLocksAndThreadIdsMap_.begin();
latmLockedLocksAndThreadIdsMap_.end() != iter; ++iter)
{
//-----------------------------------------------------------------------
@@ -479,7 +479,7 @@
// if it is locked by our thread, it is ok ... otherwise it is not
MutexThreadMap::iterator l = latmLockedLocksOfThreadMap_.find(*k);
- if (l != latmLockedLocksOfThreadMap_.end() &&
+ if (l != latmLockedLocksOfThreadMap_.end() &&
THREAD_ID != l->second)
{
MutexThreadSetMap::iterator locksAndThreadsIter = latmLockedLocksAndThreadIdsMap_.find(*k);
@@ -490,7 +490,7 @@
s.insert(THREAD_ID);
latmLockedLocksAndThreadIdsMap_.insert
- (std::make_pair<Mutex*, ThreadIdSet>(*k, s));
+ (std::make_pair<Mutex*, ThreadIdSet>(*k, s));
}
else
{
@@ -513,7 +513,7 @@
{
int count = 0;
- for (MutexThreadSetMap::iterator iter = latmLockedLocksAndThreadIdsMap_.begin();
+ for (MutexThreadSetMap::iterator iter = latmLockedLocksAndThreadIdsMap_.begin();
latmLockedLocksAndThreadIdsMap_.end() != iter; ++iter)
{
if (iter->second.find(threadId) != iter->second.end()) ++count;
@@ -530,7 +530,7 @@
{
if (!hasTxInFlightMutex) lock_inflight_access();
- for (InflightTxes::iterator i = transactionsInFlight_.begin();
+ for (InflightTxes::iterator i = transactionsInFlight_.begin();
i != transactionsInFlight_.end(); ++i)
{
transaction *t = (transaction*)*i;
Modified: sandbox/stm/branches/vbe/boost/stm/detail/transaction_bookkeeping.hpp
==============================================================================
--- sandbox/stm/branches/vbe/boost/stm/detail/transaction_bookkeeping.hpp (original)
+++ sandbox/stm/branches/vbe/boost/stm/detail/transaction_bookkeeping.hpp 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,17 +1,17 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
//
//////////////////////////////////////////////////////////////////////////////
-/* The DRACO Research Group (rogue.colorado.edu/draco) */
+/* The DRACO Research Group (rogue.colorado.edu/draco) */
/*****************************************************************************\
*
* Copyright Notices/Identification of Licensor(s) of
@@ -52,10 +52,10 @@
uint32 threadId_;
uint32 commitId_;
- bool operator==(ThreadIdAndCommitId const &rhs) const
+ bool operator==(ThreadIdAndCommitId const &rhs) const
{ return threadId_ == rhs.threadId_ && commitId_ == rhs.commitId_; }
-
- bool operator<(ThreadIdAndCommitId const &rhs) const
+
+ bool operator<(ThreadIdAndCommitId const &rhs) const
{
if (threadId_ < rhs.threadId_) return true;
if (threadId_ == rhs.threadId_)
@@ -75,8 +75,8 @@
typedef std::map<ThreadIdAndCommitId, uint32> CommitHistory;
typedef std::map<ThreadIdAndCommitId, uint32> AbortHistory;
- transaction_bookkeeping() : aborts_(0), writeAborts_(0), readAborts_(0),
- abortPermDenied_(0), commits_(0), handOffs_(0), newMemoryCommits_(0),
+ transaction_bookkeeping() : aborts_(0), writeAborts_(0), readAborts_(0),
+ abortPermDenied_(0), commits_(0), handOffs_(0), newMemoryCommits_(0),
newMemoryAborts_(0), deletedMemoryCommits_(0), deletedMemoryAborts_(0),
readStayedAsRead_(0), readChangedToWrite_(0), commitTimeMs_(0), lockConvoyMs_(0)
{
@@ -101,7 +101,7 @@
void inc_read_aborts() { ++readAborts_; }
void inc_write_aborts() { ++writeAborts_; }
- void inc_thread_commits(uint32 threadId)
+ void inc_thread_commits(uint32 threadId)
{
#if 0
std::map<uint32, uint32>::iterator i = threadedCommits_.find(threadId);
@@ -111,7 +111,7 @@
#endif
}
- void inc_thread_aborts(uint32 threadId)
+ void inc_thread_aborts(uint32 threadId)
{
#if 0
std::map<uint32, uint32>::iterator i = threadedAborts_.find(threadId);
@@ -147,8 +147,8 @@
AbortHistory const& getAbortReadSetList() const { return abortedReadSetSize_; }
AbortHistory const& getAbortWriteSetList() const { return abortedWriteSetSize_; }
- void pushBackSizeOfReadSetWhenAborting(uint32 const &size)
- {
+ void pushBackSizeOfReadSetWhenAborting(uint32 const &size)
+ {
//lock(&abortTrackingMutex_);
ThreadIdAndCommitId tcId(THREAD_ID, ++aborts_);
@@ -162,22 +162,22 @@
abortedWriteSetSize_.erase(ThreadIdAndCommitId(THREAD_ID, aborts_-1));
}
- abortedReadSetSize_[tcId] = size;
+ abortedReadSetSize_[tcId] = size;
waitingForCommitReadFromThread[THREAD_ID] = true;
//unlock(&abortTrackingMutex_);
}
- void pushBackSizeOfWriteSetWhenAborting(uint32 const &size)
- {
+ void pushBackSizeOfWriteSetWhenAborting(uint32 const &size)
+ {
//lock(&abortTrackingMutex_);
ThreadIdAndCommitId tcId(THREAD_ID, aborts_);
- abortedWriteSetSize_[tcId] = size;
+ abortedWriteSetSize_[tcId] = size;
waitingForCommitWriteFromThread[THREAD_ID] = true;
//unlock(&abortTrackingMutex_);
}
- void pushBackSizeOfReadSetWhenCommitting(uint32 const &size)
- {
+ void pushBackSizeOfReadSetWhenCommitting(uint32 const &size)
+ {
//lock(&abortTrackingMutex_);
ThreadIdAndCommitId tcId(THREAD_ID, aborts_);
@@ -190,8 +190,8 @@
//unlock(&abortTrackingMutex_);
}
- void pushBackSizeOfWriteSetWhenCommitting(uint32 const &size)
- {
+ void pushBackSizeOfWriteSetWhenCommitting(uint32 const &size)
+ {
//lock(&abortTrackingMutex_);
ThreadIdAndCommitId tcId(THREAD_ID, aborts_);
@@ -214,16 +214,16 @@
out << "########################################" << endl;
//out << "total_aborts=" << that.totalAborts() << endl;
-
- for (thread_commit_map::const_iterator i = that.threadedCommits().begin();
+
+ for (thread_commit_map::const_iterator i = that.threadedCommits().begin();
i != that.threadedCommits().end(); ++i)
{
out << " thread [" << i->first << "]: commits: " << i->second << " aborts: ";
bool found = false;
- for (thread_commit_map::const_iterator j = that.threadedAborts().begin();
+ for (thread_commit_map::const_iterator j = that.threadedAborts().begin();
j != that.threadedAborts().end(); ++j)
{
if (j->first == i->first)
Modified: sandbox/stm/branches/vbe/boost/stm/detail/vector_map.hpp
==============================================================================
--- sandbox/stm/branches/vbe/boost/stm/detail/vector_map.hpp (original)
+++ sandbox/stm/branches/vbe/boost/stm/detail/vector_map.hpp 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
@@ -55,7 +55,7 @@
//-----------------------------------------------------------------------
typename vector_map<T,U>::iterator find(first_t const &t)
{
- for (typename vector_map<T,U>::iterator i = pairs_.begin(); i != pairs_.end(); ++i)
+ for (typename vector_map<T,U>::iterator i = pairs_.begin(); i != pairs_.end(); ++i)
{
if (t == i->first) return i;
}
@@ -69,9 +69,9 @@
{
T const &f = wp.first;
- for (typename vector_map<T,U>::iterator i = pairs_.begin(); i != pairs_.end(); ++i)
+ for (typename vector_map<T,U>::iterator i = pairs_.begin(); i != pairs_.end(); ++i)
{
- if (f == i->first)
+ if (f == i->first)
{
i->second = wp.second;
return i;
Modified: sandbox/stm/branches/vbe/boost/stm/detail/vector_set.hpp
==============================================================================
--- sandbox/stm/branches/vbe/boost/stm/detail/vector_set.hpp (original)
+++ sandbox/stm/branches/vbe/boost/stm/detail/vector_set.hpp 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
@@ -53,7 +53,7 @@
//-----------------------------------------------------------------------
typename vector_set<T>::iterator find(T const &t)
{
- for (typename vector_set<T>::iterator i = elements_.begin(); i != elements_.end(); ++i)
+ for (typename vector_set<T>::iterator i = elements_.begin(); i != elements_.end(); ++i)
{
if (t == i) return i;
}
@@ -65,9 +65,9 @@
//-----------------------------------------------------------------------
typename vector_set<T>::iterator insert(first_t const &rhs)
{
- for (typename vector_set<T>::iterator i = elements_.begin(); i != elements_.end(); ++i)
+ for (typename vector_set<T>::iterator i = elements_.begin(); i != elements_.end(); ++i)
{
- if (rhs == *i)
+ if (rhs == *i)
{
return i;
}
@@ -81,9 +81,9 @@
//-----------------------------------------------------------------------
void erase(vector_set<T>::first_t const &rhs)
{
- for (typename vector_set<T>::iterator i = elements_.begin(); i != elements_.end(); ++i)
+ for (typename vector_set<T>::iterator i = elements_.begin(); i != elements_.end(); ++i)
{
- if (rhs == *i)
+ if (rhs == *i)
{
elements_.erase(i); return;
}
Modified: sandbox/stm/branches/vbe/libs/stm/example/bank.cpp
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/example/bank.cpp (original)
+++ sandbox/stm/branches/vbe/libs/stm/example/bank.cpp 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
@@ -26,7 +26,7 @@
using namespace boost;
using namespace boost::stm;
-class BankAccount
+class BankAccount
{
protected:
int nb_;
@@ -83,7 +83,7 @@
thread_initializer thi;
cerr << "initialize_thread"<< endl;
//while(!exit)
- for(int i=10; i>0;--i)
+ for(int i=10; i>0;--i)
{
cerr << "c="<< i<<endl;
atomic(_) {
@@ -118,7 +118,7 @@
void create_db(bank* b, int nr_of_accounts){
- //use_atomic(_)
+ //use_atomic(_)
{
for(int c=0;c<nr_of_accounts;++c){
//cerr << "c=" <<c<< endl;
@@ -164,10 +164,10 @@
thread th3(account_withdraw_thr_basic);
thread th4(account_deposit_thr_basic);
- th1.join();
- th2.join();
- th3.join();
- th4.join();
+ th1.join();
+ th2.join();
+ th3.join();
+ th4.join();
cerr << "ptr=" << a.ptr_ << " nb=" << a->Nb() << " bal=" << a->Balance() << endl;
int res = (a->Balance()==0?0:1);
//boost::stm::delete_ptr(a);
@@ -196,14 +196,14 @@
cerr << "ptr=" << v.ptr_ << endl;
v->push_back(10);
cerr << "ptr=" << v.ptr_ << " v[0]=" << v.ptr_->value[0] << endl;
-
+
thread th1(vector_int_assign);
thread th2(vector_int_assign_basic);
thread th3(vector_int_assign);
- th1.join();
- th2.join();
- th3.join();
+ th1.join();
+ th2.join();
+ th3.join();
cerr << "ptr=" << v.ptr_ << " v[0]=" << (*v)[0] << endl;
//cerr << "ptr=" << v.ptr_ << " v[0]=" << v.ptr_->value[0] << endl;
//cerr << "ptr=" << v.ptr_ << " v[0]=" << 0 << endl;
@@ -215,8 +215,8 @@
int test_xxxx() {
- string wait;
-
+ string wait;
+
//int nr_of_threads=10;
int nr_of_accounts=200;
@@ -227,25 +227,25 @@
create_db(mybank,nr_of_accounts);
cerr << __LINE__ << endl;
//cin >> wait;teller::exit=true;
- //use_atomic(_)
+ //use_atomic(_)
{
//cerr << "size=" <<mybank.ptr_->value.accounts.size()<< endl;
cerr << __LINE__ << " size=" <<mybank->accounts.size()<< endl;
cerr << __LINE__ << " overall balance before: " << mybank->overall_balance() << endl;
}
-
-#if 0
+
+#if 0
mybank->accounts[0]->Withdraw(10);
mybank->accounts[1]->Deposit(100);
#endif
-#if 0
+#if 0
teller t(mybank);
t();
//cerr << "size=" <<mybank->accounts.size()<< endl;
//cerr << "overall balance before: " << mybank->overall_balance() << endl;
cerr << __LINE__ << endl;
-#endif
+#endif
#if 1
teller t(mybank);
cerr << "t=" <<&t<< endl;
@@ -254,51 +254,51 @@
cin >> wait;teller::exit=true;
cerr << __LINE__ << endl;
- th1->join();
+ th1->join();
delete th1;
- //th2->join();
+ //th2->join();
//delete th2;
use_atomic(_) {
cerr << "overall balance after: " << mybank->overall_balance() << endl;
cerr << "balances after: " <<endl;
mybank->print_balance();
}
-#endif
+#endif
#if 0
- list<shared_ptr<thread> > threads;
- for(int c=0;c<nr_of_threads;++c){
- thread *newthread=new thread(teller(mybank));
- threads.push_back(shared_ptr<thread>(newthread));
- }
+ list<shared_ptr<thread> > threads;
+ for(int c=0;c<nr_of_threads;++c){
+ thread *newthread=new thread(teller(mybank));
+ threads.push_back(shared_ptr<thread>(newthread));
+ }
cin >> wait;teller::exit=true;
- for(int c=0;c<nr_of_threads;++c){
- shared_ptr<thread> th=threads.front();
- th->join();
+ for(int c=0;c<nr_of_threads;++c){
+ shared_ptr<thread> th=threads.front();
+ th->join();
threads.pop_front();
- }
-
+ }
+
cerr << "overall balance after: " << mybank->overall_balance() << endl;
cerr << "balances after: " << endl;
mybank->print_balance();
#endif
- return 0;
-}
-
+ return 0;
+}
+
int main() {
transaction::enable_dynamic_priority_assignment();
transaction::do_deferred_updating();
transaction::initialize();
thread_initializer thi;
srand(time(0));
-
+
int res=0;
res+=test_account();
res+=test_vector_int();
-
+
return res;
-
+
}
Modified: sandbox/stm/branches/vbe/libs/stm/example/counter.cpp
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/example/counter.cpp (original)
+++ sandbox/stm/branches/vbe/libs/stm/example/counter.cpp 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
@@ -26,14 +26,14 @@
void inc() {
thread_initializer thi;
-
+
use_atomic(_) {
++counter;
}
}
void decr() {
thread_initializer thi;
-
+
use_atomic(_) {
--counter;
}
@@ -74,17 +74,17 @@
int test_counter() {
//counter=make_tx_ptr<int>(0);
-
+
thread th1(inc);
thread th2(decr);
thread th3(inc);
thread th4(inc);
- th1.join();
- th2.join();
- th3.join();
- th4.join();
-
+ th1.join();
+ th2.join();
+ th3.join();
+ th4.join();
+
bool fails=!check(2);
fails = fails || !assign();
fails = fails || !test_const(counter);
@@ -97,9 +97,9 @@
transaction::initialize();
thread_initializer thi;
srand(time(0));
-
+
test_counter();
-
+
return 0;
-
+
}
Modified: sandbox/stm/branches/vbe/libs/stm/example/list.cpp
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/example/list.cpp (original)
+++ sandbox/stm/branches/vbe/libs/stm/example/list.cpp 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -48,9 +48,9 @@
typedef tx_ptr<list_node<T> > node_type;
tx_ptr<list_node<T> > head_;
tx_ptr<std::size_t> size_;
- list()
- : head_(BOOST_STM_NEW_1(transactional_object<list_node<T> >()))
- , size_(BOOST_STM_NEW_1(transactional_object<std::size_t>(0)))
+ list()
+ : head_(BOOST_STM_NEW_1(transactional_object<list_node<T> >()))
+ , size_(BOOST_STM_NEW_1(transactional_object<std::size_t>(0)))
{ }
~list() { }
@@ -78,12 +78,12 @@
else if (curr->value_ > val) break;
prev = curr;
curr = curr->next_;
- }
+ }
if (!curr || (curr->value_ > val)) {
wr_ptr<list_node<T> > insert_point(_,prev);
insert_point->next_=BOOST_STM_NEW(_,transactional_object<list_node<T> >(val, curr));
++(*size_);
-
+
}
}
}
@@ -117,7 +117,7 @@
wr_ptr<list_node<T> > mod_point(_,prev);
mod_point->next_=curr->next_;
// delete curr...
- delete_ptr(_,curr);
+ delete_ptr(_,curr);
--(*size_);
break;
} else if (curr->value_ > val) {
@@ -129,7 +129,7 @@
}
}
}
-
+
};
}
//--------------------------------------------------------------------------
@@ -143,7 +143,7 @@
l=BOOST_STM_NEW(_,transactional_object<test::list<int> >());
cerr << "create" << endl;
cerr << l->size() << endl;
- } catch (...) {
+ } catch (...) {
cerr << "aborted" << endl;
}
cerr << l->size() << endl;
@@ -186,10 +186,10 @@
//thread th3(insert2);
//thread th4(insert3);
- th1.join();
- //th2.join();
- //th3.join();
- //th4.join();
+ th1.join();
+ //th2.join();
+ //th3.join();
+ //th4.join();
#endif
bool fails=true;
fails= !check_size(1);
@@ -203,10 +203,10 @@
transaction::initialize();
thread_initializer thi;
srand(time(0));
-
+
int res=0;
res+=test1();
-
+
return res;
-
+
}
Modified: sandbox/stm/branches/vbe/libs/stm/src/bloom_filter.cpp
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/src/bloom_filter.cpp (original)
+++ sandbox/stm/branches/vbe/libs/stm/src/bloom_filter.cpp 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
Modified: sandbox/stm/branches/vbe/libs/stm/src/contention_manager.cpp
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/src/contention_manager.cpp (original)
+++ sandbox/stm/branches/vbe/libs/stm/src/contention_manager.cpp 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,17 +1,17 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
//
//////////////////////////////////////////////////////////////////////////////
-/* The DRACO Research Group (rogue.colorado.edu/draco) */
+/* The DRACO Research Group (rogue.colorado.edu/draco) */
/*****************************************************************************\
*
* Copyright Notices/Identification of Licensor(s) of
@@ -73,7 +73,7 @@
////////////////////////////////////////////////////////////////////////////
bool DefaultContentionManager::allow_lock_to_abort_tx
-(int const & lockWaitTime, int const &lockAborted, bool txTryingToAbortIsIrrevocable,
+(int const & lockWaitTime, int const &lockAborted, bool txTryingToAbortIsIrrevocable,
boost::stm::transaction const &rhs)
{
if (txTryingToAbortIsIrrevocable) return true;
Modified: sandbox/stm/branches/vbe/libs/stm/test/Jamfile.v2
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/Jamfile.v2 (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/Jamfile.v2 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -41,7 +41,7 @@
# ;
#}
-
+
test-suite "tests"
:
[ run stm.cpp testatom.cpp pointer_test.cpp smart.cpp globalIntArr.cpp testHashMapAndLinkedListsWithLocks.cpp irrevocableInt.cpp testHashMapWithLocks.cpp isolatedComposedIntLockInTx.cpp testInt.cpp isolatedComposedIntLockInTx2.cpp testLL_latm.cpp isolatedInt.cpp testLinkedList.cpp isolatedIntLockInTx.cpp testLinkedListWithLocks.cpp litExample.cpp testPerson.cpp lotExample.cpp testRBTree.cpp transferFun.cpp nestedTxs.cpp txLinearLock.cpp testHT_latm.cpp usingLockTx.cpp testHashMap.cpp ]
Modified: sandbox/stm/branches/vbe/libs/stm/test/globalIntArr.cpp
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/globalIntArr.cpp (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/globalIntArr.cpp 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
@@ -12,7 +12,7 @@
//////////////////////////////////////////////////////////////////////////////
//---------------------------------------------------------------------------
-/* The DRACO Research Group (rogue.colorado.edu/draco) */
+/* The DRACO Research Group (rogue.colorado.edu/draco) */
/*****************************************************************************\
*
* Copyright Notices/Identification of Licensor(s) of
@@ -60,7 +60,7 @@
//-------------------------------------------
void sum_arr(int out[])
{
- transaction t;
+ transaction t;
for (;; t.raise_priority())
{
@@ -74,7 +74,7 @@
t.end();
return;
}
- catch (aborted_transaction_exception&)
+ catch (aborted_transaction_exception&)
{ t.restart(); }
}
}
@@ -88,9 +88,9 @@
transaction t;
t.set_priority(10 + (rand() % 90));
- for (;; t.raise_priority())
+ for (;; t.raise_priority())
{
- try
+ try
{
int ret = t.read(global_int).value();
t.write(global_int).value() = v;
@@ -218,7 +218,7 @@
//--------------------------------------------------------------------------
// Reset barrier variables before creating any threads. Otherwise, it is
- // possible for the first thread
+ // possible for the first thread
//--------------------------------------------------------------------------
threadsFinished.value() = 0;
threadsStarted.value() = 0;
Modified: sandbox/stm/branches/vbe/libs/stm/test/globalIntArr.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/globalIntArr.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/globalIntArr.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
Modified: sandbox/stm/branches/vbe/libs/stm/test/irrevocableInt.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/irrevocableInt.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/irrevocableInt.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,17 +1,17 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
//
//////////////////////////////////////////////////////////////////////////////
-/* The DRACO Research Group (rogue.colorado.edu/draco) */
+/* The DRACO Research Group (rogue.colorado.edu/draco) */
/*****************************************************************************\
*
* Copyright Notices/Identification of Licensor(s) of
Modified: sandbox/stm/branches/vbe/libs/stm/test/isolatedComposedIntLockInTx.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/isolatedComposedIntLockInTx.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/isolatedComposedIntLockInTx.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,17 +1,17 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
//
//////////////////////////////////////////////////////////////////////////////
-/* The DRACO Research Group (rogue.colorado.edu/draco) */
+/* The DRACO Research Group (rogue.colorado.edu/draco) */
/*****************************************************************************\
*
* Copyright Notices/Identification of Licensor(s) of
Modified: sandbox/stm/branches/vbe/libs/stm/test/isolatedComposedIntLockInTx2.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/isolatedComposedIntLockInTx2.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/isolatedComposedIntLockInTx2.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,17 +1,17 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
//
//////////////////////////////////////////////////////////////////////////////
-/* The DRACO Research Group (rogue.colorado.edu/draco) */
+/* The DRACO Research Group (rogue.colorado.edu/draco) */
/*****************************************************************************\
*
* Copyright Notices/Identification of Licensor(s) of
Modified: sandbox/stm/branches/vbe/libs/stm/test/isolatedInt.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/isolatedInt.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/isolatedInt.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,17 +1,17 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
//
//////////////////////////////////////////////////////////////////////////////
-/* The DRACO Research Group (rogue.colorado.edu/draco) */
+/* The DRACO Research Group (rogue.colorado.edu/draco) */
/*****************************************************************************\
*
* Copyright Notices/Identification of Licensor(s) of
Modified: sandbox/stm/branches/vbe/libs/stm/test/isolatedIntLockInTx.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/isolatedIntLockInTx.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/isolatedIntLockInTx.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,17 +1,17 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
//
//////////////////////////////////////////////////////////////////////////////
-/* The DRACO Research Group (rogue.colorado.edu/draco) */
+/* The DRACO Research Group (rogue.colorado.edu/draco) */
/*****************************************************************************\
*
* Copyright Notices/Identification of Licensor(s) of
Modified: sandbox/stm/branches/vbe/libs/stm/test/litExample.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/litExample.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/litExample.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
Modified: sandbox/stm/branches/vbe/libs/stm/test/lotExample.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/lotExample.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/lotExample.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
Modified: sandbox/stm/branches/vbe/libs/stm/test/main.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/main.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/main.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
@@ -46,7 +46,7 @@
////////////////////////////////////////////////////////////////////////////
//
// global variables all of which are used in the main transaction iteration
-//
+//
////////////////////////////////////////////////////////////////////////////
class String;
class Integer;
Modified: sandbox/stm/branches/vbe/libs/stm/test/nestedTxs.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/nestedTxs.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/nestedTxs.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
Modified: sandbox/stm/branches/vbe/libs/stm/test/pointer_test.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/pointer_test.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/pointer_test.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
Modified: sandbox/stm/branches/vbe/libs/stm/test/smart.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/smart.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/smart.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
Modified: sandbox/stm/branches/vbe/libs/stm/test/testHT_latm.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/testHT_latm.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/testHT_latm.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
@@ -60,7 +60,7 @@
bool succeeded1 = true, succeeded2 = true;
transaction_state state = e_no_state;
- do
+ do
{
try
{
@@ -71,7 +71,7 @@
}
catch (aborted_transaction_exception&) {}
- if (!succeeded1 || !succeeded2)
+ if (!succeeded1 || !succeeded2)
{
return false; // auto abort of t
}
Modified: sandbox/stm/branches/vbe/libs/stm/test/testHashMap.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/testHashMap.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/testHashMap.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
Modified: sandbox/stm/branches/vbe/libs/stm/test/testHashMapAndLinkedListsWithLocks.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/testHashMapAndLinkedListsWithLocks.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/testHashMapAndLinkedListsWithLocks.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
Modified: sandbox/stm/branches/vbe/libs/stm/test/testHashMapWithLocks.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/testHashMapWithLocks.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/testHashMapWithLocks.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
Modified: sandbox/stm/branches/vbe/libs/stm/test/testInt.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/testInt.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/testInt.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
Modified: sandbox/stm/branches/vbe/libs/stm/test/testLL_latm.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/testLL_latm.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/testLL_latm.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
@@ -66,7 +66,7 @@
return *this;
}
- list_node(list_node &&rhs) : next_(rhs.next_), value_(boost::stm::draco_move(rhs.value_))
+ list_node(list_node &&rhs) : next_(rhs.next_), value_(boost::stm::draco_move(rhs.value_))
{ rhs.next_ = 0; }
list_node& operator=(list_node&& rhs)
@@ -91,11 +91,11 @@
public:
LinkedList()
- {
-#ifndef BOOST_STM_USE_BOOST_MUTEX
+ {
+#ifndef BOOST_STM_USE_BOOST_MUTEX
pthread_mutex_init (&list_lock_, NULL);
-#endif
- head_.value() = T();
+#endif
+ head_.value() = T();
}
~LinkedList() { quick_clear(); }
@@ -110,7 +110,7 @@
bool succeeded1 = true, succeeded2 = true;
transaction_state state = e_no_state;
- do
+ do
{
try
{
@@ -121,7 +121,7 @@
}
catch (aborted_transaction_exception&) {}
- if (!succeeded1 || !succeeded2)
+ if (!succeeded1 || !succeeded2)
{
return false; // auto abort of t
}
@@ -150,8 +150,8 @@
for (; ;t.restart())
{
- try {
- if (!lock_lookup(node.value()))
+ try {
+ if (!lock_lookup(node.value()))
{
lock_insert(node);
t.end();
@@ -159,7 +159,7 @@
}
else
{
- t.end();
+ t.end();
return true;
}
}
@@ -211,9 +211,9 @@
list_node<T> *cur = headP->next();
T val = rhs.value();
- while (true)
+ while (true)
{
- if (cur->value() == val)
+ if (cur->value() == val)
{
transaction::unlock_(&list_lock_);
return false;
@@ -264,7 +264,7 @@
LATM::list_node<T> *cur = &head_;
- for (; ; cur = cur->next() )
+ for (; ; cur = cur->next() )
{
if (cur->value() == val)
{
@@ -369,7 +369,7 @@
list_node<T> *cur = t.read_ptr(headP->next());
T val = rhs.value();
- while (true)
+ while (true)
{
if (cur->value() == val) return false;
else if (cur->value() > val || !cur->next()) break;
@@ -416,7 +416,7 @@
{
list_node<T> *cur = &t.read(head_);
- for (; true ; cur = t.read(*cur).next() )
+ for (; true ; cur = t.read(*cur).next() )
{
list_node<T> *trueCur = &t.read(*cur);
@@ -473,7 +473,7 @@
list_node<T> const *cur = t.read_ptr(headP->next());
T val = rhs.value();
- while (true)
+ while (true)
{
if (cur->value() == val) return false;
else if (cur->value() > val || !cur->next()) break;
@@ -522,7 +522,7 @@
list_node<T> const *prev = &t.read(head_);
- for (list_node<T> const *cur = prev; cur != NULL;
+ for (list_node<T> const *cur = prev; cur != NULL;
prev = cur, cur = t.read(*cur).next())
{
if (cur->value() == rhs.value())
Modified: sandbox/stm/branches/vbe/libs/stm/test/testLinkedList.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/testLinkedList.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/testLinkedList.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -150,7 +150,7 @@
try { return internal_insert(val, t); }
catch (aborted_transaction_exception&) {
//cout << "aborted_transaction_exception " << endl;
-
+
}
}
}
Modified: sandbox/stm/branches/vbe/libs/stm/test/testLinkedListWithLocks.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/testLinkedListWithLocks.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/testLinkedListWithLocks.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
@@ -67,7 +67,7 @@
return *this;
}
- list_node(list_node &&rhs) : next_(rhs.next_), value_(boost::stm::draco_move(rhs.value_))
+ list_node(list_node &&rhs) : next_(rhs.next_), value_(boost::stm::draco_move(rhs.value_))
{ rhs.next_ = 0; }
list_node& operator=(list_node&& rhs)
@@ -92,11 +92,11 @@
public:
LinkedList()
- {
-#ifndef BOOST_STM_USE_BOOST_MUTEX
+ {
+#ifndef BOOST_STM_USE_BOOST_MUTEX
pthread_mutex_init (&list_lock_, NULL);
-#endif
- head_.value() = T();
+#endif
+ head_.value() = T();
}
~LinkedList() { quick_clear(); }
@@ -111,7 +111,7 @@
bool succeeded1 = true, succeeded2 = true;
transaction_state state = e_no_state;
- do
+ do
{
try
{
@@ -122,7 +122,7 @@
}
catch (boost::stm::aborted_transaction_exception&) {}
- if (!succeeded1 || !succeeded2)
+ if (!succeeded1 || !succeeded2)
{
return false; // auto abort of t
}
@@ -187,9 +187,9 @@
list_node<T> *cur = headP->next();
T val = rhs.value();
- while (true)
+ while (true)
{
- if (cur->value() == val)
+ if (cur->value() == val)
{
transaction::unlock_(&list_lock_);
return false;
@@ -240,7 +240,7 @@
LATM::list_node<T> *cur = &head_;
- for (; ; cur = cur->next() )
+ for (; ; cur = cur->next() )
{
if (cur->value() == val)
{
@@ -345,7 +345,7 @@
list_node<T> const *cur = t.read_ptr(headP->next());
T val = rhs.value();
- while (true)
+ while (true)
{
if (cur->value() == val) return false;
else if (cur->value() > val || !cur->next()) break;
@@ -392,7 +392,7 @@
{
list_node<T> const *cur = &t.read(head_);
- for (; true ; cur = t.read(*cur).next() )
+ for (; true ; cur = t.read(*cur).next() )
{
list_node<T> const *trueCur = &t.read(*cur);
@@ -449,7 +449,7 @@
list_node<T> const *cur = t.read_ptr(headP->next());
T val = rhs.value();
- while (true)
+ while (true)
{
if (cur->value() == val) return false;
else if (cur->value() > val || !cur->next()) break;
@@ -498,7 +498,7 @@
list_node<T> const *prev = &t.read(head_);
- for (list_node<T> const *cur = prev; cur != NULL;
+ for (list_node<T> const *cur = prev; cur != NULL;
prev = cur, cur = t.read(*cur).next())
{
if (cur->value() == rhs.value())
Modified: sandbox/stm/branches/vbe/libs/stm/test/testPerson.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/testPerson.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/testPerson.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
@@ -21,7 +21,7 @@
void TestPerson();
template <typename T>
-class named_array :
+class named_array :
public boost::stm::transaction_object < named_array<T> >
{
public:
@@ -32,7 +32,7 @@
return str;
}
- named_array() : name_(0), array_(0), size_(0)
+ named_array() : name_(0), array_(0), size_(0)
{
set_name("temp");
resize(kMaxArrSize);
@@ -43,17 +43,17 @@
char const * const name() const { return name_; }
T* array() { return array_; }
- named_array& operator=(T &rhs)
- {
- array_[0] = rhs;
- return *this;
+ named_array& operator=(T &rhs)
+ {
+ array_[0] = rhs;
+ return *this;
}
bool operator==(T &rhs) { return array_[0] == rhs; }
- bool operator==(named_array const &rhs)
- {
- return this->array_[0] == rhs.array_[0];
+ bool operator==(named_array const &rhs)
+ {
+ return this->array_[0] == rhs.array_[0];
}
bool operator>(named_array const &rhs) { return this->array_[0] > rhs.array_[0]; }
@@ -132,12 +132,12 @@
size_t size() const { return size_; }
void resize(size_t newSize)
- {
- delete [] array_;
+ {
+ delete [] array_;
array_ = new T[newSize];
size_ = newSize;
}
-
+
private:
char* name_;
T* array_;
Modified: sandbox/stm/branches/vbe/libs/stm/test/testRBTree.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/testRBTree.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/testRBTree.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,17 +1,17 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
//
//////////////////////////////////////////////////////////////////////////////
-/* The DRACO Research Group (rogue.colorado.edu/draco) */
+/* The DRACO Research Group (rogue.colorado.edu/draco) */
/*****************************************************************************\
*
* Copyright Notices/Identification of Licensor(s) of
@@ -73,7 +73,7 @@
typedef T type;
////////////////////////////////////////////////////////////////////////////
- RedBlackNode(T const &in) : value_(in), color_(nRedBlackTree::eRed),
+ RedBlackNode(T const &in) : value_(in), color_(nRedBlackTree::eRed),
parent_(&sentinel), left_(&sentinel), right_(&sentinel) {}
////////////////////////////////////////////////////////////////////////////
@@ -83,14 +83,14 @@
T const & const_value(boost::stm::transaction &t) const
{ return t.read(*const_cast<RedBlackNode<T>*>(this)).value_; }
- T & value(boost::stm::transaction &t)
+ T & value(boost::stm::transaction &t)
{ return t.write(*const_cast<RedBlackNode<T>*>(this)).value_; }
T & value() { return value_; }
T const & value() const { return value_; }
- nRedBlackTree::NodeColor & color(boost::stm::transaction &t)
+ nRedBlackTree::NodeColor & color(boost::stm::transaction &t)
{ return t.write(*const_cast<RedBlackNode<T>*>(this)).color_; }
- nRedBlackTree::NodeColor const & read_color(boost::stm::transaction &t)
+ nRedBlackTree::NodeColor const & read_color(boost::stm::transaction &t)
{ return t.read(*const_cast<RedBlackNode<T>*>(this)).color_; }
nRedBlackTree::NodeColor & color() { return color_; }
@@ -101,7 +101,7 @@
RedBlackNode<T> const * read_right(boost::stm::transaction &t) const
{ return t.read(*const_cast<RedBlackNode<T>*>(this)).right_; }
- RedBlackNode<T>*& right(boost::stm::transaction &t)
+ RedBlackNode<T>*& right(boost::stm::transaction &t)
{ return t.write(*const_cast<RedBlackNode<T>*>(this)).right_; }
RedBlackNode<T>*& right(boost::stm::transaction &t) const
{ return t.write(*const_cast<RedBlackNode<T>*>(this)).right_; }
@@ -125,7 +125,7 @@
RedBlackNode<T>* read_parent(boost::stm::transaction &t)
{ return t.read(*const_cast<RedBlackNode<T>*>(this)).parent_; }
- RedBlackNode<T>*& parent(boost::stm::transaction &t)
+ RedBlackNode<T>*& parent(boost::stm::transaction &t)
{ return t.write(*const_cast<RedBlackNode<T>*>(this)).parent_; }
RedBlackNode<T>*& parent(boost::stm::transaction &t) const
{ return t.write(*const_cast<RedBlackNode<T>*>(this)).parent_; }
@@ -146,7 +146,7 @@
private:
nRedBlackTree::NodeColor color_;
-
+
T value_;
mutable RedBlackNode<T> *left_;
@@ -164,7 +164,7 @@
{
public:
- RedBlackTree() : root(new RedBlackNode<T>(T()))
+ RedBlackTree() : root(new RedBlackNode<T>(T()))
{ root->color() = nRedBlackTree::eBlack; RedBlackNode<T>::initializeSentinel(); }
//--------------------------------------------------------------------------
@@ -212,7 +212,7 @@
void internal_remove_help(RedBlackNode<T> *x, boost::stm::transaction &t);
RedBlackNode<T>* get_successor(RedBlackNode<T> *x, boost::stm::transaction &t) const;
- void internal_print(int const &i, std::string const &outputStr,
+ void internal_print(int const &i, std::string const &outputStr,
RedBlackNode<T> *cur, std::ofstream &o);
RedBlackNode<T>* binary_insert(RedBlackNode<T> const &newEntry, boost::stm::transaction &t);
void left_rotate(RedBlackNode<T> *node, boost::stm::transaction &t);
@@ -246,7 +246,7 @@
///////////////////////////////////////////////////////////////////////////////
template <typename T>
-inline void RedBlackTree<T>::left_rotate(RedBlackNode<T> *x, boost::stm::transaction &t)
+inline void RedBlackTree<T>::left_rotate(RedBlackNode<T> *x, boost::stm::transaction &t)
{
RedBlackNode<T> &writeX = t.write(*x);
@@ -277,10 +277,10 @@
RedBlackNode<T> *y = root;
RedBlackNode<T> *x = root->read_left(t);
- while (x != &RedBlackNode<T>::sentinel)
+ while (x != &RedBlackNode<T>::sentinel)
{
if (NULL == x) throw boost::stm::aborted_transaction_exception("aborting transaction");
- if (x->value() == v)
+ if (x->value() == v)
{
found = &x->value();
t.end();
@@ -296,7 +296,7 @@
///////////////////////////////////////////////////////////////////////////////
template <typename T>
-inline RedBlackNode<T>* RedBlackTree<T>::binary_insert(RedBlackNode<T> const &newEntry,
+inline RedBlackNode<T>* RedBlackTree<T>::binary_insert(RedBlackNode<T> const &newEntry,
boost::stm::transaction &t)
{
//--------------------------------------------------------------------------
@@ -307,10 +307,10 @@
T const &val = newEntry.value();
- while (x != &RedBlackNode<T>::sentinel)
+ while (x != &RedBlackNode<T>::sentinel)
{
if (NULL == x) throw boost::stm::aborted_transaction_exception("aborting transaction");
- if (x->value() == val)
+ if (x->value() == val)
{
t.lock_and_abort();
return NULL;
@@ -337,9 +337,9 @@
bool RedBlackTree<T>::internal_insert(RedBlackNode<T> const & newEntry, boost::stm::transaction &t)
{
using namespace nRedBlackTree;
-
+
//--------------------------------------------------------------------------
- // try to do a binary insert of this element. if the element already exists,
+ // try to do a binary insert of this element. if the element already exists,
// return null and end the transactions since we don't allow duplicates
//--------------------------------------------------------------------------
RedBlackNode<T> *x = binary_insert(newEntry, t);
@@ -357,7 +357,7 @@
// if my parent() is on the left() side of the tree
//-----------------------------------------------------------------------
RedBlackNode<T> *xParentParentLeft = xParentParent->read_left(t);
- if (xParent == xParentParentLeft)
+ if (xParent == xParentParentLeft)
{
// then my uncle is to the right() side
RedBlackNode<T> *y = xParentParent->read_right(t);
@@ -367,7 +367,7 @@
// change my parent()'s and my uncle's color to black and
// make my grandparent() red, then move me to my grandparent()
//--------------------------------------------------------------------
- if (eRed == y->color())
+ if (eRed == y->color())
{
xParent->color(t) = eBlack;
y->color(t) = eBlack;
@@ -375,13 +375,13 @@
x = xParentParent;
}
//--------------------------------------------------------------------
- // otherwise, set me to my parent() and left()-rotate. then set my
- // parent()'s color to black, my grandparent()'s color to red and
+ // otherwise, set me to my parent() and left()-rotate. then set my
+ // parent()'s color to black, my grandparent()'s color to red and
// right() rotate my grandparent()
//--------------------------------------------------------------------
- else
+ else
{
- if (x == xParent->read_right(t))
+ if (x == xParent->read_right(t))
{
// set x up one level
x = xParent;
@@ -393,13 +393,13 @@
writeObj.color() = eBlack;
writeObj.parent()->color(t) = eRed;
right_rotate(writeObj.parent(), t);
- }
- }
+ }
+ }
//-----------------------------------------------------------------------
// the same as the above if, except right() and left() are exchanged
//-----------------------------------------------------------------------
- else
+ else
{
RedBlackNode<T> *y = xParentParentLeft; // saves a tx read by setting to xParParLeft
@@ -409,10 +409,10 @@
y->color(t) = eBlack;
xParentParent->color(t) = eRed;
x = xParentParent;
- }
- else
+ }
+ else
{
- if (x == xParent->read_left(t))
+ if (x == xParent->read_left(t))
{
// set x up one level
x = xParent;
@@ -449,7 +449,7 @@
RedBlackNode<T> *y = NULL;
RedBlackNode<T> *xParent = NULL;
- while ( eBlack == x->read_color(t) && root->read_left(t) != x)
+ while ( eBlack == x->read_color(t) && root->read_left(t) != x)
{
xParent = x->read_parent(t);
@@ -458,27 +458,27 @@
{
y = xParent->read_right(t);
- if (eRed == y->read_color(t))
+ if (eRed == y->read_color(t))
{
y->color(t) = eBlack;
xParent->color(t) = eRed;
left_rotate(xParent, t);
//-----------------------------------------------------------------
- // I think we have to read_parent instead of xParent since
+ // I think we have to read_parent instead of xParent since
// right_rotate could have changed xParent
//-----------------------------------------------------------------
y = x->read_parent(t)->read_right(t);
}
- if (eBlack == y->read_right(t)->read_color(t) &&
- eBlack == y->read_left(t)->read_color(t))
+ if (eBlack == y->read_right(t)->read_color(t) &&
+ eBlack == y->read_left(t)->read_color(t))
{
y->color(t) = eRed;
x = xParent;
- }
- else
+ }
+ else
{
- if (eBlack == y->read_right(t)->read_color(t))
+ if (eBlack == y->read_right(t)->read_color(t))
{
y->read_left(t)->color(t) = eBlack;
y->color(t) = eRed;
@@ -491,33 +491,33 @@
y->read_right(t)->color(t) = eBlack;
left_rotate(xParent, t);
break;
- }
- }
- else
- {
+ }
+ }
+ else
+ {
y = xParentLeft;
- if (eRed == y->read_color(t))
+ if (eRed == y->read_color(t))
{
y->color(t)= eBlack;
xParent->color(t) = eRed;
right_rotate(xParent, t);
//-----------------------------------------------------------------
- // I think we have to read_parent instead of xParent since
+ // I think we have to read_parent instead of xParent since
// right_rotate could have changed xParent
//-----------------------------------------------------------------
y = x->read_parent(t)->read_left(t);
}
- if (eBlack == y->read_left(t)->read_color(t) &&
- eBlack == y->read_right(t)->read_color(t))
+ if (eBlack == y->read_left(t)->read_color(t) &&
+ eBlack == y->read_right(t)->read_color(t))
{
y->color(t) = eRed;
x = xParent;
- }
- else
+ }
+ else
{
- if (eBlack == y->read_left(t)->read_color(t))
+ if (eBlack == y->read_left(t)->read_color(t))
{
y->read_right(t)->color(t) = eBlack;
y->color(t) = eRed;
@@ -543,7 +543,7 @@
{
RedBlackNode<T> *y = x->read_right(t);
- if (&RedBlackNode<T>::sentinel != y)
+ if (&RedBlackNode<T>::sentinel != y)
{
RedBlackNode<T> *prevY = y;
@@ -554,11 +554,11 @@
return prevY;
}
- else
+ else
{
y = x->read_parent(t);
-
- while (x == y->read_right(t))
+
+ while (x == y->read_right(t))
{
x = y;
y = y->read_parent(t);
@@ -667,12 +667,12 @@
//--------------------------------------------------------------------------
if (z->value() != inNode.value()) return false;
- RedBlackNode<T> *y = (z->read_left(t) == &RedBlackNode<T>::sentinel
+ RedBlackNode<T> *y = (z->read_left(t) == &RedBlackNode<T>::sentinel
|| z->read_right(t) == &RedBlackNode<T>::sentinel) ? z : get_successor(z, t);
RedBlackNode<T> *yLeft = y->read_left(t);
- RedBlackNode<T> *x = (yLeft == &RedBlackNode<T>::sentinel)
+ RedBlackNode<T> *x = (yLeft == &RedBlackNode<T>::sentinel)
? y->read_right(t) : yLeft;
RedBlackNode<T> *yParent = y->read_parent(t);
@@ -683,7 +683,7 @@
RedBlackNode<T> &writeY = t.write(*y);
- if (y != z)
+ if (y != z)
{
RedBlackNode<T> const *readZ = &t.read(*z);
RedBlackNode<T> const *zLeft = readZ->left();
@@ -696,23 +696,23 @@
zLeft->parent(t) = y;
zRight->parent(t) = y;
-
- if (z == zParent->read_left(t)) zParent->left(t) = y;
+
+ if (z == zParent->read_left(t)) zParent->left(t) = y;
else zParent->right(t) = y;
- if (eBlack == writeY.color())
+ if (eBlack == writeY.color())
{
writeY.color() = readZ->color();
internal_remove_help(x, t);
- }
+ }
else
{
- writeY.color() = readZ->color();
+ writeY.color() = readZ->color();
}
t.delete_memory(*z);
}
- else
+ else
{
if (eBlack == writeY.color()) internal_remove_help(x, t);
t.delete_memory(*y);
@@ -766,16 +766,16 @@
///////////////////////////////////////////////////////////////////////////////
template <typename T>
-void RedBlackTree<T>::internal_print(int const &i, std::string const &outputStr,
+void RedBlackTree<T>::internal_print(int const &i, std::string const &outputStr,
RedBlackNode<T> *cur, std::ofstream &o)
{
using namespace std;
using namespace nRedBlackTree;
if (&RedBlackNode<T>::sentinel == cur) return;
- else
+ else
{
- o << "[ " << outputStr << " - " << colorStrings[cur->color()] << i
+ o << "[ " << outputStr << " - " << colorStrings[cur->color()] << i
<< " ]: " << cur->value() << endl;
}
Modified: sandbox/stm/branches/vbe/libs/stm/test/transferFun.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/transferFun.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/transferFun.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
@@ -40,7 +40,7 @@
{
public:
- TransferFunction(eTransferFunction const &fun, double inputVal) :
+ TransferFunction(eTransferFunction const &fun, double inputVal) :
fun_(fun), input_(inputVal), output_(0) {}
TransferFunction() : fun_(eNoTransferFunction), input_(0), output_(0) {}
@@ -62,15 +62,15 @@
{ return !this->operator==(rhs); }
bool operator<(TransferFunction const & rhs) const
- {
- if (fun_ < rhs.fun_) return true;
+ {
+ if (fun_ < rhs.fun_) return true;
else if (input_ < rhs.input_) return true;
else return false;
}
bool operator>(TransferFunction const & rhs) const
- {
- if (fun_ > rhs.fun_) return true;
+ {
+ if (fun_ > rhs.fun_) return true;
else if (input_ > rhs.input_) return true;
else return false;
}
Modified: sandbox/stm/branches/vbe/libs/stm/test/txLinearLock.cpp
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/txLinearLock.cpp (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/txLinearLock.cpp 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,17 +1,17 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
//
//////////////////////////////////////////////////////////////////////////////
-/* The DRACO Research Group (rogue.colorado.edu/draco) */
+/* The DRACO Research Group (rogue.colorado.edu/draco) */
/*****************************************************************************\
*
* Copyright Notices/Identification of Licensor(s) of
@@ -152,7 +152,7 @@
//--------------------------------------------------------------------------
// Reset barrier variables before creating any threads. Otherwise, it is
- // possible for the first thread
+ // possible for the first thread
//--------------------------------------------------------------------------
threadsFinished.value() = 0;
threadsStarted.value() = 0;
Modified: sandbox/stm/branches/vbe/libs/stm/test/txLinearLock.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/txLinearLock.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/txLinearLock.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
Modified: sandbox/stm/branches/vbe/libs/stm/test/usingLockTx.cpp
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/usingLockTx.cpp (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/usingLockTx.cpp 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,17 +1,17 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
//
//////////////////////////////////////////////////////////////////////////////
-/* The DRACO Research Group (rogue.colorado.edu/draco) */
+/* The DRACO Research Group (rogue.colorado.edu/draco) */
/*****************************************************************************\
*
* Copyright Notices/Identification of Licensor(s) of
@@ -319,7 +319,7 @@
//t.force_to_abort();
--t.w(x);
}
- before_retry
+ before_retry
{
cout << "TestNested2 caught exception" << endl;
}
@@ -333,8 +333,8 @@
{
++t.w(x);
TestNested2();
- }
- before_retry
+ }
+ before_retry
{
cout << "TestNested caught exception" << endl;
}
@@ -450,7 +450,7 @@
//--------------------------------------------------------------------------
// Reset barrier variables before creating any threads. Otherwise, it is
- // possible for the first thread
+ // possible for the first thread
//--------------------------------------------------------------------------
threadsFinished.value() = 0;
threadsStarted.value() = 0;
@@ -501,7 +501,7 @@
cout << " TX_SEC: " << transaction::bookkeeping().commits() / (totalAverageRunTime * runVector.size()) << endl;
cout << transaction::bookkeeping() << endl;
- if ((kInsertSameValues && totalInserts != kMaxInserts) ||
+ if ((kInsertSameValues && totalInserts != kMaxInserts) ||
(!kInsertSameValues && totalInserts != kMaxInserts * kMaxThreads))
{
std::cout << std::endl << std::endl << "###########################################################";
Modified: sandbox/stm/branches/vbe/libs/stm/test/usingLockTx.h
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/usingLockTx.h (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/usingLockTx.h 2009-09-18 12:57:57 EDT (Fri, 18 Sep 2009)
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Justin E. Gottchlich 2009.
-// (C) Copyright Vicente J. Botet Escriba 2009.
+// (C) Copyright Justin E. Gottchlich 2009.
+// (C) Copyright Vicente J. Botet Escriba 2009.
// Distributed under the Boost
-// Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/synchro for documentation.
@@ -68,7 +68,7 @@
return *this;
}
- list_node(list_node &&rhs) : next_(rhs.next_), value_(boost::stm::draco_move(rhs.value_))
+ list_node(list_node &&rhs) : next_(rhs.next_), value_(boost::stm::draco_move(rhs.value_))
{ rhs.next_ = 0; }
list_node& operator=(list_node&& rhs)
@@ -93,11 +93,11 @@
public:
LinkedList()
- {
-#ifndef BOOST_STM_USE_BOOST_MUTEX
+ {
+#ifndef BOOST_STM_USE_BOOST_MUTEX
pthread_mutex_init (&list_lock_, NULL);
-#endif
- head_.value() = T();
+#endif
+ head_.value() = T();
}
~LinkedList() { quick_clear(); }
@@ -112,7 +112,7 @@
bool succeeded1 = true, succeeded2 = true;
transaction_state state = e_no_state;
- do
+ do
{
try
{
@@ -123,7 +123,7 @@
}
catch (boost::stm::aborted_transaction_exception&) {}
- if (!succeeded1 || !succeeded2)
+ if (!succeeded1 || !succeeded2)
{
return false; // auto abort of t
}
@@ -170,7 +170,7 @@
}
return internal_lookup(val, t);
- }
+ }
catch_before_retry(except) {}
}
@@ -189,9 +189,9 @@
list_node<T> *cur = headP->next();
T val = rhs.value();
- while (true)
+ while (true)
{
- if (cur->value() == val)
+ if (cur->value() == val)
{
return false;
}
@@ -240,7 +240,7 @@
LATM::list_node<T> *cur = &head_;
- for (; ; cur = cur->next() )
+ for (; ; cur = cur->next() )
{
if (cur->value() == val)
{
@@ -345,7 +345,7 @@
list_node<T> const *cur = t.read_ptr(headP->next());
T val = rhs.value();
- while (true)
+ while (true)
{
if (cur->value() == val) return false;
else if (cur->value() > val || !cur->next()) break;
@@ -392,7 +392,7 @@
{
list_node<T> *cur = &t.read(head_);
- for (; true ; cur = t.read(*cur).next() )
+ for (; true ; cur = t.read(*cur).next() )
{
list_node<T> *trueCur = &t.read(*cur);
@@ -449,7 +449,7 @@
list_node<T> const *cur = t.read_ptr(headP->next());
T val = rhs.value();
- while (true)
+ while (true)
{
if (cur->value() == val) return false;
else if (cur->value() > val || !cur->next()) break;
@@ -498,7 +498,7 @@
list_node<T> const *prev = &t.read(head_);
- for (list_node<T> const *cur = prev; cur != NULL;
+ for (list_node<T> const *cur = prev; cur != NULL;
prev = cur, cur = t.read(*cur).next())
{
if (cur->value() == rhs.value())
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk