summaryrefslogtreecommitdiff
path: root/codesize.c
diff options
context:
space:
mode:
authorManuel Traut <manut@mecka.net>2012-05-30 04:03:58 +0200
committerManuel Traut <manut@mecka.net>2012-05-30 04:03:58 +0200
commit81c0979aa1bd53eec7f930ccbacb4a9cb2eee20b (patch)
tree34973cd9145ebe076e2bd4a941d19f73c76c7756 /codesize.c
pthread_locking vs. transactional memory testsuiteHEADmaster
initial import includes - Makefile - codesize.c; a little single threaded test to check compiler support - asm_diff.sh shows difference of assembler code - runtime.sh runs both versions and prints out runtime of the tests Signed-off-by: Manuel Traut <manut@mecka.net>
Diffstat (limited to 'codesize.c')
-rw-r--r--codesize.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/codesize.c b/codesize.c
new file mode 100644
index 0000000..960757c
--- /dev/null
+++ b/codesize.c
@@ -0,0 +1,23 @@
+#ifdef _TM
+#define LOCK __transaction_atomic {
+#define UNLOCK }
+#endif
+
+#ifdef _LOCK
+#include <pthread.h>
+static pthread_mutex_t l = PTHREAD_MUTEX_INITIALIZER;
+#define LOCK pthread_mutex_lock (&l);
+#define UNLOCK pthread_mutex_unlock (&l);
+#endif
+
+int main (int argc, char **argv)
+{
+ int a = 0, b = 1, c = 2;
+
+ LOCK
+ if (a < b)
+ c++;
+ UNLOCK
+
+ return 0;
+}