276 ADD_JVM_ARG_IF_OK([-Xverbose:gc],SJAVAC_SERVER_JAVA,[$JAVA]) |
276 ADD_JVM_ARG_IF_OK([-Xverbose:gc],SJAVAC_SERVER_JAVA,[$JAVA]) |
277 SJAVAC_SERVER_JAVA="$JAVA $SJAVAC_SERVER_JAVA" |
277 SJAVAC_SERVER_JAVA="$JAVA $SJAVAC_SERVER_JAVA" |
278 fi |
278 fi |
279 AC_SUBST(SJAVAC_SERVER_JAVA) |
279 AC_SUBST(SJAVAC_SERVER_JAVA) |
280 |
280 |
281 AC_ARG_WITH(sjavac-server-cores, [AS_HELP_STRING([--with-sjavac-server-cores], |
281 if test "$MEMORY_SIZE" -gt "2500"; then |
282 [use at most this number of concurrent threads on the sjavac server @<:@probed@:>@])]) |
282 ADD_JVM_ARG_IF_OK([-d64],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) |
283 if test "x$with_sjavac_server_cores" != x; then |
283 if test "$JVM_ARG_OK" = true; then |
284 SJAVAC_SERVER_CORES="$with_sjavac_server_cores" |
284 JVM_64BIT=true |
285 else |
285 JVM_ARG_OK=false |
286 if test "$NUM_CORES" -gt 16; then |
286 fi |
287 # We set this arbitrary limit because we want to limit the heap |
287 fi |
288 # size of the javac server. |
288 |
289 # In the future we will make the javac compilers in the server |
289 if test "$JVM_64BIT" = true; then |
290 # share more and more state, thus enabling us to use more and |
|
291 # more concurrent threads in the server. |
|
292 SJAVAC_SERVER_CORES="16" |
|
293 else |
|
294 SJAVAC_SERVER_CORES="$NUM_CORES" |
|
295 fi |
|
296 |
|
297 if test "$MEMORY_SIZE" -gt "17000"; then |
290 if test "$MEMORY_SIZE" -gt "17000"; then |
298 MAX_HEAP_MEM=10000 |
|
299 ADD_JVM_ARG_IF_OK([-d64],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) |
|
300 ADD_JVM_ARG_IF_OK([-Xms10G -Xmx10G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) |
291 ADD_JVM_ARG_IF_OK([-Xms10G -Xmx10G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) |
301 elif test "$MEMORY_SIZE" -gt "10000"; then |
292 fi |
302 MAX_HEAP_MEM=6000 |
293 if test "$MEMORY_SIZE" -gt "10000" && test "$JVM_ARG_OK" = false; then |
303 ADD_JVM_ARG_IF_OK([-d64],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) |
|
304 ADD_JVM_ARG_IF_OK([-Xms6G -Xmx6G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) |
294 ADD_JVM_ARG_IF_OK([-Xms6G -Xmx6G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) |
305 elif test "$MEMORY_SIZE" -gt "5000"; then |
295 fi |
306 MAX_HEAP_MEM=3000 |
296 if test "$MEMORY_SIZE" -gt "5000" && test "$JVM_ARG_OK" = false; then |
307 ADD_JVM_ARG_IF_OK([-d64],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) |
|
308 ADD_JVM_ARG_IF_OK([-Xms1G -Xmx3G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) |
297 ADD_JVM_ARG_IF_OK([-Xms1G -Xmx3G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) |
309 elif test "$MEMORY_SIZE" -gt "3800"; then |
298 fi |
310 MAX_HEAP_MEM=2500 |
299 if test "$MEMORY_SIZE" -gt "3800" && test "$JVM_ARG_OK" = false; then |
311 ADD_JVM_ARG_IF_OK([-Xms1G -Xmx2500M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) |
300 ADD_JVM_ARG_IF_OK([-Xms1G -Xmx2500M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) |
312 elif test "$MEMORY_SIZE" -gt "1900"; then |
301 fi |
313 MAX_HEAP_MEM=1200 |
302 fi |
314 ADD_JVM_ARG_IF_OK([-Xms700M -Xmx1400M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) |
303 if test "$MEMORY_SIZE" -gt "2500" && test "$JVM_ARG_OK" = false; then |
315 elif test "$MEMORY_SIZE" -gt "1000"; then |
304 ADD_JVM_ARG_IF_OK([-Xms1000M -Xmx1500M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) |
316 MAX_HEAP_MEM=900 |
305 fi |
317 ADD_JVM_ARG_IF_OK([-Xms400M -Xmx1100M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) |
306 if test "$MEMORY_SIZE" -gt "1000" && test "$JVM_ARG_OK" = false; then |
318 else |
307 ADD_JVM_ARG_IF_OK([-Xms400M -Xmx1100M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) |
319 MAX_HEAP_MEM=512 |
308 fi |
320 ADD_JVM_ARG_IF_OK([-Xms256M -Xmx512M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) |
309 if test "$JVM_ARG_OK" = false; then |
321 fi |
310 ADD_JVM_ARG_IF_OK([-Xms256M -Xmx512M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) |
322 |
311 fi |
323 ADD_JVM_ARG_IF_OK([-XX:PermSize=32m],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) |
|
324 ADD_JVM_ARG_IF_OK([-XX:MaxPermSize=160m],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) |
|
325 ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) |
|
326 |
|
327 MAX_COMPILERS_IN_HEAP=`expr $MAX_HEAP_MEM / 501` |
|
328 if test "$SJAVAC_SERVER_CORES" -gt "$MAX_COMPILERS_IN_HEAP"; then |
|
329 AC_MSG_CHECKING([if number of server cores must be reduced]) |
|
330 SJAVAC_SERVER_CORES="$MAX_COMPILERS_IN_HEAP" |
|
331 AC_MSG_RESULT([yes, to $SJAVAC_SERVER_CORES with max heap size $MAX_HEAP_MEM MB]) |
|
332 fi |
|
333 fi |
|
334 AC_SUBST(SJAVAC_SERVER_CORES) |
|
335 |
312 |
336 AC_MSG_CHECKING([whether to use sjavac]) |
313 AC_MSG_CHECKING([whether to use sjavac]) |
337 AC_ARG_ENABLE([sjavac], [AS_HELP_STRING([--enable-sjavac], |
314 AC_ARG_ENABLE([sjavac], [AS_HELP_STRING([--enable-sjavac], |
338 [use sjavac to do fast incremental compiles @<:@disabled@:>@])], |
315 [use sjavac to do fast incremental compiles @<:@disabled@:>@])], |
339 [ENABLE_SJAVAC="${enableval}"], [ENABLE_SJAVAC='no']) |
316 [ENABLE_SJAVAC="${enableval}"], [ENABLE_SJAVAC='no']) |