8014514: Fix jvm args for sjavac

Wed, 22 May 2013 17:26:31 +0200

author
erikj
date
Wed, 22 May 2013 17:26:31 +0200
changeset 717
e247ee3924d5
parent 715
cb51fb4789ac
child 718
e7c09a983c3c

8014514: Fix jvm args for sjavac
Reviewed-by: tbell

common/autoconf/basics.m4 file | annotate | diff | comparison | revisions
common/autoconf/build-performance.m4 file | annotate | diff | comparison | revisions
common/autoconf/generated-configure.sh file | annotate | diff | comparison | revisions
     1.1 --- a/common/autoconf/basics.m4	Wed May 22 13:49:12 2013 +0100
     1.2 +++ b/common/autoconf/basics.m4	Wed May 22 17:26:31 2013 +0200
     1.3 @@ -23,14 +23,23 @@
     1.4  # questions.
     1.5  #
     1.6  
     1.7 +# Test if $1 is a valid argument to $3 (often is $JAVA passed as $3)
     1.8 +# If so, then append $1 to $2\
     1.9 +# Also set JVM_ARG_OK to true/false depending on outcome.
    1.10  AC_DEFUN([ADD_JVM_ARG_IF_OK],
    1.11  [
    1.12 -    # Test if $1 is a valid argument to $3 (often is $JAVA passed as $3)
    1.13 -    # If so, then append $1 to $2
    1.14 -    FOUND_WARN=`$3 $1 -version 2>&1 | grep -i warn`
    1.15 -    FOUND_VERSION=`$3 $1 -version 2>&1 | grep " version \""`
    1.16 +    $ECHO "Check if jvm arg is ok: $1" >&AS_MESSAGE_LOG_FD
    1.17 +    $ECHO "Command: $3 $1 -version" >&AS_MESSAGE_LOG_FD
    1.18 +    OUTPUT=`$3 $1 -version 2>&1`
    1.19 +    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
    1.20 +    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
    1.21      if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
    1.22          $2="[$]$2 $1"
    1.23 +	JVM_ARG_OK=true
    1.24 +    else
    1.25 +	$ECHO "Arg failed:" >&AS_MESSAGE_LOG_FD
    1.26 +	$ECHO "$OUTPUT" >&AS_MESSAGE_LOG_FD
    1.27 +	JVM_ARG_OK=false
    1.28      fi
    1.29  ])
    1.30  
     2.1 --- a/common/autoconf/build-performance.m4	Wed May 22 13:49:12 2013 +0100
     2.2 +++ b/common/autoconf/build-performance.m4	Wed May 22 17:26:31 2013 +0200
     2.3 @@ -278,60 +278,37 @@
     2.4  fi                    
     2.5  AC_SUBST(SJAVAC_SERVER_JAVA)
     2.6  
     2.7 -AC_ARG_WITH(sjavac-server-cores, [AS_HELP_STRING([--with-sjavac-server-cores],
     2.8 -	[use at most this number of concurrent threads on the sjavac server @<:@probed@:>@])])
     2.9 -if test "x$with_sjavac_server_cores" != x; then
    2.10 -    SJAVAC_SERVER_CORES="$with_sjavac_server_cores"
    2.11 -else
    2.12 -    if test "$NUM_CORES" -gt 16; then
    2.13 -        # We set this arbitrary limit because we want to limit the heap
    2.14 -        # size of the javac server.
    2.15 -        # In the future we will make the javac compilers in the server
    2.16 -        # share more and more state, thus enabling us to use more and
    2.17 -        # more concurrent threads in the server.
    2.18 -        SJAVAC_SERVER_CORES="16"
    2.19 -    else
    2.20 -        SJAVAC_SERVER_CORES="$NUM_CORES"
    2.21 +if test "$MEMORY_SIZE" -gt "2500"; then
    2.22 +    ADD_JVM_ARG_IF_OK([-d64],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
    2.23 +    if test "$JVM_ARG_OK" = true; then
    2.24 +        JVM_64BIT=true
    2.25 +	JVM_ARG_OK=false
    2.26 +    fi
    2.27      fi
    2.28  
    2.29 +if test "$JVM_64BIT" = true; then
    2.30      if test "$MEMORY_SIZE" -gt "17000"; then
    2.31 -        MAX_HEAP_MEM=10000
    2.32 -        ADD_JVM_ARG_IF_OK([-d64],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
    2.33          ADD_JVM_ARG_IF_OK([-Xms10G -Xmx10G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
    2.34 -    elif test "$MEMORY_SIZE" -gt "10000"; then
    2.35 -        MAX_HEAP_MEM=6000
    2.36 -        ADD_JVM_ARG_IF_OK([-d64],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
    2.37 +    fi
    2.38 +    if test "$MEMORY_SIZE" -gt "10000" && test "$JVM_ARG_OK" = false; then
    2.39          ADD_JVM_ARG_IF_OK([-Xms6G -Xmx6G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
    2.40 -    elif test "$MEMORY_SIZE" -gt "5000"; then
    2.41 -        MAX_HEAP_MEM=3000
    2.42 -        ADD_JVM_ARG_IF_OK([-d64],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
    2.43 +    fi
    2.44 +    if test "$MEMORY_SIZE" -gt "5000" && test "$JVM_ARG_OK" = false; then
    2.45          ADD_JVM_ARG_IF_OK([-Xms1G -Xmx3G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
    2.46 -    elif test "$MEMORY_SIZE" -gt "3800"; then
    2.47 -        MAX_HEAP_MEM=2500
    2.48 +    fi
    2.49 +    if test "$MEMORY_SIZE" -gt "3800" && test "$JVM_ARG_OK" = false; then
    2.50          ADD_JVM_ARG_IF_OK([-Xms1G -Xmx2500M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
    2.51 -    elif test "$MEMORY_SIZE" -gt "1900"; then
    2.52 -        MAX_HEAP_MEM=1200
    2.53 -        ADD_JVM_ARG_IF_OK([-Xms700M -Xmx1400M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
    2.54 -    elif test "$MEMORY_SIZE" -gt "1000"; then
    2.55 -        MAX_HEAP_MEM=900
    2.56 -        ADD_JVM_ARG_IF_OK([-Xms400M -Xmx1100M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
    2.57 -    else
    2.58 -        MAX_HEAP_MEM=512
    2.59 -        ADD_JVM_ARG_IF_OK([-Xms256M -Xmx512M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
    2.60      fi
    2.61 -
    2.62 -    ADD_JVM_ARG_IF_OK([-XX:PermSize=32m],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
    2.63 -    ADD_JVM_ARG_IF_OK([-XX:MaxPermSize=160m],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
    2.64 -    ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
    2.65 -
    2.66 -    MAX_COMPILERS_IN_HEAP=`expr $MAX_HEAP_MEM / 501`
    2.67 -    if test "$SJAVAC_SERVER_CORES" -gt "$MAX_COMPILERS_IN_HEAP"; then
    2.68 -        AC_MSG_CHECKING([if number of server cores must be reduced])
    2.69 -        SJAVAC_SERVER_CORES="$MAX_COMPILERS_IN_HEAP"
    2.70 -        AC_MSG_RESULT([yes, to $SJAVAC_SERVER_CORES with max heap size $MAX_HEAP_MEM MB])
    2.71 -    fi
    2.72 -fi                    
    2.73 -AC_SUBST(SJAVAC_SERVER_CORES)
    2.74 +fi
    2.75 +if test "$MEMORY_SIZE" -gt "2500" && test "$JVM_ARG_OK" = false; then
    2.76 +    ADD_JVM_ARG_IF_OK([-Xms1000M -Xmx1500M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
    2.77 +fi
    2.78 +if test "$MEMORY_SIZE" -gt "1000" && test "$JVM_ARG_OK" = false; then
    2.79 +    ADD_JVM_ARG_IF_OK([-Xms400M -Xmx1100M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
    2.80 +fi
    2.81 +if test "$JVM_ARG_OK" = false; then
    2.82 +    ADD_JVM_ARG_IF_OK([-Xms256M -Xmx512M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
    2.83 +fi
    2.84  
    2.85  AC_MSG_CHECKING([whether to use sjavac])
    2.86  AC_ARG_ENABLE([sjavac], [AS_HELP_STRING([--enable-sjavac],
     3.1 --- a/common/autoconf/generated-configure.sh	Wed May 22 13:49:12 2013 +0100
     3.2 +++ b/common/autoconf/generated-configure.sh	Wed May 22 17:26:31 2013 +0200
     3.3 @@ -599,7 +599,6 @@
     3.4  USE_PRECOMPILED_HEADER
     3.5  SJAVAC_SERVER_DIR
     3.6  ENABLE_SJAVAC
     3.7 -SJAVAC_SERVER_CORES
     3.8  SJAVAC_SERVER_JAVA
     3.9  JOBS
    3.10  MEMORY_SIZE
    3.11 @@ -1025,7 +1024,6 @@
    3.12  with_memory_size
    3.13  with_jobs
    3.14  with_sjavac_server_java
    3.15 -with_sjavac_server_cores
    3.16  enable_sjavac
    3.17  enable_precompiled_headers
    3.18  enable_ccache
    3.19 @@ -1796,9 +1794,6 @@
    3.20    --with-sjavac-server-java
    3.21                            use this java binary for running the sjavac
    3.22                            background server [Boot JDK java]
    3.23 -  --with-sjavac-server-cores
    3.24 -                          use at most this number of concurrent threads on the
    3.25 -                          sjavac server [probed]
    3.26    --with-ccache-dir       where to store ccache files [~/.ccache]
    3.27  
    3.28  Some influential environment variables:
    3.29 @@ -3077,6 +3072,9 @@
    3.30  # questions.
    3.31  #
    3.32  
    3.33 +# Test if $1 is a valid argument to $3 (often is $JAVA passed as $3)
    3.34 +# If so, then append $1 to $2\
    3.35 +# Also set JVM_ARG_OK to true/false depending on outcome.
    3.36  
    3.37  
    3.38  # This will make sure the given variable points to a full and proper
    3.39 @@ -3775,7 +3773,7 @@
    3.40  #CUSTOM_AUTOCONF_INCLUDE
    3.41  
    3.42  # Do not change or remove the following line, it is needed for consistency checks:
    3.43 -DATE_WHEN_GENERATED=1367502949
    3.44 +DATE_WHEN_GENERATED=1369236348
    3.45  
    3.46  ###############################################################################
    3.47  #
    3.48 @@ -15705,73 +15703,115 @@
    3.49  
    3.50      # Minimum amount of heap memory.
    3.51  
    3.52 -    # Test if -Xms64M is a valid argument to $JAVA (often is $JAVA passed as $JAVA)
    3.53 -    # If so, then append -Xms64M to boot_jdk_jvmargs
    3.54 -    FOUND_WARN=`$JAVA -Xms64M -version 2>&1 | grep -i warn`
    3.55 -    FOUND_VERSION=`$JAVA -Xms64M -version 2>&1 | grep " version \""`
    3.56 +    $ECHO "Check if jvm arg is ok: -Xms64M" >&5
    3.57 +    $ECHO "Command: $JAVA -Xms64M -version" >&5
    3.58 +    OUTPUT=`$JAVA -Xms64M -version 2>&1`
    3.59 +    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
    3.60 +    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
    3.61      if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
    3.62          boot_jdk_jvmargs="$boot_jdk_jvmargs -Xms64M"
    3.63 +	JVM_ARG_OK=true
    3.64 +    else
    3.65 +	$ECHO "Arg failed:" >&5
    3.66 +	$ECHO "$OUTPUT" >&5
    3.67 +	JVM_ARG_OK=false
    3.68      fi
    3.69  
    3.70      if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
    3.71          # Why does macosx need more heap? Its the huge JDK batch.
    3.72  
    3.73 -    # Test if -Xmx1600M is a valid argument to $JAVA (often is $JAVA passed as $JAVA)
    3.74 -    # If so, then append -Xmx1600M to boot_jdk_jvmargs
    3.75 -    FOUND_WARN=`$JAVA -Xmx1600M -version 2>&1 | grep -i warn`
    3.76 -    FOUND_VERSION=`$JAVA -Xmx1600M -version 2>&1 | grep " version \""`
    3.77 +    $ECHO "Check if jvm arg is ok: -Xmx1600M" >&5
    3.78 +    $ECHO "Command: $JAVA -Xmx1600M -version" >&5
    3.79 +    OUTPUT=`$JAVA -Xmx1600M -version 2>&1`
    3.80 +    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
    3.81 +    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
    3.82      if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
    3.83          boot_jdk_jvmargs="$boot_jdk_jvmargs -Xmx1600M"
    3.84 -    fi
    3.85 -
    3.86 -    else
    3.87 -
    3.88 -    # Test if -Xmx1100M is a valid argument to $JAVA (often is $JAVA passed as $JAVA)
    3.89 -    # If so, then append -Xmx1100M to boot_jdk_jvmargs
    3.90 -    FOUND_WARN=`$JAVA -Xmx1100M -version 2>&1 | grep -i warn`
    3.91 -    FOUND_VERSION=`$JAVA -Xmx1100M -version 2>&1 | grep " version \""`
    3.92 +	JVM_ARG_OK=true
    3.93 +    else
    3.94 +	$ECHO "Arg failed:" >&5
    3.95 +	$ECHO "$OUTPUT" >&5
    3.96 +	JVM_ARG_OK=false
    3.97 +    fi
    3.98 +
    3.99 +    else
   3.100 +
   3.101 +    $ECHO "Check if jvm arg is ok: -Xmx1100M" >&5
   3.102 +    $ECHO "Command: $JAVA -Xmx1100M -version" >&5
   3.103 +    OUTPUT=`$JAVA -Xmx1100M -version 2>&1`
   3.104 +    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
   3.105 +    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
   3.106      if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
   3.107          boot_jdk_jvmargs="$boot_jdk_jvmargs -Xmx1100M"
   3.108 +	JVM_ARG_OK=true
   3.109 +    else
   3.110 +	$ECHO "Arg failed:" >&5
   3.111 +	$ECHO "$OUTPUT" >&5
   3.112 +	JVM_ARG_OK=false
   3.113      fi
   3.114  
   3.115      fi
   3.116      # When is adding -client something that speeds up the JVM?
   3.117      # ADD_JVM_ARG_IF_OK([-client],boot_jdk_jvmargs,[$JAVA])
   3.118  
   3.119 -    # Test if -XX:PermSize=32m is a valid argument to $JAVA (often is $JAVA passed as $JAVA)
   3.120 -    # If so, then append -XX:PermSize=32m to boot_jdk_jvmargs
   3.121 -    FOUND_WARN=`$JAVA -XX:PermSize=32m -version 2>&1 | grep -i warn`
   3.122 -    FOUND_VERSION=`$JAVA -XX:PermSize=32m -version 2>&1 | grep " version \""`
   3.123 +    $ECHO "Check if jvm arg is ok: -XX:PermSize=32m" >&5
   3.124 +    $ECHO "Command: $JAVA -XX:PermSize=32m -version" >&5
   3.125 +    OUTPUT=`$JAVA -XX:PermSize=32m -version 2>&1`
   3.126 +    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
   3.127 +    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
   3.128      if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
   3.129          boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:PermSize=32m"
   3.130 -    fi
   3.131 -
   3.132 -
   3.133 -    # Test if -XX:MaxPermSize=160m is a valid argument to $JAVA (often is $JAVA passed as $JAVA)
   3.134 -    # If so, then append -XX:MaxPermSize=160m to boot_jdk_jvmargs
   3.135 -    FOUND_WARN=`$JAVA -XX:MaxPermSize=160m -version 2>&1 | grep -i warn`
   3.136 -    FOUND_VERSION=`$JAVA -XX:MaxPermSize=160m -version 2>&1 | grep " version \""`
   3.137 +	JVM_ARG_OK=true
   3.138 +    else
   3.139 +	$ECHO "Arg failed:" >&5
   3.140 +	$ECHO "$OUTPUT" >&5
   3.141 +	JVM_ARG_OK=false
   3.142 +    fi
   3.143 +
   3.144 +
   3.145 +    $ECHO "Check if jvm arg is ok: -XX:MaxPermSize=160m" >&5
   3.146 +    $ECHO "Command: $JAVA -XX:MaxPermSize=160m -version" >&5
   3.147 +    OUTPUT=`$JAVA -XX:MaxPermSize=160m -version 2>&1`
   3.148 +    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
   3.149 +    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
   3.150      if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
   3.151          boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:MaxPermSize=160m"
   3.152 -    fi
   3.153 -
   3.154 -
   3.155 -    # Test if -XX:ThreadStackSize=$STACK_SIZE is a valid argument to $JAVA (often is $JAVA passed as $JAVA)
   3.156 -    # If so, then append -XX:ThreadStackSize=$STACK_SIZE to boot_jdk_jvmargs
   3.157 -    FOUND_WARN=`$JAVA -XX:ThreadStackSize=$STACK_SIZE -version 2>&1 | grep -i warn`
   3.158 -    FOUND_VERSION=`$JAVA -XX:ThreadStackSize=$STACK_SIZE -version 2>&1 | grep " version \""`
   3.159 +	JVM_ARG_OK=true
   3.160 +    else
   3.161 +	$ECHO "Arg failed:" >&5
   3.162 +	$ECHO "$OUTPUT" >&5
   3.163 +	JVM_ARG_OK=false
   3.164 +    fi
   3.165 +
   3.166 +
   3.167 +    $ECHO "Check if jvm arg is ok: -XX:ThreadStackSize=$STACK_SIZE" >&5
   3.168 +    $ECHO "Command: $JAVA -XX:ThreadStackSize=$STACK_SIZE -version" >&5
   3.169 +    OUTPUT=`$JAVA -XX:ThreadStackSize=$STACK_SIZE -version 2>&1`
   3.170 +    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
   3.171 +    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
   3.172      if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
   3.173          boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:ThreadStackSize=$STACK_SIZE"
   3.174 +	JVM_ARG_OK=true
   3.175 +    else
   3.176 +	$ECHO "Arg failed:" >&5
   3.177 +	$ECHO "$OUTPUT" >&5
   3.178 +	JVM_ARG_OK=false
   3.179      fi
   3.180  
   3.181      # Disable special log output when a debug build is used as Boot JDK...
   3.182  
   3.183 -    # Test if -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput is a valid argument to $JAVA (often is $JAVA passed as $JAVA)
   3.184 -    # If so, then append -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput to boot_jdk_jvmargs
   3.185 -    FOUND_WARN=`$JAVA -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput -version 2>&1 | grep -i warn`
   3.186 -    FOUND_VERSION=`$JAVA -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput -version 2>&1 | grep " version \""`
   3.187 +    $ECHO "Check if jvm arg is ok: -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput" >&5
   3.188 +    $ECHO "Command: $JAVA -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput -version" >&5
   3.189 +    OUTPUT=`$JAVA -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput -version 2>&1`
   3.190 +    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
   3.191 +    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
   3.192      if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
   3.193          boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput"
   3.194 +	JVM_ARG_OK=true
   3.195 +    else
   3.196 +	$ECHO "Arg failed:" >&5
   3.197 +	$ECHO "$OUTPUT" >&5
   3.198 +	JVM_ARG_OK=false
   3.199      fi
   3.200  
   3.201  fi
   3.202 @@ -32664,192 +32704,183 @@
   3.203      SJAVAC_SERVER_JAVA=""
   3.204      # Hotspot specific options.
   3.205  
   3.206 -    # Test if -verbosegc is a valid argument to $JAVA (often is $JAVA passed as $JAVA)
   3.207 -    # If so, then append -verbosegc to SJAVAC_SERVER_JAVA
   3.208 -    FOUND_WARN=`$JAVA -verbosegc -version 2>&1 | grep -i warn`
   3.209 -    FOUND_VERSION=`$JAVA -verbosegc -version 2>&1 | grep " version \""`
   3.210 +    $ECHO "Check if jvm arg is ok: -verbosegc" >&5
   3.211 +    $ECHO "Command: $JAVA -verbosegc -version" >&5
   3.212 +    OUTPUT=`$JAVA -verbosegc -version 2>&1`
   3.213 +    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
   3.214 +    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
   3.215      if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
   3.216          SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -verbosegc"
   3.217 +	JVM_ARG_OK=true
   3.218 +    else
   3.219 +	$ECHO "Arg failed:" >&5
   3.220 +	$ECHO "$OUTPUT" >&5
   3.221 +	JVM_ARG_OK=false
   3.222      fi
   3.223  
   3.224      # JRockit specific options.
   3.225  
   3.226 -    # Test if -Xverbose:gc is a valid argument to $JAVA (often is $JAVA passed as $JAVA)
   3.227 -    # If so, then append -Xverbose:gc to SJAVAC_SERVER_JAVA
   3.228 -    FOUND_WARN=`$JAVA -Xverbose:gc -version 2>&1 | grep -i warn`
   3.229 -    FOUND_VERSION=`$JAVA -Xverbose:gc -version 2>&1 | grep " version \""`
   3.230 +    $ECHO "Check if jvm arg is ok: -Xverbose:gc" >&5
   3.231 +    $ECHO "Command: $JAVA -Xverbose:gc -version" >&5
   3.232 +    OUTPUT=`$JAVA -Xverbose:gc -version 2>&1`
   3.233 +    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
   3.234 +    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
   3.235      if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
   3.236          SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xverbose:gc"
   3.237 +	JVM_ARG_OK=true
   3.238 +    else
   3.239 +	$ECHO "Arg failed:" >&5
   3.240 +	$ECHO "$OUTPUT" >&5
   3.241 +	JVM_ARG_OK=false
   3.242      fi
   3.243  
   3.244      SJAVAC_SERVER_JAVA="$JAVA $SJAVAC_SERVER_JAVA"
   3.245  fi
   3.246  
   3.247  
   3.248 -
   3.249 -# Check whether --with-sjavac-server-cores was given.
   3.250 -if test "${with_sjavac_server_cores+set}" = set; then :
   3.251 -  withval=$with_sjavac_server_cores;
   3.252 -fi
   3.253 -
   3.254 -if test "x$with_sjavac_server_cores" != x; then
   3.255 -    SJAVAC_SERVER_CORES="$with_sjavac_server_cores"
   3.256 -else
   3.257 -    if test "$NUM_CORES" -gt 16; then
   3.258 -        # We set this arbitrary limit because we want to limit the heap
   3.259 -        # size of the javac server.
   3.260 -        # In the future we will make the javac compilers in the server
   3.261 -        # share more and more state, thus enabling us to use more and
   3.262 -        # more concurrent threads in the server.
   3.263 -        SJAVAC_SERVER_CORES="16"
   3.264 -    else
   3.265 -        SJAVAC_SERVER_CORES="$NUM_CORES"
   3.266 -    fi
   3.267 -
   3.268 -    if test "$MEMORY_SIZE" -gt "17000"; then
   3.269 -        MAX_HEAP_MEM=10000
   3.270 -
   3.271 -    # Test if -d64 is a valid argument to $SJAVAC_SERVER_JAVA (often is $JAVA passed as $SJAVAC_SERVER_JAVA)
   3.272 -    # If so, then append -d64 to SJAVAC_SERVER_JAVA
   3.273 -    FOUND_WARN=`$SJAVAC_SERVER_JAVA -d64 -version 2>&1 | grep -i warn`
   3.274 -    FOUND_VERSION=`$SJAVAC_SERVER_JAVA -d64 -version 2>&1 | grep " version \""`
   3.275 +if test "$MEMORY_SIZE" -gt "2500"; then
   3.276 +
   3.277 +    $ECHO "Check if jvm arg is ok: -d64" >&5
   3.278 +    $ECHO "Command: $SJAVAC_SERVER_JAVA -d64 -version" >&5
   3.279 +    OUTPUT=`$SJAVAC_SERVER_JAVA -d64 -version 2>&1`
   3.280 +    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
   3.281 +    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
   3.282      if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
   3.283          SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -d64"
   3.284 -    fi
   3.285 -
   3.286 -
   3.287 -    # Test if -Xms10G -Xmx10G is a valid argument to $SJAVAC_SERVER_JAVA (often is $JAVA passed as $SJAVAC_SERVER_JAVA)
   3.288 -    # If so, then append -Xms10G -Xmx10G to SJAVAC_SERVER_JAVA
   3.289 -    FOUND_WARN=`$SJAVAC_SERVER_JAVA -Xms10G -Xmx10G -version 2>&1 | grep -i warn`
   3.290 -    FOUND_VERSION=`$SJAVAC_SERVER_JAVA -Xms10G -Xmx10G -version 2>&1 | grep " version \""`
   3.291 +	JVM_ARG_OK=true
   3.292 +    else
   3.293 +	$ECHO "Arg failed:" >&5
   3.294 +	$ECHO "$OUTPUT" >&5
   3.295 +	JVM_ARG_OK=false
   3.296 +    fi
   3.297 +
   3.298 +    if test "$JVM_ARG_OK" = true; then
   3.299 +        JVM_64BIT=true
   3.300 +	JVM_ARG_OK=false
   3.301 +    fi
   3.302 +    fi
   3.303 +
   3.304 +if test "$JVM_64BIT" = true; then
   3.305 +    if test "$MEMORY_SIZE" -gt "17000"; then
   3.306 +
   3.307 +    $ECHO "Check if jvm arg is ok: -Xms10G -Xmx10G" >&5
   3.308 +    $ECHO "Command: $SJAVAC_SERVER_JAVA -Xms10G -Xmx10G -version" >&5
   3.309 +    OUTPUT=`$SJAVAC_SERVER_JAVA -Xms10G -Xmx10G -version 2>&1`
   3.310 +    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
   3.311 +    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
   3.312      if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
   3.313          SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xms10G -Xmx10G"
   3.314 -    fi
   3.315 -
   3.316 -    elif test "$MEMORY_SIZE" -gt "10000"; then
   3.317 -        MAX_HEAP_MEM=6000
   3.318 -
   3.319 -    # Test if -d64 is a valid argument to $SJAVAC_SERVER_JAVA (often is $JAVA passed as $SJAVAC_SERVER_JAVA)
   3.320 -    # If so, then append -d64 to SJAVAC_SERVER_JAVA
   3.321 -    FOUND_WARN=`$SJAVAC_SERVER_JAVA -d64 -version 2>&1 | grep -i warn`
   3.322 -    FOUND_VERSION=`$SJAVAC_SERVER_JAVA -d64 -version 2>&1 | grep " version \""`
   3.323 -    if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
   3.324 -        SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -d64"
   3.325 -    fi
   3.326 -
   3.327 -
   3.328 -    # Test if -Xms6G -Xmx6G is a valid argument to $SJAVAC_SERVER_JAVA (often is $JAVA passed as $SJAVAC_SERVER_JAVA)
   3.329 -    # If so, then append -Xms6G -Xmx6G to SJAVAC_SERVER_JAVA
   3.330 -    FOUND_WARN=`$SJAVAC_SERVER_JAVA -Xms6G -Xmx6G -version 2>&1 | grep -i warn`
   3.331 -    FOUND_VERSION=`$SJAVAC_SERVER_JAVA -Xms6G -Xmx6G -version 2>&1 | grep " version \""`
   3.332 +	JVM_ARG_OK=true
   3.333 +    else
   3.334 +	$ECHO "Arg failed:" >&5
   3.335 +	$ECHO "$OUTPUT" >&5
   3.336 +	JVM_ARG_OK=false
   3.337 +    fi
   3.338 +
   3.339 +    fi
   3.340 +    if test "$MEMORY_SIZE" -gt "10000" && test "$JVM_ARG_OK" = false; then
   3.341 +
   3.342 +    $ECHO "Check if jvm arg is ok: -Xms6G -Xmx6G" >&5
   3.343 +    $ECHO "Command: $SJAVAC_SERVER_JAVA -Xms6G -Xmx6G -version" >&5
   3.344 +    OUTPUT=`$SJAVAC_SERVER_JAVA -Xms6G -Xmx6G -version 2>&1`
   3.345 +    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
   3.346 +    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
   3.347      if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
   3.348          SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xms6G -Xmx6G"
   3.349 -    fi
   3.350 -
   3.351 -    elif test "$MEMORY_SIZE" -gt "5000"; then
   3.352 -        MAX_HEAP_MEM=3000
   3.353 -
   3.354 -    # Test if -d64 is a valid argument to $SJAVAC_SERVER_JAVA (often is $JAVA passed as $SJAVAC_SERVER_JAVA)
   3.355 -    # If so, then append -d64 to SJAVAC_SERVER_JAVA
   3.356 -    FOUND_WARN=`$SJAVAC_SERVER_JAVA -d64 -version 2>&1 | grep -i warn`
   3.357 -    FOUND_VERSION=`$SJAVAC_SERVER_JAVA -d64 -version 2>&1 | grep " version \""`
   3.358 -    if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
   3.359 -        SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -d64"
   3.360 -    fi
   3.361 -
   3.362 -
   3.363 -    # Test if -Xms1G -Xmx3G is a valid argument to $SJAVAC_SERVER_JAVA (often is $JAVA passed as $SJAVAC_SERVER_JAVA)
   3.364 -    # If so, then append -Xms1G -Xmx3G to SJAVAC_SERVER_JAVA
   3.365 -    FOUND_WARN=`$SJAVAC_SERVER_JAVA -Xms1G -Xmx3G -version 2>&1 | grep -i warn`
   3.366 -    FOUND_VERSION=`$SJAVAC_SERVER_JAVA -Xms1G -Xmx3G -version 2>&1 | grep " version \""`
   3.367 +	JVM_ARG_OK=true
   3.368 +    else
   3.369 +	$ECHO "Arg failed:" >&5
   3.370 +	$ECHO "$OUTPUT" >&5
   3.371 +	JVM_ARG_OK=false
   3.372 +    fi
   3.373 +
   3.374 +    fi
   3.375 +    if test "$MEMORY_SIZE" -gt "5000" && test "$JVM_ARG_OK" = false; then
   3.376 +
   3.377 +    $ECHO "Check if jvm arg is ok: -Xms1G -Xmx3G" >&5
   3.378 +    $ECHO "Command: $SJAVAC_SERVER_JAVA -Xms1G -Xmx3G -version" >&5
   3.379 +    OUTPUT=`$SJAVAC_SERVER_JAVA -Xms1G -Xmx3G -version 2>&1`
   3.380 +    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
   3.381 +    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
   3.382      if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
   3.383          SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xms1G -Xmx3G"
   3.384 -    fi
   3.385 -
   3.386 -    elif test "$MEMORY_SIZE" -gt "3800"; then
   3.387 -        MAX_HEAP_MEM=2500
   3.388 -
   3.389 -    # Test if -Xms1G -Xmx2500M is a valid argument to $SJAVAC_SERVER_JAVA (often is $JAVA passed as $SJAVAC_SERVER_JAVA)
   3.390 -    # If so, then append -Xms1G -Xmx2500M to SJAVAC_SERVER_JAVA
   3.391 -    FOUND_WARN=`$SJAVAC_SERVER_JAVA -Xms1G -Xmx2500M -version 2>&1 | grep -i warn`
   3.392 -    FOUND_VERSION=`$SJAVAC_SERVER_JAVA -Xms1G -Xmx2500M -version 2>&1 | grep " version \""`
   3.393 +	JVM_ARG_OK=true
   3.394 +    else
   3.395 +	$ECHO "Arg failed:" >&5
   3.396 +	$ECHO "$OUTPUT" >&5
   3.397 +	JVM_ARG_OK=false
   3.398 +    fi
   3.399 +
   3.400 +    fi
   3.401 +    if test "$MEMORY_SIZE" -gt "3800" && test "$JVM_ARG_OK" = false; then
   3.402 +
   3.403 +    $ECHO "Check if jvm arg is ok: -Xms1G -Xmx2500M" >&5
   3.404 +    $ECHO "Command: $SJAVAC_SERVER_JAVA -Xms1G -Xmx2500M -version" >&5
   3.405 +    OUTPUT=`$SJAVAC_SERVER_JAVA -Xms1G -Xmx2500M -version 2>&1`
   3.406 +    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
   3.407 +    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
   3.408      if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
   3.409          SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xms1G -Xmx2500M"
   3.410 -    fi
   3.411 -
   3.412 -    elif test "$MEMORY_SIZE" -gt "1900"; then
   3.413 -        MAX_HEAP_MEM=1200
   3.414 -
   3.415 -    # Test if -Xms700M -Xmx1400M is a valid argument to $SJAVAC_SERVER_JAVA (often is $JAVA passed as $SJAVAC_SERVER_JAVA)
   3.416 -    # If so, then append -Xms700M -Xmx1400M to SJAVAC_SERVER_JAVA
   3.417 -    FOUND_WARN=`$SJAVAC_SERVER_JAVA -Xms700M -Xmx1400M -version 2>&1 | grep -i warn`
   3.418 -    FOUND_VERSION=`$SJAVAC_SERVER_JAVA -Xms700M -Xmx1400M -version 2>&1 | grep " version \""`
   3.419 +	JVM_ARG_OK=true
   3.420 +    else
   3.421 +	$ECHO "Arg failed:" >&5
   3.422 +	$ECHO "$OUTPUT" >&5
   3.423 +	JVM_ARG_OK=false
   3.424 +    fi
   3.425 +
   3.426 +    fi
   3.427 +fi
   3.428 +if test "$MEMORY_SIZE" -gt "2500" && test "$JVM_ARG_OK" = false; then
   3.429 +
   3.430 +    $ECHO "Check if jvm arg is ok: -Xms1000M -Xmx1500M" >&5
   3.431 +    $ECHO "Command: $SJAVAC_SERVER_JAVA -Xms1000M -Xmx1500M -version" >&5
   3.432 +    OUTPUT=`$SJAVAC_SERVER_JAVA -Xms1000M -Xmx1500M -version 2>&1`
   3.433 +    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
   3.434 +    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
   3.435      if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
   3.436 -        SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xms700M -Xmx1400M"
   3.437 -    fi
   3.438 -
   3.439 -    elif test "$MEMORY_SIZE" -gt "1000"; then
   3.440 -        MAX_HEAP_MEM=900
   3.441 -
   3.442 -    # Test if -Xms400M -Xmx1100M is a valid argument to $SJAVAC_SERVER_JAVA (often is $JAVA passed as $SJAVAC_SERVER_JAVA)
   3.443 -    # If so, then append -Xms400M -Xmx1100M to SJAVAC_SERVER_JAVA
   3.444 -    FOUND_WARN=`$SJAVAC_SERVER_JAVA -Xms400M -Xmx1100M -version 2>&1 | grep -i warn`
   3.445 -    FOUND_VERSION=`$SJAVAC_SERVER_JAVA -Xms400M -Xmx1100M -version 2>&1 | grep " version \""`
   3.446 +        SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xms1000M -Xmx1500M"
   3.447 +	JVM_ARG_OK=true
   3.448 +    else
   3.449 +	$ECHO "Arg failed:" >&5
   3.450 +	$ECHO "$OUTPUT" >&5
   3.451 +	JVM_ARG_OK=false
   3.452 +    fi
   3.453 +
   3.454 +fi
   3.455 +if test "$MEMORY_SIZE" -gt "1000" && test "$JVM_ARG_OK" = false; then
   3.456 +
   3.457 +    $ECHO "Check if jvm arg is ok: -Xms400M -Xmx1100M" >&5
   3.458 +    $ECHO "Command: $SJAVAC_SERVER_JAVA -Xms400M -Xmx1100M -version" >&5
   3.459 +    OUTPUT=`$SJAVAC_SERVER_JAVA -Xms400M -Xmx1100M -version 2>&1`
   3.460 +    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
   3.461 +    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
   3.462      if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
   3.463          SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xms400M -Xmx1100M"
   3.464 -    fi
   3.465 -
   3.466 -    else
   3.467 -        MAX_HEAP_MEM=512
   3.468 -
   3.469 -    # Test if -Xms256M -Xmx512M is a valid argument to $SJAVAC_SERVER_JAVA (often is $JAVA passed as $SJAVAC_SERVER_JAVA)
   3.470 -    # If so, then append -Xms256M -Xmx512M to SJAVAC_SERVER_JAVA
   3.471 -    FOUND_WARN=`$SJAVAC_SERVER_JAVA -Xms256M -Xmx512M -version 2>&1 | grep -i warn`
   3.472 -    FOUND_VERSION=`$SJAVAC_SERVER_JAVA -Xms256M -Xmx512M -version 2>&1 | grep " version \""`
   3.473 +	JVM_ARG_OK=true
   3.474 +    else
   3.475 +	$ECHO "Arg failed:" >&5
   3.476 +	$ECHO "$OUTPUT" >&5
   3.477 +	JVM_ARG_OK=false
   3.478 +    fi
   3.479 +
   3.480 +fi
   3.481 +if test "$JVM_ARG_OK" = false; then
   3.482 +
   3.483 +    $ECHO "Check if jvm arg is ok: -Xms256M -Xmx512M" >&5
   3.484 +    $ECHO "Command: $SJAVAC_SERVER_JAVA -Xms256M -Xmx512M -version" >&5
   3.485 +    OUTPUT=`$SJAVAC_SERVER_JAVA -Xms256M -Xmx512M -version 2>&1`
   3.486 +    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
   3.487 +    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
   3.488      if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
   3.489          SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xms256M -Xmx512M"
   3.490 -    fi
   3.491 -
   3.492 -    fi
   3.493 -
   3.494 -
   3.495 -    # Test if -XX:PermSize=32m is a valid argument to $SJAVAC_SERVER_JAVA (often is $JAVA passed as $SJAVAC_SERVER_JAVA)
   3.496 -    # If so, then append -XX:PermSize=32m to SJAVAC_SERVER_JAVA
   3.497 -    FOUND_WARN=`$SJAVAC_SERVER_JAVA -XX:PermSize=32m -version 2>&1 | grep -i warn`
   3.498 -    FOUND_VERSION=`$SJAVAC_SERVER_JAVA -XX:PermSize=32m -version 2>&1 | grep " version \""`
   3.499 -    if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
   3.500 -        SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -XX:PermSize=32m"
   3.501 -    fi
   3.502 -
   3.503 -
   3.504 -    # Test if -XX:MaxPermSize=160m is a valid argument to $SJAVAC_SERVER_JAVA (often is $JAVA passed as $SJAVAC_SERVER_JAVA)
   3.505 -    # If so, then append -XX:MaxPermSize=160m to SJAVAC_SERVER_JAVA
   3.506 -    FOUND_WARN=`$SJAVAC_SERVER_JAVA -XX:MaxPermSize=160m -version 2>&1 | grep -i warn`
   3.507 -    FOUND_VERSION=`$SJAVAC_SERVER_JAVA -XX:MaxPermSize=160m -version 2>&1 | grep " version \""`
   3.508 -    if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
   3.509 -        SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -XX:MaxPermSize=160m"
   3.510 -    fi
   3.511 -
   3.512 -
   3.513 -    # Test if -XX:ThreadStackSize=$STACK_SIZE is a valid argument to $SJAVAC_SERVER_JAVA (often is $JAVA passed as $SJAVAC_SERVER_JAVA)
   3.514 -    # If so, then append -XX:ThreadStackSize=$STACK_SIZE to SJAVAC_SERVER_JAVA
   3.515 -    FOUND_WARN=`$SJAVAC_SERVER_JAVA -XX:ThreadStackSize=$STACK_SIZE -version 2>&1 | grep -i warn`
   3.516 -    FOUND_VERSION=`$SJAVAC_SERVER_JAVA -XX:ThreadStackSize=$STACK_SIZE -version 2>&1 | grep " version \""`
   3.517 -    if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
   3.518 -        SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -XX:ThreadStackSize=$STACK_SIZE"
   3.519 -    fi
   3.520 -
   3.521 -
   3.522 -    MAX_COMPILERS_IN_HEAP=`expr $MAX_HEAP_MEM / 501`
   3.523 -    if test "$SJAVAC_SERVER_CORES" -gt "$MAX_COMPILERS_IN_HEAP"; then
   3.524 -        { $as_echo "$as_me:${as_lineno-$LINENO}: checking if number of server cores must be reduced" >&5
   3.525 -$as_echo_n "checking if number of server cores must be reduced... " >&6; }
   3.526 -        SJAVAC_SERVER_CORES="$MAX_COMPILERS_IN_HEAP"
   3.527 -        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, to $SJAVAC_SERVER_CORES with max heap size $MAX_HEAP_MEM MB" >&5
   3.528 -$as_echo "yes, to $SJAVAC_SERVER_CORES with max heap size $MAX_HEAP_MEM MB" >&6; }
   3.529 -    fi
   3.530 -fi
   3.531 -
   3.532 +	JVM_ARG_OK=true
   3.533 +    else
   3.534 +	$ECHO "Arg failed:" >&5
   3.535 +	$ECHO "$OUTPUT" >&5
   3.536 +	JVM_ARG_OK=false
   3.537 +    fi
   3.538 +
   3.539 +fi
   3.540  
   3.541  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use sjavac" >&5
   3.542  $as_echo_n "checking whether to use sjavac... " >&6; }

mercurial