Merge "Fix register allocation of arguments and triage remaining example tests."
diff --git a/src/main/java/com/android/tools/r8/D8.java b/src/main/java/com/android/tools/r8/D8.java
index ae370ae..cb19bad 100644
--- a/src/main/java/com/android/tools/r8/D8.java
+++ b/src/main/java/com/android/tools/r8/D8.java
@@ -19,6 +19,7 @@
 import com.android.tools.r8.utils.InternalOptions;
 import com.android.tools.r8.utils.ThreadUtils;
 import com.android.tools.r8.utils.Timing;
+import com.android.tools.r8.utils.VersionProperties;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
@@ -153,9 +154,13 @@
     if (options.hasMarker()) {
       return options.getMarker();
     }
-    return new Marker(Tool.D8)
+    Marker marker = new Marker(Tool.D8)
         .put("version", Version.LABEL)
         .put("min-api", options.minApiLevel);
+    if (Version.isDev()) {
+      marker.put("sha-1", VersionProperties.INSTANCE.getSha());
+    }
+    return marker;
   }
 
   private static CompilationResult runForTesting(
diff --git a/src/main/java/com/android/tools/r8/R8.java b/src/main/java/com/android/tools/r8/R8.java
index 2b21efc..76a6ed1 100644
--- a/src/main/java/com/android/tools/r8/R8.java
+++ b/src/main/java/com/android/tools/r8/R8.java
@@ -48,6 +48,7 @@
 import com.android.tools.r8.utils.StringDiagnostic;
 import com.android.tools.r8.utils.ThreadUtils;
 import com.android.tools.r8.utils.Timing;
+import com.android.tools.r8.utils.VersionProperties;
 import com.google.common.io.ByteStreams;
 import java.io.ByteArrayOutputStream;
 import java.io.FileOutputStream;
@@ -78,9 +79,13 @@
     if (options.hasMarker()) {
       return options.getMarker();
     }
-    return new Marker(Tool.R8)
+    Marker marker = new Marker(Tool.R8)
         .put("version", Version.LABEL)
         .put("min-api", options.minApiLevel);
+    if (Version.isDev()) {
+      marker.put("sha-1", VersionProperties.INSTANCE.getSha());
+    }
+    return marker;
   }
 
   public static void writeApplication(
diff --git a/src/main/java/com/android/tools/r8/Version.java b/src/main/java/com/android/tools/r8/Version.java
index c59c205..44e1bf4 100644
--- a/src/main/java/com/android/tools/r8/Version.java
+++ b/src/main/java/com/android/tools/r8/Version.java
@@ -5,7 +5,6 @@
 package com.android.tools.r8;
 
 import com.android.tools.r8.utils.VersionProperties;
-import java.io.IOException;
 
 public final class Version {
 
@@ -16,13 +15,10 @@
 
   public static void printToolVersion(String toolName) {
     System.out.println(toolName + " " + Version.LABEL);
-    try {
-      VersionProperties version =
-          new VersionProperties(Version.class.getClassLoader());
-      System.out.println(version.getDescription());
-    } catch (IOException e) {
-      System.out.println("eng build");
-    }
+    System.out.println(VersionProperties.INSTANCE.getDescription());
+  }
 
+  public static boolean isDev() {
+    return LABEL.endsWith("-dev") || VersionProperties.INSTANCE.isEngineering();
   }
 }
diff --git a/src/main/java/com/android/tools/r8/utils/VersionProperties.java b/src/main/java/com/android/tools/r8/utils/VersionProperties.java
index 57aea8b..28ac2ef 100644
--- a/src/main/java/com/android/tools/r8/utils/VersionProperties.java
+++ b/src/main/java/com/android/tools/r8/utils/VersionProperties.java
@@ -14,16 +14,29 @@
  */
 public class VersionProperties {
 
+  public static final VersionProperties INSTANCE = get();
+
   private static final String VERSION_CODE_KEY = "version-file.version.code";
   private static final String SHA_KEY = "version.sha";
   private static final String RELEASER_KEY = "releaser";
 
   private static final String RESOURCE_NAME = "r8-version.properties";
 
-  private String codeBase;
+  private String sha;
   private String releaser;
 
-  public VersionProperties(ClassLoader loader)
+  private static VersionProperties get() {
+    try {
+      return new VersionProperties(VersionProperties.class.getClassLoader());
+    } catch (IOException e) {
+      return new VersionProperties();
+    }
+  }
+
+  private VersionProperties() {
+  }
+
+  private VersionProperties(ClassLoader loader)
       throws IOException {
     try (InputStream resourceStream = loader.getResourceAsStream(RESOURCE_NAME)) {
       if (resourceStream == null) {
@@ -40,20 +53,24 @@
     long versionFileVersion = Long.parseLong(prop.getProperty(VERSION_CODE_KEY));
     assert versionFileVersion >= 1;
 
-    codeBase = prop.getProperty(SHA_KEY);
+    sha = prop.getProperty(SHA_KEY);
     releaser = prop.getProperty(RELEASER_KEY);
   }
 
   public String getDescription() {
-    if (codeBase != null && !codeBase.trim().isEmpty()) {
-      return "build " + codeBase + (releaser != null ? " from " + releaser : "");
-    } else {
-      return "eng build" + (releaser != null ? " from " + releaser : "");
-    }
+    return "build " + getSha() + (releaser != null ? " from " + releaser : "");
+  }
+
+  public String getSha() {
+    return isEngineering() ? "engineering" : sha;
   }
 
   @Override
   public String toString() {
-    return codeBase + " from " + releaser;
+    return sha + " from " + releaser;
+  }
+
+  public boolean isEngineering() {
+    return sha == null || sha.trim().isEmpty();
   }
 }
diff --git a/src/test/java/com/android/tools/r8/jasmin/BooleanByteConfusion.java b/src/test/java/com/android/tools/r8/jasmin/BooleanByteConfusion.java
index 931b58a..561fa9b 100644
--- a/src/test/java/com/android/tools/r8/jasmin/BooleanByteConfusion.java
+++ b/src/test/java/com/android/tools/r8/jasmin/BooleanByteConfusion.java
@@ -21,7 +21,7 @@
 
   @Test
   public void booleanByteConfusion() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     // public static void foo(boolean condition) {
diff --git a/src/test/java/com/android/tools/r8/jasmin/DebugLocalTests.java b/src/test/java/com/android/tools/r8/jasmin/DebugLocalTests.java
index a50c831..e572bfa 100644
--- a/src/test/java/com/android/tools/r8/jasmin/DebugLocalTests.java
+++ b/src/test/java/com/android/tools/r8/jasmin/DebugLocalTests.java
@@ -171,7 +171,7 @@
   // Check that we properly handle switching a local slot from one variable to another.
   @Test
   public void checkLocalChange() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     MethodSignature foo = clazz.addStaticMethod("foo", ImmutableList.of("I"), "I",
@@ -342,7 +342,7 @@
 
   @Test
   public void argumentLiveAtReturn() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     /*
@@ -443,7 +443,7 @@
 
   @Test
   public void testLocalSwitchRewriteToIfs() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     /*
@@ -541,7 +541,7 @@
 
   @Test
   public void testLocalSwitchRewriteToSwitches() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     /*
diff --git a/src/test/java/com/android/tools/r8/jasmin/FillBooleanArrayTruncation.java b/src/test/java/com/android/tools/r8/jasmin/FillBooleanArrayTruncation.java
index 6f9cb79..a38ee9e 100644
--- a/src/test/java/com/android/tools/r8/jasmin/FillBooleanArrayTruncation.java
+++ b/src/test/java/com/android/tools/r8/jasmin/FillBooleanArrayTruncation.java
@@ -45,7 +45,7 @@
 
   @Test
   public void filledArray() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     // Corresponds to something like the following (which doesn't compile with javac):
diff --git a/src/test/java/com/android/tools/r8/jasmin/InvalidDebugInfoTests.java b/src/test/java/com/android/tools/r8/jasmin/InvalidDebugInfoTests.java
index 1292846..9394995 100644
--- a/src/test/java/com/android/tools/r8/jasmin/InvalidDebugInfoTests.java
+++ b/src/test/java/com/android/tools/r8/jasmin/InvalidDebugInfoTests.java
@@ -27,7 +27,7 @@
   // will actually be a read of 'x'.
   @Test
   public void testInvalidInfoThrow() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     clazz.addStaticMethod("foo", ImmutableList.of("I"), "V",
@@ -86,7 +86,7 @@
   // in this test the scope of "y" (local 2) spans the exceptional edge in which it is not live.
   @Test
   public void testInvalidInfoBug37722432() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     clazz.addStaticMethod("foo", ImmutableList.of("I", "I"), "V",
@@ -219,7 +219,7 @@
 
   @Test
   public void invalidInfoBug63412730_onMove() throws Throwable {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
     MethodSignature method = clazz.addStaticMethod("bar", ImmutableList.of(), "V",
         ".limit stack 3",
diff --git a/src/test/java/com/android/tools/r8/jasmin/JasminBuilder.java b/src/test/java/com/android/tools/r8/jasmin/JasminBuilder.java
index ec60d10..964f004 100644
--- a/src/test/java/com/android/tools/r8/jasmin/JasminBuilder.java
+++ b/src/test/java/com/android/tools/r8/jasmin/JasminBuilder.java
@@ -55,36 +55,6 @@
       public int getMajorVersion() {
         return 48;
       }
-    },
-    JSE_5 {
-      @Override
-      public int getMajorVersion() {
-        return 49;
-      }
-    },
-    JSE_6 {
-      @Override
-      public int getMajorVersion() {
-        return 50;
-      }
-    },
-    JSE_7 {
-      @Override
-      public int getMajorVersion() {
-        return 51;
-      }
-    },
-    JSE_8 {
-      @Override
-      public int getMajorVersion() {
-        return 52;
-      }
-    },
-    JSE_9 {
-      @Override
-      public int getMajorVersion() {
-        return 53;
-      }
     };
 
     public abstract int getMajorVersion();
@@ -248,7 +218,7 @@
   private final int majorVersion;
 
   public JasminBuilder() {
-    this(ClassFileVersion.JSE_8);
+    this(ClassFileVersion.JDK_1_4);
   }
 
   public JasminBuilder(ClassFileVersion version) {
diff --git a/src/test/java/com/android/tools/r8/jasmin/JumpSubroutineDebugInfoTests.java b/src/test/java/com/android/tools/r8/jasmin/JumpSubroutineDebugInfoTests.java
index 501ad41..9711c88 100644
--- a/src/test/java/com/android/tools/r8/jasmin/JumpSubroutineDebugInfoTests.java
+++ b/src/test/java/com/android/tools/r8/jasmin/JumpSubroutineDebugInfoTests.java
@@ -16,7 +16,7 @@
 
   @Test
   public void testJsrWithStraightlineAndDebugInfoCode() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     MethodSignature foo = clazz.addStaticMethod("foo", ImmutableList.of("I"), "I",
diff --git a/src/test/java/com/android/tools/r8/jasmin/JumpSubroutineTests.java b/src/test/java/com/android/tools/r8/jasmin/JumpSubroutineTests.java
index 2db6e33..5e41a25 100644
--- a/src/test/java/com/android/tools/r8/jasmin/JumpSubroutineTests.java
+++ b/src/test/java/com/android/tools/r8/jasmin/JumpSubroutineTests.java
@@ -161,7 +161,7 @@
 
   @Test
   public void testJsrWithStraightlineCode() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     clazz.addStaticMethod("foo", ImmutableList.of(), "I",
@@ -193,7 +193,7 @@
 
   @Test
   public void testJsrWithStraightlineCodeMultiple() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     clazz.addStaticMethod("foo", ImmutableList.of(), "I",
@@ -233,7 +233,7 @@
 
   @Test
   public void testJsrWithStraightlineCodeMultiple2() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     clazz.addStaticMethod("foo", ImmutableList.of(), "I",
@@ -279,7 +279,7 @@
 
   @Test
   public void testJsrWithControlFlowCode() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     clazz.addStaticMethod("foo", ImmutableList.of(), "V",
@@ -316,7 +316,7 @@
 
   @Test
   public void testJsrWithNestedJsr() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     clazz.addStaticMethod("foo", ImmutableList.of(), "V",
@@ -361,7 +361,7 @@
 
   @Test
   public void testJsrWithNestedJsrPopReturnAddress() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     clazz.addStaticMethod("foo", ImmutableList.of(), "V",
@@ -393,7 +393,7 @@
 
   @Test
   public void testJsrWithNestedPopReturnAddress2() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     clazz.addStaticMethod("foo", ImmutableList.of(), "V",
@@ -419,7 +419,7 @@
 
   @Test
   public void testJsrJustThrows() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     clazz.addStaticMethod("foo", ImmutableList.of(), "V",
@@ -451,7 +451,7 @@
 
   @Test
   public void testJsrJustThrows2() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     clazz.addStaticMethod("foo", ImmutableList.of(), "V",
@@ -490,7 +490,7 @@
 
   @Test
   public void testJsrWithException() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     clazz.addStaticMethod("foo", ImmutableList.of(), "V",
@@ -538,7 +538,7 @@
 
   @Test
   public void testJsrWithAddressManipulation() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     clazz.addStaticMethod("foo", ImmutableList.of(), "V",
@@ -574,7 +574,7 @@
   @Test
   public void testJsrWithSharedExceptionHandler() throws Exception {
     // Regression test for b/37659886
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     clazz.addStaticMethod("foo", ImmutableList.of("I"), "V",
@@ -616,7 +616,7 @@
 
   @Test
   public void regressJsrHitParentCatchHandler() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     clazz.addStaticMethod("test", ImmutableList.of(), "I",
@@ -708,7 +708,7 @@
 
   @Test
   public void regressJsrHitParentCatchHandler2() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     generateRegressJsrHitParentCatchHandler2(clazz, "test1", "java/lang/Exception", false);
@@ -735,7 +735,7 @@
   // https://github.com/cbeust/testng/blob/4a8459e36f2b0ed057ffa7e470f1057e8e5b0ff9/src/main/java/org/testng/internal/Invoker.java#L1066
   // compiled with some ancient version of javac generating code with jsr for try/finally.
   public void regress38156139() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     clazz.addStaticMethod("foo", ImmutableList.of("Z"), "I",
@@ -788,7 +788,7 @@
 
   @Test
   public void regress37767254() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     // This is the code for the method org.apache.log4j.net.SocketAppender$Connector.run() from
@@ -1351,7 +1351,7 @@
   @Test
   // This test is based on the example on http://asm.ow2.org/doc/developer-guide.html.
   public void testJsrWithNestedRetBasedOnControlFlow2() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     clazz.addStaticMethod("foo", ImmutableList.of("Z"), "I",
@@ -1399,7 +1399,7 @@
   @Test
   // This test is based on the example on http://asm.ow2.org/doc/developer-guide.html.
   public void testJsrWithNestedRetBasedOnControlFlow3() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     clazz.addStaticMethod("foo", ImmutableList.of("Z"), "I",
diff --git a/src/test/java/com/android/tools/r8/jasmin/Regress63598979.java b/src/test/java/com/android/tools/r8/jasmin/Regress63598979.java
index e7c601c..edfaff0 100644
--- a/src/test/java/com/android/tools/r8/jasmin/Regress63598979.java
+++ b/src/test/java/com/android/tools/r8/jasmin/Regress63598979.java
@@ -13,7 +13,7 @@
 
   @Test
   public void testSimplifyIf() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     clazz.addStaticMethod("test1", ImmutableList.of("Z"), "Z",
diff --git a/src/test/java/com/android/tools/r8/jasmin/Regress64658224.java b/src/test/java/com/android/tools/r8/jasmin/Regress64658224.java
index 019e5e6..4390d30 100644
--- a/src/test/java/com/android/tools/r8/jasmin/Regress64658224.java
+++ b/src/test/java/com/android/tools/r8/jasmin/Regress64658224.java
@@ -13,7 +13,7 @@
 
   @Test
   public void testInvalidTypeInfoFromLocals() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     clazz.addStaticMethod("foo", ImmutableList.of("I"), "V",
diff --git a/src/test/java/com/android/tools/r8/jasmin/Regress65432240.java b/src/test/java/com/android/tools/r8/jasmin/Regress65432240.java
index b0a5589..6290e20 100644
--- a/src/test/java/com/android/tools/r8/jasmin/Regress65432240.java
+++ b/src/test/java/com/android/tools/r8/jasmin/Regress65432240.java
@@ -20,7 +20,7 @@
 
   @Test
   public void testConstantNotIntoEntryBlock() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     MethodSignature signature = clazz.addStaticMethod("test1", ImmutableList.of("I"), "I",
diff --git a/src/test/java/com/android/tools/r8/jasmin/TryCatchStateTests.java b/src/test/java/com/android/tools/r8/jasmin/TryCatchStateTests.java
index d9bd2c9..ff63ed9 100644
--- a/src/test/java/com/android/tools/r8/jasmin/TryCatchStateTests.java
+++ b/src/test/java/com/android/tools/r8/jasmin/TryCatchStateTests.java
@@ -14,7 +14,7 @@
 
   @Test
   public void testTryCatchStackHeight() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     clazz.addStaticMethod("foo", ImmutableList.of("I"), "I",
@@ -60,7 +60,7 @@
 
   @Test
   public void testTryCatchLocals() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     clazz.addStaticMethod("foo", ImmutableList.of("I"), "I",
@@ -108,7 +108,7 @@
 
   @Test
   public void testTryCatchOnUnreachableLabel() throws Exception {
-    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JSE_6);
+    JasminBuilder builder = new JasminBuilder(ClassFileVersion.JDK_1_4);
     JasminBuilder.ClassBuilder clazz = builder.addClass("Test");
 
     clazz.addStaticMethod("foo", ImmutableList.of("I"), "I",