Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r57020 - sandbox/stm/branches/vbe/libs/stm/test
From: vicente.botet_at_[hidden]
Date: 2009-10-20 14:05:02


Author: viboes
Date: 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
New Revision: 57020
URL: http://svn.boost.org/trac/boost/changeset/57020

Log:
TBoost.STM vbe: Splitting specific test

Added:
   sandbox/stm/branches/vbe/libs/stm/test/test_accounts_def_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_accounts_dir_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_default.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_hashmap_def_t2_i1000.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_hashmap_dir_t2_i1000.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_hashmap_w_locks_def_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_hashmap_w_locks_dir_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_ht_def_t2_i1000.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_ht_dir_t2_i1000.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_irrevocable_int_def_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_irrevocable_int_dir_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_isolated_composed_int_lock2_def_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_isolated_composed_int_lock2_dir_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_isolated_composed_int_lock_def_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_isolated_composed_int_lock_dir_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_isolated_int_def_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_isolated_int_dir_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_isolated_int_lock_def_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_isolated_int_lock_dir_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_linkedlist_def_t2_i1000.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_linkedlist_dir_t2_i1000.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_linkedlist_w_locks_def_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_linkedlist_w_locks_dir_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_list_hash_w_locks_def_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_list_hash_w_locks_dir_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_lit_def_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_lit_dir_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_ll_def_t2_i1000.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_ll_dir_t2_i1000.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_lot_def_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_lot_dir_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_nested_tx_def_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_nested_tx_dir_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_pointer_def_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_pointer_dir_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_rbtree_def_t2_i1000.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_rbtree_dir_t2_i1000.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_smart_def_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_smart_dir_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_tx_linear_lock_def_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_tx_linear_lock_dir_t2.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_using_linkedlist_def_t2_i1000.cpp (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/test/test_using_linkedlist_dir_t2_i1000.cpp (contents, props changed)
Text files modified:
   sandbox/stm/branches/vbe/libs/stm/test/Jamfile.v2 | 132 +++++++++++++++++++++++++++++++++++++--
   sandbox/stm/branches/vbe/libs/stm/test/main.h | 8 ++
   sandbox/stm/branches/vbe/libs/stm/test/stm.cpp | 41 ++++++-----
   sandbox/stm/branches/vbe/libs/stm/test/testHashMapAndLinkedListsWithLocks.cpp | 2
   sandbox/stm/branches/vbe/libs/stm/test/testHashMapWithLocks.h | 18 ++--
   5 files changed, 164 insertions(+), 37 deletions(-)

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-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -40,14 +40,132 @@
 # ;
 #}
 
+ static-lib all_my_tests
+ : 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
+ ;
 
     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 ]
- [ run ../example/bank.cpp ]
- #[ run ../example/list.cpp ]
- [ run ../example/counter.cpp ]
- [ run ../example/numeric.cpp ]
- [ run ../example/counter_ptr.cpp ]
- #[ run ../example/non_tx_counter.cpp ]
+ [ run test_default.cpp .//all_my_tests/<link>static ]
+
+ [ run test_accounts_dir_t2.cpp .//all_my_tests/<link>static ]
+ [ run test_accounts_def_t2.cpp .//all_my_tests/<link>static ]
+
+ [ run test_hashmap_dir_t2_i1000.cpp .//all_my_tests/<link>static ]
+ [ run test_hashmap_def_t2_i1000.cpp .//all_my_tests/<link>static ]
+
+ ########### livelock. killed after 3:00 25% CPU
+ #[ run test_ht_dir_t2_i1000.cpp .//all_my_tests/<link>static ]
+
+ ########### fails
+ # /bin/sh: line 4: 2944 Aborted (core dumped) "bin/test_ht_def_t2_i1000.test/gcc-3.4.4/debug/threading-multi/test_ht_def_t2_i1000.exe" > "bin/test_ht_def_t2_i1000.test/gcc-3.4.4/debug/threading-multi/test_ht_def_t2_i1000.output" 2>&1
+ # Rounding max threads to the next multiple of 4 (4).
+ # assertion "res==0" failed: file "../../../boost/synchro/pthread/mutex.hpp", line 40
+ [ run test_ht_def_t2_i1000.cpp .//all_my_tests/<link>static ]
+
+ [ run test_isolated_int_dir_t2.cpp .//all_my_tests/<link>static ]
+ [ run test_isolated_int_def_t2.cpp .//all_my_tests/<link>static ]
+
+ [ run test_linkedlist_dir_t2_i1000.cpp .//all_my_tests/<link>static ]
+ [ run test_linkedlist_def_t2_i1000.cpp .//all_my_tests/<link>static ]
+
+ [ run test_ll_dir_t2_i1000.cpp .//all_my_tests/<link>static ]
+ ########### fails
+ # assertion "res==0" failed: file "../../../boost/synchro/pthread/mutex.hpp", line 40
+ [ run test_ll_def_t2_i1000.cpp .//all_my_tests/<link>static ]
+
+ ########### fails with CHECK
+ #/bin/sh: line 4: 3764 Aborted (core dumped) "bin/test_tx_linear_lock_dir_t2.test/gcc-3.4.4/debug/threading-multi/test_tx_linear_lock_dir_t2.exe" > "bin/test_tx_linear_lock_dir_t2.test/gcc-3.4.4/debug/threading-multi/test_tx_linear_lock_dir_t2.output" 2>&1
+ #assertion "res==0" failed: file "../../../boost/synchro/pthread/mutex.hpp", line 40
+ ########### deadlock. without CHECK
+ #[ run test_tx_linear_lock_dir_t2.cpp .//all_my_tests/<link>static ]
+
+ ########### deadlock. killed after 0:26. 00% CPU
+ # assertion "res==0" failed: file "../../../boost/synchro/pthread/mutex.hpp", line 40
+ # 19469 [sig] test_tx_linear_lock_def_t2 3768 _cygtls::handle_exceptions: Error while dumping state (probably corrupted stack)
+ #[ run test_tx_linear_lock_def_t2.cpp .//all_my_tests/<link>static ]
+
+ [ run test_isolated_int_lock_dir_t2.cpp .//all_my_tests/<link>static ]
+
+ ########### deadlock. killed after 0:26. 00% CPU
+ #[ run test_isolated_int_lock_def_t2.cpp .//all_my_tests/<link>static ]
+
+ ########### deadlock. killed after 0:20. 00% CPU
+ #[ run test_isolated_composed_int_lock_dir_t2.cpp .//all_my_tests/<link>static ]
+
+ ########### fails
+ # /bin/sh: line 4: 3660 Segmentation fault (core dumped) "bin/test_isolated_composed_int_lock_def_t2.test/gcc-3.4.4/debug/threading-multi/test_isolated_composed_int_lock_def_t2.exe" > "bin/test_isolated_composed_int_lock_def_t2.test/gcc-3.4.4/debug/threading-multi/test_isolated_composed_int_lock_def_t2.output" 2>&1
+ # assertion "res==0" failed: file "../../../boost/synchro/pthread/mutex.hpp", line 40
+ #[ run test_isolated_composed_int_lock_def_t2.cpp .//all_my_tests/<link>static ]
+
+ ########### fails
+ # /bin/sh: line 4: 3172 Aborted (core dumped) "bin/test_isolated_composed_int_lock2_dir_t2.test/gcc-3.4.4/debug/threading-multi/test_isolated_composed_int_lock2_dir_t2.exe" > "bin/test_isolated_composed_int_lock2_dir_t2.test/gcc-3.4.4/debug/threading-multi/test_isolated_composed_int_lock2_dir_t2.output" 2>&1
+ #assertion "res==0" failed: file "../../../boost/synchro/pthread/mutex.hpp", line 40
+ # 11 [sig] test_isolated_composed_int_lock_def_t2 3660 _cygtls::handle_except ions: Error while dumping state (probably corrupted stack)
+ [ run test_isolated_composed_int_lock2_dir_t2.cpp .//all_my_tests/<link>static ]
+
+ ########### fails
+ # /bin/sh: line 4: 3172 Aborted (core dumped) "bin/test_isolated_composed_int_lock2_dir_t2.test/gcc-3.4.4/debug/threading-multi/test_isolated_composed_int_lock2_dir_t2.exe" > "bin/test_isolated_composed_int_lock2_dir_t2.test/gcc-3.4.4/debug/threading-multi/test_isolated_composed_int_lock2_dir_t2.output" 2>&1
+ # ====== BEGIN OUTPUT ======
+ # assertion "res==0" failed: file "../../../boost/synchro/pthread/mutex.hpp", line 40
+ #[ run test_isolated_composed_int_lock2_def_t2.cpp .//all_my_tests/<link>static ]
+
+ [ run test_irrevocable_int_dir_t2.cpp .//all_my_tests/<link>static ]
+ [ run test_irrevocable_int_def_t2.cpp .//all_my_tests/<link>static ]
+
+ ########### deadlock. killed after 0:20. 00% CPU
+ #[ run test_lot_dir_t2.cpp .//all_my_tests/<link>static ]
+ ########### deadlock. killed after 0:26. 00% CPU
+ #[ run test_lot_def_t2.cpp .//all_my_tests/<link>static ]
+
+ ########### deadlock. killed after 0:40. 00% CPU
+ #[ run test_lit_dir_t2.cpp .//all_my_tests/<link>static ]
+
+ ########### fails with CHECK
+ # /bin/sh: line 4: 4072 Aborted (core dumped) "bin/test_lit_def_t2.test/gcc-3.4.4/debug/threading-multi/test_lit_def_t2.exe" > "bin/test_lit_def_t2.test/gcc-3.4.4/debug/threading-multi/test_lit_def_t2.output" 2>&1
+ ########### deadlock sometimes without CHECK. killed after 0:40. 00% CPU
+ #[ run test_lit_def_t2.cpp .//all_my_tests/<link>static ]
+
+ ########### livelock. killed after 3:00. 50% CPU
+ #[ run test_nested_tx_dir_t2.cpp .//all_my_tests/<link>static ]
+ ########### livelock. killed after 3:50. 50% CPU
+ #[ run test_nested_tx_def_t2.cpp .//all_my_tests/<link>static ]
+
+ [ run test_rbtree_dir_t2_i1000.cpp .//all_my_tests/<link>static ]
+ [ run test_rbtree_def_t2_i1000.cpp .//all_my_tests/<link>static ]
+
+ [ run test_smart_dir_t2.cpp .//all_my_tests/<link>static ]
+ [ run test_smart_def_t2.cpp .//all_my_tests/<link>static ]
+
+ ########### fails
+ #/bin/sh: line 4: 408 Aborted (core dumped) "bin/test_using_linkedlist_dir_t2_i1000.test/gcc-3.4.4/debug/threading-multi/test_using_linkedlist_dir_t2_i1000.exe" > "bin/test_using_linkedlist_dir_t2_i1000.test/gcc-3.4.4/debug/threading-multi/test_using_linkedlist_dir_t2_i1000.output" 2>&1
+ [ run test_using_linkedlist_dir_t2_i1000.cpp .//all_my_tests/<link>static ]
+
+ ########### fails
+ # /bin/sh: line 4: 2376 Aborted (core dumped) "bin/test_using_linkedlist_def_t2_i1000.test/gcc-3.4.4/debug/threading-multi/test_using_linkedlist_def_t2_i1000.exe" > "bin/test_using_linkedlist_def_t2_i1000.test/gcc-3.4.4/debug/threading-multi/test_using_linkedlist_def_t2_i1000.output" 2>&1
+ [ run test_using_linkedlist_def_t2_i1000.cpp .//all_my_tests/<link>static ]
+
+
+ [ run test_hashmap_w_locks_dir_t2.cpp .//all_my_tests/<link>static ]
+
+ ########### fails
+ # assertion "res==0" failed: file "../../../boost/synchro/pthread/mutex.hpp", line 40
+ [ run test_hashmap_w_locks_def_t2.cpp .//all_my_tests/<link>static ]
+
+ [ run test_list_hash_w_locks_dir_t2.cpp .//all_my_tests/<link>static ]
+ ########### fails
+ # assertion "res==0" failed: file "../../../boost/synchro/pthread/mutex.hpp", line 40
+ [ run test_list_hash_w_locks_def_t2.cpp .//all_my_tests/<link>static ]
+
+ [ run ../example/bank.cpp ]
+
+ ########### fails
+ #[ run ../example/list.cpp ]
+
+ [ run ../example/counter.cpp ]
+ [ run ../example/numeric.cpp ]
+ [ run ../example/counter_ptr.cpp ]
+
+ ########### fails
+ #[ run ../example/non_tx_counter.cpp ]
     ;

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-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -36,13 +36,17 @@
 extern bool kDoLookup;
 extern bool kDoMove;
 extern bool kMoveSemantics;
-extern std::string bench;
 
 extern int kMaxThreads;
 extern int kMainThreadId;
 extern int kMaxArrSize;
 extern int kMaxArrIter;
 
+extern int kMaxIterations;
+extern std::string bench;
+extern std::string updateMethod;
+extern std::string latmType;
+
 ////////////////////////////////////////////////////////////////////////////
 //
 // global variables all of which are used in the main transaction iteration
@@ -64,4 +68,6 @@
 void finishThread();
 void logCommitsAndAborts(std::string const &typeOfRun);
 
+void set_default_environment();
+
 #endif // MAIN_H

Modified: sandbox/stm/branches/vbe/libs/stm/test/stm.cpp
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/stm.cpp (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/stm.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -32,7 +32,6 @@
 #include "smart.h"
 #include "pointer_test.h"
 #include "testatom.h"
-#if 0
 #include "testLinkedListWithLocks.h"
 #include "testHashMapAndLinkedListsWithLocks.h"
 #include "testHashMapWithLocks.h"
@@ -44,7 +43,6 @@
 #include "txLinearLock.h"
 #include "lotExample.h"
 #include "litExample.h"
-#endif
 
 using namespace boost; using namespace boost::stm; using namespace nMain; using namespace std;
 
@@ -76,6 +74,7 @@
 
 int kMaxThreads = 2;
 int kMainThreadId = kMaxThreads-1;
+std::string latmType;
 
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
@@ -111,8 +110,8 @@
    {
       std::string first = argv[i];
 
- if (first == "-def") transaction::do_deferred_updating();
- else if (first == "-dir") transaction::do_direct_updating();
+ if (first == "-def") updateMethod="deferred";
+ else if (first == "-dir") updateMethod="direct";
       else if (first == "-lookup") kDoLookup = true;
       else if (first == "-remove") kDoRemoval = true;
       else if (first == "-inserts")
@@ -122,7 +121,6 @@
       else if (first == "-threads")
       {
          kMaxThreads = atoi(argv[++i]);
- kMainThreadId = kMaxThreads-1;
       }
       else if (first == "-moveSemantics")
       {
@@ -140,17 +138,7 @@
       else if (first == "-latm")
       {
 #if PERFORMING_LATM
-
- std::string latmType = argv[++i];
- if (latmType == "full") transaction::do_full_lock_protection();
- else if (latmType == "tm") transaction::do_tm_lock_protection();
- else if (latmType == "tx") transaction::do_tx_lock_protection();
- else
- {
- cout << "invalid LATM protection type, exiting" << endl;
- cout << first << latmType << endl;
- exit(0);
- }
+ latmType = argv[++i];
 #endif
       }
       else
@@ -159,9 +147,25 @@
          exit(0);
       }
    }
+
+ kMainThreadId = kMaxThreads-1;
+ if (updateMethod=="deferred") transaction::do_deferred_updating();
+ else if (updateMethod== "direct") transaction::do_direct_updating();
+
+#if PERFORMING_LATM
+ if (latmType == "full") transaction::do_full_lock_protection();
+ else if (latmType == "tm") transaction::do_tm_lock_protection();
+ else if (latmType == "tx") transaction::do_tx_lock_protection();
+ else
+ {
+ cout << "invalid LATM protection type, " << latmType << ". Exiting" << endl;
+ exit(0);
+ }
+#endif
+
 }
 
-int test_bank();
+//int test_bank();
 
 //-----------------------------------------------------------------------------
 // main
@@ -170,6 +174,7 @@
 {
    transaction::enable_dynamic_priority_assignment();
 
+ set_default_environment();
    setupEnvironment(argc, argv);
 
    for (int i = 0; i < kMaxIterations; ++i)
@@ -184,7 +189,6 @@
       else if ("smart" == bench) test_smart();
       else if ("pointer" == bench) pointer_test();
       else if ("accounts" == bench) testAccounts();
-#if 0
       else if ("linkedlist_w_locks" == bench) TestLinkedListWithLocks();
       else if ("hashmap_w_locks" == bench) TestHashMapWithLocks();
       else if ("list_hash_w_locks" == bench) TestHashMapAndLinkedListWithLocks();
@@ -196,7 +200,6 @@
       else if ("tx_linear_lock" == bench) TestTxLinearLock();
       else if ("lot_example" == bench) TestLotExample();
       else if ("lit_example" == bench) TestLitExample();
-#endif
       else { usage(); return 0; }
    }
 

Modified: sandbox/stm/branches/vbe/libs/stm/test/testHashMapAndLinkedListsWithLocks.cpp
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/testHashMapAndLinkedListsWithLocks.cpp (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/testHashMapAndLinkedListsWithLocks.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -429,7 +429,7 @@
 
    if (transaction::doing_tm_lock_protection())
    {
- for (int k = 1; k < kBuckets; ++k)
+ for (int k = 1; k < kBuckets2; ++k)
       {
          transaction::tm_lock_conflict(globalHashMap->get_hash_lock(k));
       }

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-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -25,7 +25,7 @@
 {
    namespace nHashMap
    {
- int const kBuckets = 256;
+ int const kBuckets2 = 256;
    }
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -36,33 +36,33 @@
 
    bool lock_lookup(T &val)
    {
- return buckets_[val % nHashMap::kBuckets].lock_lookup(val);
+ return buckets_[val % nHashMap::kBuckets2].lock_lookup(val);
    }
 
    bool lock_insert(list_node<T> &element)
    {
- return buckets_[element.value() % nHashMap::kBuckets].lock_insert(element);
+ return buckets_[element.value() % nHashMap::kBuckets2].lock_insert(element);
    }
 
    bool lookup(T &val)
    {
- return buckets_[val % nHashMap::kBuckets].lookup(val);
+ return buckets_[val % nHashMap::kBuckets2].lookup(val);
    }
 
    bool insert(list_node<T> &element)
    {
- return buckets_[element.value() % nHashMap::kBuckets].insert(element);
+ return buckets_[element.value() % nHashMap::kBuckets2].insert(element);
    }
 
    bool remove(list_node<T> &v)
    {
- return buckets_[v.value() % nHashMap::kBuckets].remove(v);
+ return buckets_[v.value() % nHashMap::kBuckets2].remove(v);
    }
 
    size_t walk_size()
    {
       size_t count = 0;
- for (int i = 0; i < nHashMap::kBuckets; ++i)
+ for (int i = 0; i < nHashMap::kBuckets2; ++i)
       {
          count += buckets_[i].walk_size();
       }
@@ -73,7 +73,7 @@
    ////////////////////////////////////////////////////////////////////////////
    void outputList(std::ofstream &o)
    {
- for (int i = 0; i < nHashMap::kBuckets; ++i)
+ for (int i = 0; i < nHashMap::kBuckets2; ++i)
       {
          buckets_[i].outputList(o);
       }
@@ -82,7 +82,7 @@
    Mutex* get_hash_lock(int val) { return buckets_[val].get_list_lock(); }
 
 private:
- LATM::LinkedList<T> buckets_[nHashMap::kBuckets];
+ LATM::LinkedList<T> buckets_[nHashMap::kBuckets2];
 };
 
 } // namespace LATM

Added: sandbox/stm/branches/vbe/libs/stm/test/test_accounts_def_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_accounts_def_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "accounts";
+ updateMethod = "deferred";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_accounts_dir_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_accounts_dir_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "accounts";
+ updateMethod = "direct";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_default.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_default.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "rbtree";
+ updateMethod = "deferred";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_hashmap_def_t2_i1000.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_hashmap_def_t2_i1000.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,57 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kInsertSameValues = false;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kDoMove = false;
+ kMoveSemantics = false;
+
+ bench = "hashmap";
+ updateMethod = "deferred";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_hashmap_dir_t2_i1000.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_hashmap_dir_t2_i1000.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,57 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kInsertSameValues = false;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kDoMove = false;
+ kMoveSemantics = false;
+
+ bench = "hashmap";
+ updateMethod = "direct";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_hashmap_w_locks_def_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_hashmap_w_locks_def_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "hashmap_w_locks";
+ updateMethod = "deferred";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_hashmap_w_locks_dir_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_hashmap_w_locks_dir_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "hashmap_w_locks";
+ updateMethod = "direct";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_ht_def_t2_i1000.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_ht_def_t2_i1000.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,57 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kInsertSameValues = false;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kDoMove = false;
+ kMoveSemantics = false;
+
+ bench = "ht";
+ updateMethod = "deferred";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_ht_dir_t2_i1000.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_ht_dir_t2_i1000.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,57 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kInsertSameValues = false;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kDoMove = false;
+ kMoveSemantics = false;
+
+ bench = "ht";
+ updateMethod = "direct";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_irrevocable_int_def_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_irrevocable_int_def_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "irrevocable_int";
+ updateMethod = "deferred";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_irrevocable_int_dir_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_irrevocable_int_dir_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "irrevocable_int";
+ updateMethod = "direct";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_isolated_composed_int_lock2_def_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_isolated_composed_int_lock2_def_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "isolated_composed_int_lock2";
+ updateMethod = "deferred";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_isolated_composed_int_lock2_dir_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_isolated_composed_int_lock2_dir_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "isolated_composed_int_lock2";
+ updateMethod = "direct";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_isolated_composed_int_lock_def_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_isolated_composed_int_lock_def_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "isolated_composed_int_lock";
+ updateMethod = "deferred";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_isolated_composed_int_lock_dir_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_isolated_composed_int_lock_dir_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "isolated_composed_int_lock";
+ updateMethod = "direct";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_isolated_int_def_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_isolated_int_def_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,57 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kInsertSameValues = false;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kDoMove = false;
+ kMoveSemantics = false;
+
+ bench = "isolated_int";
+ updateMethod = "deferred";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_isolated_int_dir_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_isolated_int_dir_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,57 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kInsertSameValues = false;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kDoMove = false;
+ kMoveSemantics = false;
+
+ bench = "isolated_int";
+ updateMethod = "direct";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_isolated_int_lock_def_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_isolated_int_lock_def_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "isolated_int_lock";
+ updateMethod = "deferred";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_isolated_int_lock_dir_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_isolated_int_lock_dir_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "isolated_int_lock";
+ updateMethod = "direct";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_linkedlist_def_t2_i1000.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_linkedlist_def_t2_i1000.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,57 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kInsertSameValues = false;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kDoMove = false;
+ kMoveSemantics = false;
+
+ bench = "linkedlist";
+ updateMethod = "deferred";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_linkedlist_dir_t2_i1000.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_linkedlist_dir_t2_i1000.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,58 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kInsertSameValues = false;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kDoMove = false;
+ kMoveSemantics = false;
+
+ bench = "linkedlist";
+ updateMethod = "direct";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_linkedlist_w_locks_def_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_linkedlist_w_locks_def_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "linkedlist_w_locks";
+ updateMethod = "deferred";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_linkedlist_w_locks_dir_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_linkedlist_w_locks_dir_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "linkedlist_w_locks";
+ updateMethod = "direct";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_list_hash_w_locks_def_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_list_hash_w_locks_def_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "list_hash_w_locks";
+ updateMethod = "deferred";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_list_hash_w_locks_dir_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_list_hash_w_locks_dir_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "list_hash_w_locks";
+ updateMethod = "direct";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_lit_def_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_lit_def_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "lit_example";
+ updateMethod = "deferred";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_lit_dir_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_lit_dir_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "lit_example";
+ updateMethod = "direct";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_ll_def_t2_i1000.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_ll_def_t2_i1000.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,57 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kInsertSameValues = false;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kDoMove = false;
+ kMoveSemantics = false;
+
+ bench = "ll";
+ updateMethod = "deferred";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_ll_dir_t2_i1000.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_ll_dir_t2_i1000.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,57 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kInsertSameValues = false;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kDoMove = false;
+ kMoveSemantics = false;
+
+ bench = "ll";
+ updateMethod = "direct";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_lot_def_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_lot_def_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "lot_example";
+ updateMethod = "deferred";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_lot_dir_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_lot_dir_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "lot_example";
+ updateMethod = "direct";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_nested_tx_def_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_nested_tx_def_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,57 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kInsertSameValues = false;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kDoMove = false;
+ kMoveSemantics = false;
+
+ bench = "nested_tx";
+ updateMethod = "deferred";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_nested_tx_dir_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_nested_tx_dir_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,57 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kInsertSameValues = false;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kDoMove = false;
+ kMoveSemantics = false;
+
+ bench = "nested_tx";
+ updateMethod = "direct";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_pointer_def_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_pointer_def_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "pointer";
+ updateMethod = "deferred";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_pointer_dir_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_pointer_dir_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "pointer";
+ updateMethod = "direct";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_rbtree_def_t2_i1000.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_rbtree_def_t2_i1000.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "rbtree";
+ updateMethod = "deferred";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_rbtree_dir_t2_i1000.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_rbtree_dir_t2_i1000.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "rbtree";
+ updateMethod = "direct";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_smart_def_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_smart_def_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "smart";
+ updateMethod = "deferred";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_smart_dir_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_smart_dir_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "smart";
+ updateMethod = "direct";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_tx_linear_lock_def_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_tx_linear_lock_def_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "tx_linear_lock";
+ updateMethod = "deferred";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_tx_linear_lock_dir_t2.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_tx_linear_lock_dir_t2.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kMoveSemantics = false;
+
+ bench = "tx_linear_lock";
+ updateMethod = "direct";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_using_linkedlist_def_t2_i1000.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_using_linkedlist_def_t2_i1000.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,57 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kInsertSameValues = false;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kDoMove = false;
+ kMoveSemantics = false;
+
+ bench = "using_linkedlist";
+ updateMethod = "deferred";
+ kMaxThreads = 2;
+ latmType="full";
+}
+

Added: sandbox/stm/branches/vbe/libs/stm/test/test_using_linkedlist_dir_t2_i1000.cpp
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/test/test_using_linkedlist_dir_t2_i1000.cpp 2009-10-20 14:04:57 EDT (Tue, 20 Oct 2009)
@@ -0,0 +1,57 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (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
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/stm for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "main.h"
+
+/*
+ cout << "DracoSTM usage:" << endl << endl;
+ cout << " -bench <name> - 'rbtree', 'linkedlist', 'hashmap' (or 'hashtable')" << endl;
+ cout << " 'irrevocable_int'" << endl;
+ cout << " 'isolated_int'" << endl;
+ cout << " 'isolated_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock'" << endl;
+ cout << " 'isolated_composed_int_lock2'" << endl;
+ cout << " 'linkedlist_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'hashmap_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'list_hash_w_locks' (uses transactions and locks)" << endl;
+ cout << " 'tx_linear_lock' (uses transactions and multiple linearly ordered locks)" << endl;
+ cout << " 'lot_example' (for paper)" << endl;
+ cout << " -def - do deferred updating transactions" << endl;
+ cout << " -dir - do direct updating transactions" << endl;
+ cout << " -latm <name> - 'full', 'tm', 'tx'" << endl;
+ cout << " -h - shows this help (usage) output" << endl;
+ cout << " -inserts <#> - sets the # of inserts per container per thread" << endl;
+ cout << " -threads <#> - sets the # of threads" << endl;
+ cout << " -lookup - performs individual lookup after inserts" << endl;
+ cout << " -remove - performs individual remove after inserts/lookup" << endl;
+*/
+////////////////////////////////////////////////////////////////////////////
+
+void set_default_environment() {
+
+ kMaxArrSize = 10;
+ kMaxArrIter = 10;
+ kMaxIterations = 1;
+ kMaxInserts = 100;
+ kInsertSameValues = false;
+ kDoRemoval = false;
+ kDoLookup = false;
+ kDoMove = false;
+ kMoveSemantics = false;
+
+ bench = "using_linkedlist";
+ updateMethod = "direct";
+ kMaxThreads = 2;
+ latmType="full";
+}
+


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