echo -ssjava enables SSJava
echo
echo Other options
+echo -jni enable jni
echo -abcclose turnoff array boundary checks
echo -builddir setup different build directory
echo -robustroot set up the ROBUSTROOT to directory other than default one
echo -dsmtask support work and task class library
echo -recoverystats print out recovery record
echo -src-after-pp prints source code after preprocessor to tmp.c
+echo -capture-null-dereferences generates code to warn before derefencing null
echo -printlinenum print out line numbers in generated C codes
echo -help help
}
tmpbuilddirectory="tmpbuilddirectory"
+JNI=false
SRCAFTERPP=false;
COREPROF=false;
NUMA=false;
then
printhelp
exit
-
+elif [[ $1 = '-jni' ]]
+then
+JNI=true
+JAVAOPTS="$JAVAOPTS -jni"
+EXTRAOPTIONS="$EXTRAOPTIONS -DJNI -I$ROBUSTROOT/Runtime/jni"
elif [[ $1 = '-justanalyze' ]]
then
EXITAFTERANALYSIS=true
-
+elif [[ $1 = '-capture-null-dereferences' ]]
+then
+JAVAOPTS="$JAVAOPTS -capture-null-dereferences"
+EXTRAOPTIONS="$EXTRAOPTIONS -DCAPTURE_NULL_DEREFERENCES"
elif [[ $1 = '-src-after-pp' ]]
then
SRCAFTERPP=true
-
elif [[ $1 = '-assembly' ]]
then
ASSEMBLY=true
then
EXTRAOPTIONS="$EXTRAOPTIONS -DOOO_DISABLE_TASKMEMPOOL"
+elif [[ $1 = '-ssjava' ]]
+then
+SSJAVA=true
+JAVAOPTS="$JAVAOPTS -ssjava"
+
elif [[ $1 = '-mempool-detect-misuse' ]]
then
EXTRAOPTIONS="$EXTRAOPTIONS -DMEMPOOL_DETECT_MISUSE"
fi
# Setup class path
-
-if $MGCINTELFLAG
+if $JNI
+then
+JAVAOPTS="$JAVAOPTS -classlibrary $ROBUSTROOT/classpath/ -classlibrary $ROBUSTROOT/classpath/vm/reference"
+elif $MGCINTELFLAG
then
JAVAOPTS="$JAVAOPTS -classlibrary $ROBUSTROOT/ClassLibrary/MGC/ -classlibrary $ROBUSTROOT/ClassLibrary/MGC/gnu/"
-else
-if $MGCFLAG
+elif $MGCFLAG
then
#base multicore gc files
JAVAOPTS="$JAVAOPTS -classlibrary $ROBUSTROOT/ClassLibrary/MGC/ -classlibrary $ROBUSTROOT/ClassLibrary/MGC/gnu/"
+elif $SSJAVA
+then
+JAVAOPTS="$JAVAOPTS -classlibrary $ROBUSTROOT/ClassLibrary/SSJava"
else
if $RECOVERFLAG
then
#base bristlecone files
JAVAOPTS="$JAVAOPTS -classlibrary $ROBUSTROOT/ClassLibrary/Bristlecone"
fi
-else
-if $DSMFLAG
+elif $DSMFLAG
then
#dsm stuff
JAVAOPTS="$JAVAOPTS -classlibrary $ROBUSTROOT/ClassLibrary/JavaDSM"
#base java stuff
JAVAOPTS="$JAVAOPTS -classlibrary $ROBUSTROOT/ClassLibrary/Java"
fi
-fi
-fi
# Build bristlecone/java sources
-classlibrary $ROBUSTROOT/ClassLibrary/gnu/ $SRCFILES
then exit $?
fi
+elif $SSJAVA
+then
+if ! ${ROBUSTROOT}/ourjava -Xms50m -Xmx1500m $JAVAFORWARDOPTS -classpath $ROBUSTROOT/../cup/:$ROBUSTROOT Main.Main -dir $BUILDDIR -precise \
+$JAVAOPTS $SRCFILES
+then exit $?
+fi
else
#if ! ${ROBUSTROOT}/ourjava -Xms5m -Xmx100m $JAVAFORWARDOPTS -classpath $ROBUSTROOT/../cup/:$ROBUSTROOT Main.Main -classlibrary \
if $MGCINTELFLAG
$ROBUSTROOT/Runtime/SimpleHash.c $ROBUSTROOT/Runtime/option.c \
$ROBUSTROOT/Runtime/ObjectHash.c \
$ROBUSTROOT/Runtime/garbage.c $ROBUSTROOT/Runtime/socket.c \
+$ROBUSTROOT/Runtime/taskgarbage.c $ROBUSTROOT/Runtime/oojgarbage.c \
$ROBUSTROOT/Runtime/math.c \
$ROBUSTROOT/Runtime/GenericHashtable.c $ROBUSTROOT/Runtime/object.c"
+if $JNI
+then
+FILES="$FILES $ROBUSTROOT/Runtime/jni/jni.c $ROBUSTROOT/Runtime/jni/jni-stuff.c"
+fi
+
if $NUMA
then
FILES="$FILES $ROBUSTROOT/Runtime/affinity.c"