run ooojava and rcrpointer that print out effects and annotate them with the source...
[IRC.git] / Robust / src / Benchmarks / oooJava / master-makefile
index 9a75c5aa52975a94d5df14c49b220294bc893d3d..456c855e041253ce3e1db73cc7351459a3b55f03 100644 (file)
@@ -18,8 +18,8 @@ USECOREPROF= #-coreprof $(COREPROFOVERFLOW) \
        -coreprof-enable cpe_main \
        -coreprof-enable cpe_taskexecute \
        -coreprof-enable cpe_taskdispatch \
-       -coreprof-enable cpe_runmalloc \
        -coreprof-enable cpe_rcr_traverse
+#      -coreprof-enable cpe_runmalloc \
 #      -coreprof-enable cpe_taskretire \
        -coreprof-enable cpe_workschedsubmit \
        -coreprof-enable cpe_workschedgrab \
@@ -32,34 +32,99 @@ USECOREPROF= #-coreprof $(COREPROFOVERFLOW) \
        -coreprof-enable cpe_taskstallmem
 
 
-USEOOO= -ooojava 24 2 -ooodebug -squeue #-ooodebug-disable-task-mem-pool
-USERCR= -ooojava 23 2 -rcr -ooodebug -squeue
-BSFLAGS= -64bit -mainclass $(PROGRAM)  -heapsize-mb 8000 -garbagestats -joptimize -noloop -optimize -debug #-nooptimize #src-after-pp #-debug
+USEOOO= -ooojava $(NUM_OOO_WORKERS) 2 -squeue #-ooodebug-disable-task-mem-pool
+USERCR= -ooojava $(NUM_RCR_WORKERS) 2 -rcr -squeue -ooodebug
+OOODEBUG= -ooodebug -printlinenum
+RCRDEBUG= -rcr_debug -printlinenum
+RCRDEBUGV= -rcr_debug_verbose -printlinenum
+BSFLAGS= -64bit -mainclass $(PROGRAM)  -heapsize-mb 8000 -garbagestats -joptimize -noloop -optimize -nolock -debug #-nooptimize #src-after-pp
+
 
 DRELEASEMODE=-disjoint-release-mode -disjoint-dvisit-stack-callees-on-top -disjoint-alias-file aliases.txt tabbed
 DISJOINT= -disjoint -disjoint-k 1 -enable-assertions $(DRELEASEMODE) #-disjoint-desire-determinism
 
+
+#####################################
+#
+#  There are a lot of options for
+#  output and debugging disjoint
+#  reachability analysis:
+#
+#####################################
+
+# -disjoint-write-dots final (get the final reach graph for each method, or use "all" instead of "final" to get every updated result)
+# -disjoint-write-ihms       (get the initial heap model (IHM) for callees to see what the analysis started with, and which call sites contributed)
+# -disjoint-debug-scheduling (use to get messages about WHY a method is rescheduled for analysis)
+
+# to use -disjoint-debug-callsite flag, arguments are:
+# 1. callee symbol, ex: MainClass.foo() has symbol "foo"
+# 2. caller symbol
+# 3. numCallSiteVisitsToSkip, the analysis sometimes revisits a call site many, MANY times, but usually use 1
+# 4. numCallSiteVisitsToCapture, if you choose a really high number you'll get every visit, could be a lot
+# 5. true/false, whether to immediately halt compiler after number of visits specified have been captured
+# EX:
+# -disjoint-debug-callsite foo main 1 1 true
+
+# to use -disjoint-debug-snap-method, arguments are:
+# 1. method symbol to take program point snapshots of
+# 2. numVisitsToSkip, sometimes the early visits tell you nothing, context is too empty
+# 3. numVisitsToCapture
+# 4. true/false, halt compiler after number of specified visits are captured
+# EX: (skip first 10 visits, capture the next 3, then halt)
+# -disjoint-debug-snap-method Remove 10 3 true
+
+DISJOINTDEBUG= -justanalyze -disjoint -disjoint-k 1 -enable-assertions \
+       -disjoint-debug-callsite createNode run 100 50 false
+#      -disjoint-desire-determinism
+#      -disjoint-debug-snap-method ComputeCenterOfMass 6 2 true
+#      -disjoint-debug-scheduling
+#      -flatirusermethods
+
+
+
+
 default:
-       $(BUILDSCRIPT) -nojava $(BSFLAGS) $(USECOREPROF) $(USEOOO) $(DISJOINT) -o $(PROGRAM)p -builddir par  $(SOURCE_FILES)
+       $(BUILDSCRIPT) -nojava $(BMFLAGS) $(BSFLAGS) $(USECOREPROF) $(USEOOO) $(DISJOINT) -o $(PROGRAM)p -builddir par  $(SOURCE_FILES)
 
-rcr-remake-c:
-       $(BUILDSCRIPT) -nojava $(BSFLAGS) $(USECOREPROF) $(USERCR) $(DISJOINT) -o $(PROGRAM)r -builddir rcr  $(SOURCE_FILES) 
+single-remake-c:
+       $(BUILDSCRIPT) -nojava -thread $(BMFLAGS) $(BSFLAGS) $(USECOREPROF) -o $(PROGRAM)s -builddir sing $(SOURCE_FILES) 
 
+rcr-remake-c:
+       $(BUILDSCRIPT) -nojava $(BMFLAGS) $(BSFLAGS) $(USECOREPROF) $(USERCR) $(DISJOINT) -o $(PROGRAM)r -builddir rcr  $(SOURCE_FILES) 
 
 single: $(PROGRAM)s.bin
 
 $(PROGRAM)s.bin: $(SOURCE_FILES) ../master-makefile
-       $(BUILDSCRIPT) -thread $(BSFLAGS) $(USECOREPROF)                       -o $(PROGRAM)s -builddir sing $(SOURCE_FILES) 
+       $(BUILDSCRIPT) -thread $(BMFLAGS) $(BSFLAGS) $(USECOREPROF)                       -o $(PROGRAM)s -builddir sing $(SOURCE_FILES) 
 
 ooo: $(PROGRAM)p.bin
 
 $(PROGRAM)p.bin: $(SOURCE_FILES) ../master-makefile
-       $(BUILDSCRIPT)         $(BSFLAGS) $(USECOREPROF) $(USEOOO) $(DISJOINT) -o $(PROGRAM)p -builddir par  $(SOURCE_FILES) 
+       $(BUILDSCRIPT) $(BMFLAGS) $(BSFLAGS) $(USECOREPROF) $(USEOOO) $(DISJOINT) -o $(PROGRAM)p -builddir par  $(SOURCE_FILES) 
+
+ooo-debug: $(SOURCE_FILES) ../master-makefile
+       $(BUILDSCRIPT) $(BMFLAGS) $(BSFLAGS) $(USECOREPROF) $(USEOOO) $(OOODEBUG) $(DISJOINT) -o $(PROGRAM)p -builddir par  $(SOURCE_FILES) 
+
+
+disjoint-debug: $(SOURCE_FILES) ../master-makefile
+       $(BUILDSCRIPT) $(BMFLAGS) $(BSFLAGS) $(USECOREPROF) $(USEOOO) $(DISJOINTDEBUG) -o $(PROGRAM)p -builddir par  $(SOURCE_FILES) 
+
+rcr: $(SOURCE_FILES) ../master-makefile
+       $(BUILDSCRIPT) $(BMFLAGS) $(BSFLAGS) $(USECOREPROF) $(USERCR) $(DISJOINT) -o $(PROGRAM)r -builddir rcr  $(SOURCE_FILES) 
+
+
+rcrpointer: $(SOURCE_FILES) ../master-makefile
+       $(BUILDSCRIPT) $(BMFLAGS) $(BSFLAGS) $(USECOREPROF) $(USERCR) -pointer $(DISJOINT) -o $(PROGRAM)r -builddir rcr  $(SOURCE_FILES) 
+
+rcr-debug: $(SOURCE_FILES) ../master-makefile
+       $(BUILDSCRIPT) $(BMFLAGS) $(BSFLAGS) $(USECOREPROF) $(USERCR) $(OOODEBUG) $(RCRDEBUG) $(DISJOINT) -o $(PROGRAM)r -builddir rcr  $(SOURCE_FILES) 
+
+rcrpointer-debug: $(SOURCE_FILES) ../master-makefile
+       $(BUILDSCRIPT) $(BMFLAGS) $(BSFLAGS) $(USECOREPROF) $(USERCR) -pointer $(OOODEBUG) $(RCRDEBUG) $(DISJOINT) -o $(PROGRAM)r -builddir rcr  $(SOURCE_FILES) 
 
-rcr: $(PROGRAM)r.bin
 
-$(PROGRAM)r.bin: $(SOURCE_FILES) ../master-makefile
-       $(BUILDSCRIPT)         $(BSFLAGS) $(USECOREPROF) $(USERCR) $(DISJOINT) -o $(PROGRAM)r -builddir rcr  $(SOURCE_FILES) 
+rcr-debug-v: $(SOURCE_FILES) ../master-makefile
+       $(BUILDSCRIPT) $(BMFLAGS) $(BSFLAGS) $(USECOREPROF) $(USERCR) $(RCRDEBUGV) $(DISJOINT) -o $(PROGRAM)r -builddir rcr  $(SOURCE_FILES) 
 
 clean:
        rm -f  $(PROGRAM)p.bin $(PROGRAM)s.bin $(PROGRAM)r.bin
@@ -72,5 +137,6 @@ clean:
        rm -f  aliases.txt
        rm -f  mlpReport*txt
        rm -f  results*txt
+       rm -f *log
        rm -f coreprof.dat
        rm -f trace.out