Revision: 300
Author:
nfu...@google.com
Date: Tue Sep 16 11:53:36 2014 UTC
Log: Use --var=x64 to run the 64-bit version of ART
on platforms that support it.
--var=x32 is still the default.
https://code.google.com/p/vogar/source/detail?r=300
Modified:
/trunk/src/vogar/ModeId.java
/trunk/src/vogar/Variant.java
/trunk/src/vogar/android/HostRuntime.java
=======================================
--- /trunk/src/vogar/ModeId.java Tue Aug 5 14:21:42 2014 UTC
+++ /trunk/src/vogar/ModeId.java Tue Sep 16 11:53:36 2014 UTC
@@ -95,18 +95,22 @@
}
public boolean supportsVariant(Variant variant) {
- return variant == Variant.X32;
+ return variant == Variant.X32 || (this == HOST && variant ==
Variant.X64);
}
/** The default command to use for the mode unless overridden by
--vm-command */
public String defaultVmCommand(Variant variant) {
- if (variant != Variant.X32) {
- throw new IllegalArgumentException("Unsupported architecture
variant");
+ if (!supportsVariant(variant)) {
+ throw new AssertionError("Unsupported variant: " + variant + "
for " + this);
}
switch (this) {
case DEVICE:
case HOST:
- return "dalvikvm32";
+ if (variant == Variant.X32) {
+ return "dalvikvm32";
+ } else {
+ return "dalvikvm64";
+ }
case DEVICE_DALVIK:
case DEVICE_ART_KITKAT:
case HOST_DALVIK:
=======================================
--- /trunk/src/vogar/Variant.java Tue Aug 5 14:21:42 2014 UTC
+++ /trunk/src/vogar/Variant.java Tue Sep 16 11:53:36 2014 UTC
@@ -21,5 +21,7 @@
*/
public enum Variant {
/** 32-bit */
- X32
+ X32,
+ /** 64-bit */
+ X64
}
=======================================
--- /trunk/src/vogar/android/HostRuntime.java Tue Aug 5 14:21:42 2014 UTC
+++ /trunk/src/vogar/android/HostRuntime.java Tue Sep 16 11:53:36 2014 UTC
@@ -40,6 +40,7 @@
public final class HostRuntime implements Mode {
private final Run run;
private final ModeId modeId;
+ private final Variant variant;
public HostRuntime(Run run, ModeId modeId, Variant variant) {
if (!modeId.isHost() || !modeId.supportsVariant(variant)) {
@@ -48,6 +49,7 @@
}
this.run = run;
this.modeId = modeId;
+ this.variant = variant;
}
@Override public Task executeActionTask(Action action, boolean
useLargeTimeout) {
@@ -98,7 +100,14 @@
vmCommand.add(buildRoot + "/out/host/linux-x86/bin/" +
run.vmCommand);
- String libDir = buildRoot + "/out/host/linux-x86/lib";
+ String libDir = buildRoot + "/out/host/linux-x86";
+ if (variant == Variant.X32) {
+ libDir += "/lib";
+ } else if (variant == Variant.X64) {
+ libDir += "/lib64";
+ } else {
+ throw new AssertionError("Unsupported variant:" + variant);
+ }
builder.env("ANDROID_ROOT", buildRoot + "/out/host/linux-x86")
.env("LD_LIBRARY_PATH", libDir)
.env("DYLD_LIBRARY_PATH", libDir);