#ifdef THREADS
int CALL01(___Object______MonitorEnter____, struct ___Object___ * ___this___) {
+#ifndef NOLOCK
pthread_t self=pthread_self();
if (self==VAR(___this___)->tid) {
VAR(___this___)->lockcount++;
}
}
}
+#endif
}
int CALL01(___Object______MonitorExit____, struct ___Object___ * ___this___) {
+#ifndef NOLOCK
pthread_t self=pthread_self();
if (self==VAR(___this___)->tid) {
VAR(___this___)->lockcount--;
exit(-1);
#endif
}
+#endif
}
#endif
echo -squeue use single queue
echo -corepin use core pinning
echo -nostalltr turn off RCR traversers that only handle conflicts between task and stallsite
+echo -nolock turn off synchronization lock
echo
echo Disjoint Reachability Analysis options
echo -disjoint enable analysis
then
EXTRAOPTIONS="$EXTRAOPTIONS -DDEBUG_DEQUE"
+elif [[ $1 = '-nolock' ]]
+then
+EXTRAOPTIONS="$EXTRAOPTIONS -DNOLOCK"
+
elif [[ $1 = '-coreprof' ]]
then
COREPROF=true