Index: doc/theses/colby_parsons_MMAth/benchmarks/mutex_stmt/cfa/order-basic.cfa
===================================================================
--- doc/theses/colby_parsons_MMAth/benchmarks/mutex_stmt/cfa/order-basic.cfa	(revision 6bc70a38cc12045fb3ea673b5e097d6fd38465fa)
+++ doc/theses/colby_parsons_MMAth/benchmarks/mutex_stmt/cfa/order-basic.cfa	(revision 6bc70a38cc12045fb3ea673b5e097d6fd38465fa)
@@ -0,0 +1,48 @@
+#include <locks.hfa>
+#include <mutex_stmt.hfa>
+#include <stdio.h>
+
+#include "../bench.h"
+
+test_spinlock LOCKS;
+
+inline void lock( test_spinlock &a, test_spinlock &b ) {
+    lock(a); lock(b);
+}
+inline void lock( test_spinlock &a, test_spinlock &b, test_spinlock &c, test_spinlock &d ) {
+    lock(a); lock(b); lock(c); lock(d);
+}
+inline void lock( test_spinlock &a, test_spinlock &b, test_spinlock &c, test_spinlock &d, test_spinlock &e, test_spinlock &f, test_spinlock &g, test_spinlock &h ) {
+    lock(a); lock(b); lock(c); lock(d); lock(e); lock(f); lock(g); lock(h);
+}
+inline void unlock( test_spinlock &a, test_spinlock &b ) {
+    unlock(a); unlock(b);
+}
+inline void unlock( test_spinlock &a, test_spinlock &b, test_spinlock &c, test_spinlock &d ) {
+    unlock(a); unlock(b); unlock(c); unlock(d);
+}
+inline void unlock( test_spinlock &a, test_spinlock &b, test_spinlock &c, test_spinlock &d, test_spinlock &e, test_spinlock &f, test_spinlock &g, test_spinlock &h ) {
+    unlock(a); unlock(b); unlock(c); unlock(d); unlock(e); unlock(f); unlock(g); unlock(h);
+}
+
+bool done = false;
+uint64_t total = 0;
+thread worker {};
+void main( worker & w ) {
+    BENCH( lock( LOCKS ); unlock( LOCKS );, total, done )
+}
+
+int main( int argc, char * argv[] ) {
+	BENCH_START()
+    processor p[threads]; // one extra for main thread
+    {
+        worker w[threads];
+        sleep( 10`s );
+        done = true;
+    }
+	printf( "%lu\n", total );
+}
+
+// Local Variables: //
+// tab-width: 4 //
+// End: //
Index: doc/theses/colby_parsons_MMAth/benchmarks/mutex_stmt/cpp/order-basic.cc
===================================================================
--- doc/theses/colby_parsons_MMAth/benchmarks/mutex_stmt/cpp/order-basic.cc	(revision 6bc70a38cc12045fb3ea673b5e097d6fd38465fa)
+++ doc/theses/colby_parsons_MMAth/benchmarks/mutex_stmt/cpp/order-basic.cc	(revision 6bc70a38cc12045fb3ea673b5e097d6fd38465fa)
@@ -0,0 +1,36 @@
+#include <cstdio>
+#include <mutex>
+#include <thread>
+#include <chrono>
+#include "../bench.h"
+#include "cppLock.hpp"
+
+cpp_test_spinlock LOCKS;
+
+bool done = false;
+uint64_t total = 0;
+void thread_main() {
+    BENCH( lock( LOCKS ); unlock( LOCKS );, total, done )
+}
+
+int main( int argc, char * argv[] ) {
+	BENCH_START()
+    std::thread myThreads[threads];
+
+    for (int i = 0; i < threads; i++) {
+        myThreads[i] = std::thread(thread_main); // move constructed
+    }
+
+    std::this_thread::sleep_for (std::chrono::seconds(10));
+    done = true;
+    
+    for (int i = 0; i < threads; i++) {
+        myThreads[i].join();
+    }
+
+	printf( "%lu\n", total );
+}
+
+// Local Variables: //
+// tab-width: 4 //
+// End: //
