SHARED := -Wl,-undefined,dynamic_lookup -dynamiclib
endif
-TESTS_DIR := test
-
MARKDOWN := doc/Markdown/Markdown.pl
-all: $(LIB_SO) tests README.html
+all: $(LIB_SO) README.html
debug: CPPFLAGS += -DCONFIG_DEBUG
debug: all
PHONY += clean
clean:
rm -f *.o *.so .*.d *.pdf *.dot
- $(MAKE) -C $(TESTS_DIR) clean
PHONY += mrclean
mrclean: clean
tags:
ctags -R
-PHONY += tests
-tests: $(LIB_SO)
-# $(MAKE) -C $(TESTS_DIR)
-
BENCH_DIR := benchmarks
PHONY += benchmarks
/** The scheduler to use: tracks the running/ready Threads */
Scheduler * const scheduler;
- action_list_t action_trace;
SnapVector<Thread *> thread_map;
SnapVector<Thread *> pthread_map;
uint32_t pthread_counter;
+ action_list_t action_trace;
+
/** Per-object list of actions. Maps an object (i.e., memory location)
* to a trace of all actions performed on the object.
* Used only for SC fences, unlocks, & wait.
* to a trace of all actions performed on the object. */
HashTable<const void *, action_list_t *, uintptr_t, 2> condvar_waiters_map;
+ /** Per-object list of actions that each thread performed. */
HashTable<const void *, SnapVector<action_list_t> *, uintptr_t, 2> obj_thrd_map;
+ /** Per-object list of writes that each thread performed. */
HashTable<const void *, SnapVector<action_list_t> *, uintptr_t, 2> obj_wr_thrd_map;
HashTable<const void *, ModelAction *, uintptr_t, 4> obj_last_sc_map;