Browse Source

Add -javastack x command line parameter to specify Java stack size

Similar to -javamaxmem, make stack size configurable, either via
-javastack argument or by setting the PRISM_JAVASTACKSIZE environment
variable
master
Joachim Klein 8 years ago
committed by Dave Parker
parent
commit
e33f8eee3c
  1. 31
      prism/src/bin/prism.cygwin
  2. 31
      prism/src/bin/prism.darwin32
  3. 31
      prism/src/bin/prism.darwin64
  4. 31
      prism/src/bin/prism.linux
  5. 9
      prism/src/prism/PrismCL.java
  6. 5
      prism/src/userinterface/GUIPrism.java

31
prism/src/bin/prism.cygwin

@ -10,6 +10,8 @@ if [ "$PRISM_JAVA" = "" ]; then
PRISM_JAVA=java
fi
#### Java heap size handling (either via -javamaxmem argument or PRISM_JAVAMAXMEM environment variable)
# If there is a -javamaxmem switch, use it for PRISM_JAVAMAXMEM
ARGS=( "$@" )
for ((i=0;i<${#ARGS[@]};i+=1)); do
@ -33,7 +35,34 @@ else
# default
PRISM_JAVAMAXMEM="-Xmx1g"
fi
PRISM_JAVASTACKSIZE="-Xss4M"
#### Java stack size handling (either via -javastack argument or PRISM_JAVASTACKSIZE environment variable)
# If there is a -javastack switch, use it for PRISM_JAVASTACKSIZE
for ((i=0;i<${#ARGS[@]};i+=1)); do
if [ "${ARGS[$i]}" = "-javastack" ]; then
PRISM_JAVASTACKSIZE=${ARGS[$i+1]}
PRISM_JAVASTACKSIZE=`echo "$PRISM_JAVASTACKSIZE" | awk /^[0-9]+[kmg]?$/`
if [ "$PRISM_JAVASTACKSIZE" = "" ]; then
echo; echo "Error: Invalid value for -javastack switch."; exit
fi
fi
done
# Stack size for Java
if [ "$PRISM_JAVASTACKSIZE" != "" ]; then
PRISM_JAVASTACKSIZE=`echo "$PRISM_JAVASTACKSIZE" | awk /^[0-9]+[kmg]?$/`
if [ "$PRISM_JAVASTACKSIZE" = "" ]; then
echo; echo "Error: Environment variable PRISM_JAVASTACKSIZE is invalid."; exit
fi
PRISM_JAVASTACKSIZE="-Xss$PRISM_JAVASTACKSIZE"
else
# default (4 MB)
PRISM_JAVASTACKSIZE="-Xss4m"
fi
####
# Set up CLASSPATH:
# - PRISM jar file (for binary versions) (gets priority)

31
prism/src/bin/prism.darwin32

@ -24,6 +24,8 @@ if [ "$PRISM_JAVA" = "" ]; then
fi
fi
#### Java heap size handling (either via -javamaxmem argument or PRISM_JAVAMAXMEM environment variable)
# If there is a -javamaxmem switch, use it for PRISM_JAVAMAXMEM
ARGS=( "$@" )
for ((i=0;i<${#ARGS[@]};i+=1)); do
@ -47,7 +49,34 @@ else
# default
PRISM_JAVAMAXMEM="-Xmx1g"
fi
PRISM_JAVASTACKSIZE="-Xss4M"
#### Java stack size handling (either via -javastack argument or PRISM_JAVASTACKSIZE environment variable)
# If there is a -javastack switch, use it for PRISM_JAVASTACKSIZE
for ((i=0;i<${#ARGS[@]};i+=1)); do
if [ "${ARGS[$i]}" = "-javastack" ]; then
PRISM_JAVASTACKSIZE=${ARGS[$i+1]}
PRISM_JAVASTACKSIZE=`echo "$PRISM_JAVASTACKSIZE" | awk /^[0-9]+[kmg]?$/`
if [ "$PRISM_JAVASTACKSIZE" = "" ]; then
echo; echo "Error: Invalid value for -javastack switch."; exit
fi
fi
done
# Stack size for Java
if [ "$PRISM_JAVASTACKSIZE" != "" ]; then
PRISM_JAVASTACKSIZE=`echo "$PRISM_JAVASTACKSIZE" | awk /^[0-9]+[kmg]?$/`
if [ "$PRISM_JAVASTACKSIZE" = "" ]; then
echo; echo "Error: Environment variable PRISM_JAVASTACKSIZE is invalid."; exit
fi
PRISM_JAVASTACKSIZE="-Xss$PRISM_JAVASTACKSIZE"
else
# default (4 MB)
PRISM_JAVASTACKSIZE="-Xss4m"
fi
####
# Set up CLASSPATH:
# - PRISM jar file (for binary versions) (gets priority)

31
prism/src/bin/prism.darwin64

@ -24,6 +24,8 @@ if [ "$PRISM_JAVA" = "" ]; then
fi
fi
#### Java heap size handling (either via -javamaxmem argument or PRISM_JAVAMAXMEM environment variable)
# If there is a -javamaxmem switch, use it for PRISM_JAVAMAXMEM
ARGS=( "$@" )
for ((i=0;i<${#ARGS[@]};i+=1)); do
@ -47,7 +49,34 @@ else
# default
PRISM_JAVAMAXMEM="-Xmx1g"
fi
PRISM_JAVASTACKSIZE="-Xss4M"
#### Java stack size handling (either via -javastack argument or PRISM_JAVASTACKSIZE environment variable)
# If there is a -javastack switch, use it for PRISM_JAVASTACKSIZE
for ((i=0;i<${#ARGS[@]};i+=1)); do
if [ "${ARGS[$i]}" = "-javastack" ]; then
PRISM_JAVASTACKSIZE=${ARGS[$i+1]}
PRISM_JAVASTACKSIZE=`echo "$PRISM_JAVASTACKSIZE" | awk /^[0-9]+[kmg]?$/`
if [ "$PRISM_JAVASTACKSIZE" = "" ]; then
echo; echo "Error: Invalid value for -javastack switch."; exit
fi
fi
done
# Stack size for Java
if [ "$PRISM_JAVASTACKSIZE" != "" ]; then
PRISM_JAVASTACKSIZE=`echo "$PRISM_JAVASTACKSIZE" | awk /^[0-9]+[kmg]?$/`
if [ "$PRISM_JAVASTACKSIZE" = "" ]; then
echo; echo "Error: Environment variable PRISM_JAVASTACKSIZE is invalid."; exit
fi
PRISM_JAVASTACKSIZE="-Xss$PRISM_JAVASTACKSIZE"
else
# default (4 MB)
PRISM_JAVASTACKSIZE="-Xss4m"
fi
####
# Set up CLASSPATH:
# - PRISM jar file (for binary versions) (gets priority)

31
prism/src/bin/prism.linux

@ -18,6 +18,8 @@ if [ "$PRISM_JAVA" = "" ]; then
PRISM_JAVA=java
fi
#### Java heap size handling (either via -javamaxmem argument or PRISM_JAVAMAXMEM environment variable)
# If there is a -javamaxmem switch, use it for PRISM_JAVAMAXMEM
ARGS=( "$@" )
for ((i=0;i<${#ARGS[@]};i+=1)); do
@ -41,7 +43,34 @@ else
# default
PRISM_JAVAMAXMEM="-Xmx1g"
fi
PRISM_JAVASTACKSIZE="-Xss4M"
#### Java stack size handling (either via -javastack argument or PRISM_JAVASTACKSIZE environment variable)
# If there is a -javastack switch, use it for PRISM_JAVASTACKSIZE
for ((i=0;i<${#ARGS[@]};i+=1)); do
if [ "${ARGS[$i]}" = "-javastack" ]; then
PRISM_JAVASTACKSIZE=${ARGS[$i+1]}
PRISM_JAVASTACKSIZE=`echo "$PRISM_JAVASTACKSIZE" | awk /^[0-9]+[kmg]?$/`
if [ "$PRISM_JAVASTACKSIZE" = "" ]; then
echo; echo "Error: Invalid value for -javastack switch."; exit
fi
fi
done
# Stack size for Java
if [ "$PRISM_JAVASTACKSIZE" != "" ]; then
PRISM_JAVASTACKSIZE=`echo "$PRISM_JAVASTACKSIZE" | awk /^[0-9]+[kmg]?$/`
if [ "$PRISM_JAVASTACKSIZE" = "" ]; then
echo; echo "Error: Environment variable PRISM_JAVASTACKSIZE is invalid."; exit
fi
PRISM_JAVASTACKSIZE="-Xss$PRISM_JAVASTACKSIZE"
else
# default (4 MB)
PRISM_JAVASTACKSIZE="-Xss4m"
fi
####
# Set up CLASSPATH:
# - PRISM jar file (for binary versions) (gets priority)

9
prism/src/prism/PrismCL.java

@ -1090,10 +1090,10 @@ public class PrismCL implements PrismModelListener
}
exit();
}
// java max mem
else if (sw.equals("javamaxmem")) {
// java max mem & java stack size
else if (sw.equals("javamaxmem") || sw.equals("javastack")) {
i++;
// ignore - this is dealt with before java is launched
// ignore argument and subsequent value, this is dealt with before java is launched
}
// timeout
else if (sw.equals("timeout")) {
@ -2344,7 +2344,8 @@ public class PrismCL implements PrismModelListener
mainLog.println("-nobuild ....................... Skip model construction (just do parse/export)");
mainLog.println("-test .......................... Enable \"test\" mode");
mainLog.println("-testall ....................... Enable \"test\" mode, but don't exit on error");
mainLog.println("-javamaxmem .................... Set the maximum heap size for Java, e.g. 500m, 4g [default: 1g]");
mainLog.println("-javamaxmem <x>................. Set the maximum heap size for Java, e.g. 500m, 4g [default: 1g]");
mainLog.println("-javastack <x> ................. Set the Java stack size [default: 4m]");
mainLog.println("-timeout <n> ................... Exit after a time-out of <n> seconds if not already terminated");
mainLog.println("-ng ............................ Run PRISM in Nailgun server mode; subsequent calls are then made via \"ngprism\"");
mainLog.println();

5
prism/src/userinterface/GUIPrism.java

@ -402,10 +402,11 @@ public class GUIPrism extends JFrame
public void passCLArgs(String args[])
{
// just before we get started, pass any command-line args to all plugins
// we first remove the -javamaxmem argument, if present
// we first remove the -javamaxmem/-javastack arguments, if present
List<String> argsCopy = new ArrayList<String>();
for (int i = 0; i < args.length; i++) {
if (args[i].equals("-javamaxmem")) {
if (args[i].equals("-javamaxmem") || args[i].equals("-javastack")) {
// ignore argument and subsequent value
i++;
} else {
argsCopy.add(args[i]);

Loading…
Cancel
Save