X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=Robust%2Fsrc%2Fbuildscript;h=e1b2566dc1f407e1349abe50116975a414926a80;hb=906be2127573168ea9bddd4938b8f34a5e4e92fe;hp=31c73f9ac3f68246a75fe40542b3eaefad6402d4;hpb=7ff9564b74df0ad2a176b8bc925f8c6425039916;p=IRC.git diff --git a/Robust/src/buildscript b/Robust/src/buildscript index 31c73f9a..e1b2566d 100755 --- a/Robust/src/buildscript +++ b/Robust/src/buildscript @@ -50,7 +50,15 @@ echo -disjoint-dvisit-stack-callees-on-top alternate stack strat echo -disjoint-dvisit-pqueue use prio. q strat to visit descriptors echo -disjoint-desire-determinism set above interproc for determinism echo -disjoint-debug-scheduling debug when methods are scheduled for analysis +echo -disjoint-count-visits for counting visits in the fixed point algorithm to evaluate convergence behavior +echo -disjoint-count-graph-elements FILE nodes, edges and states in final graph for main method context +echo echo -do-definite-reach-analysis enable improved precision for disjoint reachability analysis +echo -disjoint-disable-global-sweep +echo -disjoint-disable-strong-update +echo -disjoint-disable-predicates +echo -disjoint-summarize-per-class +echo echo echo -pointsto-check-v-runtime check allocation site of pointer targets at runtime to help verify heap analysis results echo @@ -86,6 +94,8 @@ echo -accurateprofile build with accurate profile information including pre/post echo -profile_interrupt build with profile information of interrupts echo "-useio use standard io to output profiling data (should be used together with -raw and -profile), it only works with single core version" echo -gccachecoherent turns on the cache coherence during gc +echo -inputfile enables reading input files in Tilera +echo -inputfilecompress enables the compressed version of input files echo echo Multicore GC options echo -perfcount performance counters @@ -117,6 +127,8 @@ echo echo SSJava options echo -ssjava enables SSJava echo -ssjavadebug reports interim results +echo -ssjavainfer location type inference +echo -ssjava-induce-error N S where 1/N is the probability to error at any deref or divide and S is a random seed echo echo Other options echo -jni enable jni @@ -171,6 +183,7 @@ echo -help help tmpbuilddirectory="tmpbuilddirectory" JNI=false SSJAVA=false +USE_SSJAVA_CLASSPATH=false SRCAFTERPP=false; COREPROF=false; NUMA=false; @@ -264,6 +277,9 @@ TILERA_PAGE_SIZE="0x10000" TILERA_PAGE_SIZE_BITS="16" TILERA_NUM_BLOCKS="20" TILERA_NUM_PAGES_PER_BLOCK="16" +INPUTFILEFLAG=false +INPUTFILES='' +INPUTFILEOPTS='' GCCACHECOHERENTFLAG=false COMPILER_HEAP_SIZE="1500" @@ -601,6 +617,14 @@ elif [[ $1 = '-mgc' ]] then MGCFLAG=true JAVAOPTS="$JAVAOPTS -mgc" +elif [[ $1 = '-inputfile' ]] +then +INPUTFILEFLAG=true +INPUTFILES="$INPUTFILES $2" +shift +elif [[ $1 = '-inputfilecompress' ]] +then +INPUTFILEOPTS="$INPUTFILEOPTS -compress" elif [[ $1 = '-mgcintel' ]] then MGCINTELFLAG=true @@ -665,12 +689,24 @@ EXTRAOPTIONS="$EXTRAOPTIONS -DOOO_DISABLE_TASKMEMPOOL" elif [[ $1 = '-ssjava' ]] then SSJAVA=true +USE_SSJAVA_CLASSPATH=true JAVAOPTS="$JAVAOPTS -ssjava" elif [[ $1 = '-ssjavadebug' ]] then JAVAOPTS="$JAVAOPTS -ssjavadebug" +elif [[ $1 = '-ssjavainfer' ]] +then +JAVAOPTS="$JAVAOPTS -ssjavainfer" + +elif [[ $1 = '-ssjava-inject-error' ]] +then +USE_SSJAVA_CLASSPATH=true +JAVAOPTS="$JAVAOPTS -ssjava-inject-error $2 $3" +shift +shift + elif [[ $1 = '-mempool-detect-misuse' ]] then EXTRAOPTIONS="$EXTRAOPTIONS -DMEMPOOL_DETECT_MISUSE" @@ -858,8 +894,7 @@ fi if $JNI then - JAVAOPTS="$JAVAOPTS -classlibrary $ROBUSTROOT/classpath/ -classlibrary $ROBUSTROOT/classpath/vm/reference" - + JAVAOPTS="$JAVAOPTS -classlibrary $ROBUSTROOT/classpath/ -classlibrary $ROBUSTROOT/classpath/vm/reference/" elif $MGCINTELFLAG then JAVAOPTS="$JAVAOPTS -classlibrary $ROBUSTROOT/ClassLibrary/MGC/ -classlibrary $ROBUSTROOT/ClassLibrary/MGC/gnu/" @@ -869,11 +904,13 @@ elif $MGCFLAG #base multicore gc files JAVAOPTS="$JAVAOPTS -classlibrary $ROBUSTROOT/ClassLibrary/MGC/ -classlibrary $ROBUSTROOT/ClassLibrary/MGC/gnu/" -elif $SSJAVA +elif $USE_SSJAVA_CLASSPATH then JAVAOPTS="$JAVAOPTS -classlibrary $ROBUSTROOT/ClassLibrary/SSJava" else + JAVAOPTS="$JAVAOPTS -classlibrary $ROBUSTROOT/ClassLibrary/ -classlibrary $ROBUSTROOT/ClassLibrary/gnu/" + if $RECOVERFLAG then if $FASTCHECK @@ -906,7 +943,7 @@ else fi # everyone gets this except ssjava! -if ! $SSJAVA +if ! $USE_SSJAVA_CLASSPATH then JAVAOPTS="$JAVAOPTS -classlibrary $ROBUSTROOT/ClassLibrary/ -classlibrary $ROBUSTROOT/ClassLibrary/gnu/" fi @@ -947,6 +984,17 @@ else fi fi +# transfer the input files + +if $INPUTFILEFLAG +then +./ourjavac -cp ../cup:.:$(CLASSPATH) ${ROBUSTROOT}/Tilera/Benchmarks/GC/galois/InputFileTranslator.java +if ! ${ROBUSTROOT}/ourjava -Xms50m -Xmx${COMPILER_HEAP_SIZE}m -classpath $ROBUSTROOT/Tilera/Benchmarks/GC/galois InputFileTranslator \ + -dir $BUILDDIR $INPUTFILEOPTS $INPUTFILES + then exit $? +fi +fi + # after executing Main, if -justanalyze flag, just exit if $EXITAFTERANALYSIS then @@ -1089,6 +1137,11 @@ else export TILERACFLAGS="-DTASK -DMULTICORE -DCLOSE_PRINT -DTILERA" fi +if $INPUTFILEFLAG +then +TILERACFLAGS="${TILERACFLAGS} -DINPUTFILE" +fi + if $GCTBLDEBUGFLAG then TILERACFLAGS="${TILERACFLAGS} -DGC_TBL_DEBUG"