Insert -d32 flag only when os == mac and vm is 64-bit.

Review by: jat



git-svn-id: https://google-web-toolkit.googlecode.com/svn/releases/1.7@6164 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/user/tools/WebAppCreator.java b/user/src/com/google/gwt/user/tools/WebAppCreator.java
index 8bd738c..ddb8da1 100644
--- a/user/src/com/google/gwt/user/tools/WebAppCreator.java
+++ b/user/src/com/google/gwt/user/tools/WebAppCreator.java
@@ -229,6 +229,7 @@
     // Figure out what platform we're on
     boolean isMacOsX = gwtDevPath.substring(gwtDevPath.lastIndexOf('/') + 1).indexOf(
         "mac") >= 0;
+    boolean is64BitVm = "64".equals(System.getProperty("sun.arch.data.model"));
 
     // Compute module package and name.
     int pos = moduleName.lastIndexOf('.');
@@ -259,16 +260,25 @@
     replacements.put("@shellClass", HostedMode.class.getName());
     replacements.put("@compileClass", Compiler.class.getName());
     replacements.put("@startupUrl", moduleShortName + ".html");
-    replacements.put("@antSetUp32BitVmarg", isMacOsX
-        ? "\n  <condition property=\"HostedMode32BitVmarg\" value=\"-d32\""
-            + " else=\"-Dgwt.dummy.arg\">\n"
-            + "    <equals arg1=\"${sun.arch.data.model}\" arg2=\"64\"/>\n"
-            + "  </condition>\n" : "");
-    replacements.put("@antUse32BitVmarg", isMacOsX
-        ? "\n      <jvmarg value=\"${HostedMode32BitVmarg}\"/>" : "");
-    replacements.put("@antVmargs", isMacOsX
-        ? "\n      <jvmarg value=\"-XstartOnFirstThread\"/>" : "");
-    replacements.put("@vmargs", isMacOsX ? "&#10;-XstartOnFirstThread" : "");
+
+    String antVmargs = "";
+    if (isMacOsX) {
+	antVmargs = "\n      <jvmarg value=\"-XstartOnFirstThread\"/>";
+	if (is64BitVm) {
+	    antVmargs += "\n      <jvmarg value=\"-d32\"/>";
+	}
+    }
+    replacements.put("@antVmargs", antVmargs);
+
+    String vmargs = "";
+    if (isMacOsX) {
+	vmargs = "&#10;-XstartOnFirstThread";
+	if (is64BitVm) {
+	    vmargs += "&#10;-d32";
+	}
+    }
+    replacements.put("@vmargs", vmargs);
+
     replacements.put("@renameTo", moduleShortName.toLowerCase());
 
     String antEclipseRule = "";
diff --git a/user/src/com/google/gwt/user/tools/project.ant.xmlsrc b/user/src/com/google/gwt/user/tools/project.ant.xmlsrc
index a88972c..8b3ef42 100644
--- a/user/src/com/google/gwt/user/tools/project.ant.xmlsrc
+++ b/user/src/com/google/gwt/user/tools/project.ant.xmlsrc
@@ -43,14 +43,13 @@
     </java>
   </target>
 
-  <!-- Note: hosted mode requires a 32-bit JVM -->@antSetUp32BitVmarg
   <target name="hosted" depends="javac" description="Run hosted mode">
     <java failonerror="true" fork="true" classname="@shellClass">
       <classpath>
         <pathelement location="src"/>
         <path refid="project.class.path"/>
       </classpath>
-      <jvmarg value="-Xmx256M"/>@antUse32BitVmarg@antVmargs
+      <jvmarg value="-Xmx256M"/>@antVmargs
       <arg value="-startupUrl"/>
       <arg value="@startupUrl"/>
       <!-- Additional arguments like -style PRETTY or -logLevel DEBUG -->