OSDN Git Service

Disabled fallback to interpreter in dexfuzz.
authorBranislav Rankov <branislav.rankov@linaro.org>
Tue, 29 Nov 2016 14:02:04 +0000 (14:02 +0000)
committerBranislav Rankov <branislav.rankov@linaro.org>
Tue, 29 Nov 2016 14:21:20 +0000 (14:21 +0000)
Added the -Xno-dex-file-fallback option when running optimizing backends so
that it fails in case compilation fails.

Test: Introduce an artificial crash in the optimizing compiler. There should
be a divergence reported.
dexfuzz --input=Hello.dex --execute --arm --interpreter --optimizing --repeat=20 --dump-output

Change-Id: I8adfc68b176b7482efce0cc7335c3cc50857c5a2

tools/dexfuzz/src/dexfuzz/executors/Arm64OptimizingBackendExecutor.java
tools/dexfuzz/src/dexfuzz/executors/ArmOptimizingBackendExecutor.java
tools/dexfuzz/src/dexfuzz/executors/Mips64OptimizingBackendExecutor.java
tools/dexfuzz/src/dexfuzz/executors/MipsOptimizingBackendExecutor.java
tools/dexfuzz/src/dexfuzz/executors/X86OptimizingBackendExecutor.java
tools/dexfuzz/src/dexfuzz/executors/X86_64OptimizingBackendExecutor.java

index 72e36e8..84ed4c4 100644 (file)
@@ -29,6 +29,9 @@ public class Arm64OptimizingBackendExecutor extends Executor {
   protected String constructCommand(String programName) {
     StringBuilder commandBuilder = new StringBuilder();
     commandBuilder.append("dalvikvm64 -Xcompiler-option --compiler-backend=Optimizing ");
+    // The -Xno-dex-file-fallback option ensures that the execution does not default to
+    // interpreter if compilations fails.
+    commandBuilder.append("-Xno-dex-file-fallback ");
     if (device.noBootImageAvailable()) {
       commandBuilder.append("-Ximage:/data/art-test/core.art -Xnorelocate ");
     }
index ded8cf9..26a5eea 100644 (file)
@@ -29,6 +29,9 @@ public class ArmOptimizingBackendExecutor extends Executor {
   protected String constructCommand(String programName) {
     StringBuilder commandBuilder = new StringBuilder();
     commandBuilder.append("dalvikvm32 -Xcompiler-option --compiler-backend=Optimizing ");
+    // The -Xno-dex-file-fallback option ensures that the execution does not default to
+    // interpreter if compilations fails.
+    commandBuilder.append("-Xno-dex-file-fallback ");
     if (device.noBootImageAvailable()) {
       commandBuilder.append("-Ximage:/data/art-test/core.art -Xnorelocate ");
     }
index 72d43e7..883ff2a 100644 (file)
@@ -29,6 +29,9 @@ public class Mips64OptimizingBackendExecutor extends Executor {
   protected String constructCommand(String programName) {
     StringBuilder commandBuilder = new StringBuilder();
     commandBuilder.append("dalvikvm64 -Xcompiler-option --compiler-backend=Optimizing ");
+    // The -Xno-dex-file-fallback option ensures that the execution does not default to
+    // interpreter if compilations fails.
+    commandBuilder.append("-Xno-dex-file-fallback ");
     commandBuilder.append("-cp ").append(testLocation).append("/").append(programName).append(" ");
     commandBuilder.append(executeClass);
     return commandBuilder.toString();
index 63f6858..b7babdc 100644 (file)
@@ -29,6 +29,9 @@ public class MipsOptimizingBackendExecutor extends Executor {
   protected String constructCommand(String programName) {
     StringBuilder commandBuilder = new StringBuilder();
     commandBuilder.append("dalvikvm32 -Xcompiler-option --compiler-backend=Optimizing ");
+    // The -Xno-dex-file-fallback option ensures that the execution does not default to
+    // interpreter if compilations fails.
+    commandBuilder.append("-Xno-dex-file-fallback ");
     commandBuilder.append("-cp ").append(testLocation).append("/").append(programName).append(" ");
     commandBuilder.append(executeClass);
     return commandBuilder.toString();
index 5908a8b..1d62051 100644 (file)
@@ -30,6 +30,9 @@ public class X86OptimizingBackendExecutor extends Executor {
   protected String constructCommand(String programName) {
     StringBuilder commandBuilder = new StringBuilder();
     commandBuilder.append("dalvikvm32 -Xcompiler-option --compiler-backend=Optimizing ");
+    // The -Xno-dex-file-fallback option ensures that the execution does not default to
+    // interpreter if compilations fails.
+    commandBuilder.append("-Xno-dex-file-fallback ");
     if (Options.executeOnHost) {
       commandBuilder.append(device.getHostExecutionFlags()).append(" ");
     }
index 28ff1a5..ad44259 100644 (file)
@@ -29,6 +29,9 @@ public class X86_64OptimizingBackendExecutor extends Executor {
   protected String constructCommand(String programName) {
     StringBuilder commandBuilder = new StringBuilder();
     commandBuilder.append("dalvikvm64 -Xcompiler-option --compiler-backend=Optimizing ");
+    // The -Xno-dex-file-fallback option ensures that the execution does not default to
+    // interpreter if compilations fails.
+    commandBuilder.append("-Xno-dex-file-fallback ");
     commandBuilder.append("-cp ").append(testLocation).append("/").append(programName).append(" ");
     commandBuilder.append(executeClass);
     return commandBuilder.toString();