OSDN Git Service

Set DX stack size to 1M by default on Windows.
authorRaphael Moll <ralf@android.com>
Fri, 26 Aug 2011 21:42:41 +0000 (14:42 -0700)
committerRaphael Moll <ralf@android.com>
Fri, 26 Aug 2011 21:47:24 +0000 (14:47 -0700)
Bug: http://code.google.com/p/android/issues/detail?id=15181

Summary of bug: some user reported issues running dx.bat and
Fadden figured out the VM's stack size default was too small.
Using -Xss1m fixed it.

This CL introduces a default of -Xss1m and the usual mechanism
to override it using -JXssNm (like for -JXmx...)

Change-Id: I9769316c1708f08c91b93e07bd6d713a10561ea2

dx/etc/dx.bat

index 4b7b148..ac14fe6 100755 (executable)
@@ -47,11 +47,12 @@ set jarpath=%frameworkdir%%jarfile%
 set javaOpts=\r
 set args=\r
 \r
-REM By default, give dx a max heap size of 1 gig. This can be overridden\r
-REM by using a "-JXmx..." option (see below).\r
-set defaultMx=-Xmx1024M\r
+REM By default, give dx a max heap size of 1 gig and a stack size of 1meg.\r
+rem This can be overridden by using "-JXmx..." and "-JXss..." options below.\r
+set defaultXmx=-Xmx1024M\r
+set defaultXss=-Xss1m\r
 \r
-REM capture all arguments that are not -J options.\r
+REM Capture all arguments that are not -J options.\r
 REM Note that when reading the input arguments with %1, the cmd.exe\r
 REM automagically converts --name=value arguments into 2 arguments "--name"\r
 REM followed by "value". Dx has been changed to know how to deal with that.\r
@@ -61,11 +62,16 @@ set params=
 if [%1]==[] goto endArgs\r
 set a=%~1\r
 \r
-    if [%defaultMx%]==[] goto notXmx\r
+    if [%defaultXmx%]==[] goto notXmx\r
     if %a:~0,5% NEQ -JXmx goto notXmx\r
-        set defaultMx=\r
+        set defaultXmx=\r
     :notXmx\r
 \r
+    if [%defaultXss%]==[] goto notXss\r
+    if %a:~0,5% NEQ -JXss goto notXss\r
+        set defaultXss=\r
+    :notXss\r
+\r
     if %a:~0,2% NEQ -J goto notJ\r
         set javaOpts=%javaOpts% -%a:~2%\r
         shift /1\r
@@ -78,6 +84,6 @@ set a=%~1
 \r
 :endArgs\r
 \r
-set javaOpts=%javaOpts% %defaultMx%\r
+set javaOpts=%javaOpts% %defaultXmx% %defaultXss%\r
 \r
 call %java_exe% %javaOpts% -Djava.ext.dirs=%frameworkdir% -jar %jarpath% %params%\r