Update Art version 13 (Android T)

Built from tm-dev commit 442e1091f39417c692d91609af05e58af60d8e2b.

Bug: 229706824
Bug: 144410139
Change-Id: I2690a70aafee420bb885bc74a5e919328750864a
Fixes: 228290516
diff --git a/build.gradle b/build.gradle
index e5467f0..de4adfc 100644
--- a/build.gradle
+++ b/build.gradle
@@ -369,7 +369,7 @@
                 "linux/art-9.0.0",
                 "linux/art-10.0.0",
                 "linux/host/art-12.0.0-beta4",
-                "linux/host/art-13-master",
+                "linux/host/art-13-dev",
                 "linux/dalvik",
                 "linux/dalvik-4.0.4",
                 "${osString}/dx",
diff --git a/src/test/java/com/android/tools/r8/CompileWithJdkClassFileProviderTest.java b/src/test/java/com/android/tools/r8/CompileWithJdkClassFileProviderTest.java
index 318b3c2..8ba7823 100644
--- a/src/test/java/com/android/tools/r8/CompileWithJdkClassFileProviderTest.java
+++ b/src/test/java/com/android/tools/r8/CompileWithJdkClassFileProviderTest.java
@@ -111,7 +111,7 @@
         testBuilder
             .run(parameters.getRuntime(), "MySubscriber")
             .applyIf(
-                parameters.asDexRuntime().getVersion().isOlderThan(DexVm.Version.V13_MASTER),
+                parameters.asDexRuntime().getVersion().isOlderThan(DexVm.Version.V13_0_0),
                 b ->
                     b.assertFailureWithErrorThatMatches(
                         anyOf(
diff --git a/src/test/java/com/android/tools/r8/R8RunArtTestsTest.java b/src/test/java/com/android/tools/r8/R8RunArtTestsTest.java
index c860721..10c5358 100644
--- a/src/test/java/com/android/tools/r8/R8RunArtTestsTest.java
+++ b/src/test/java/com/android/tools/r8/R8RunArtTestsTest.java
@@ -102,7 +102,7 @@
           DexVm.Version.V9_0_0,
           DexVm.Version.V10_0_0,
           DexVm.Version.V12_0_0,
-          DexVm.Version.V13_MASTER);
+          DexVm.Version.V13_0_0);
 
   private static final String JUNIT_TEST_RUNNER = "org.junit.runner.JUnitCore";
   private static final String JUNIT_JAR = "third_party/junit/junit-4.13-beta-2.jar";
@@ -186,13 +186,13 @@
           .put(
               "098-ddmc",
               TestCondition.match(
-                  TestCondition.runtimes(DexVm.Version.V12_0_0, DexVm.Version.V13_MASTER)))
+                  TestCondition.runtimes(DexVm.Version.V12_0_0, DexVm.Version.V13_0_0)))
           // TODO(b/197079442): Triage - fails with "java.lang.NoSuchMethodException:
           //  org.apache.harmony.dalvik.ddmc.DdmVmInternal.enableRecentAllocations [boolean]"
           .put(
               "145-alloc-tracking-stress",
               TestCondition.match(
-                  TestCondition.runtimes(DexVm.Version.V12_0_0, DexVm.Version.V13_MASTER)))
+                  TestCondition.runtimes(DexVm.Version.V12_0_0, DexVm.Version.V13_0_0)))
           .build();
 
   // Tests that are flaky with the Art version we currently use.
@@ -499,7 +499,7 @@
     ImmutableMap.Builder<DexVm.Version, List<String>> builder = ImmutableMap.builder();
     builder
         .put(
-            DexVm.Version.V13_MASTER,
+            DexVm.Version.V13_0_0,
             ImmutableList.of("454-get-vreg", "457-regs", "543-env-long-ref", "518-null-array-get"))
         .put(
             DexVm.Version.V12_0_0,
@@ -848,7 +848,7 @@
                           DexVm.Version.V5_1_1,
                           DexVm.Version.V6_0_1,
                           DexVm.Version.V7_0_0,
-                          DexVm.Version.V13_MASTER)),
+                          DexVm.Version.V13_0_0)),
                   TestCondition.match(
                       TestCondition.compilers(
                           CompilerUnderTest.R8,
diff --git a/src/test/java/com/android/tools/r8/R8RunExamplesAndroidOTest.java b/src/test/java/com/android/tools/r8/R8RunExamplesAndroidOTest.java
index 8478b17..a7759e3 100644
--- a/src/test/java/com/android/tools/r8/R8RunExamplesAndroidOTest.java
+++ b/src/test/java/com/android/tools/r8/R8RunExamplesAndroidOTest.java
@@ -90,7 +90,7 @@
               // TODO(120402963) Triage.
               ImmutableList.of("invokecustom-with-shrinking", "invokecustom2-with-shrinking"))
           .put(
-              Version.V13_MASTER,
+              Version.V13_0_0,
               // TODO(120402963) Triage.
               ImmutableList.of("invokecustom-with-shrinking", "invokecustom2-with-shrinking"))
           .put(Version.DEFAULT, ImmutableList.of())
diff --git a/src/test/java/com/android/tools/r8/RunExamplesAndroidOTest.java b/src/test/java/com/android/tools/r8/RunExamplesAndroidOTest.java
index e6cd425..7fe1ae0 100644
--- a/src/test/java/com/android/tools/r8/RunExamplesAndroidOTest.java
+++ b/src/test/java/com/android/tools/r8/RunExamplesAndroidOTest.java
@@ -310,7 +310,7 @@
                 // TODO(b/120402963): Triage.
                 "invokecustom", "invokecustom2"))
         .put(
-            Version.V13_MASTER,
+            Version.V13_0_0,
             ImmutableList.of(
                 // TODO(b/120402963): Triage.
                 "invokecustom", "invokecustom2"))
diff --git a/src/test/java/com/android/tools/r8/TestCondition.java b/src/test/java/com/android/tools/r8/TestCondition.java
index cd0a1e7..b1a6207 100644
--- a/src/test/java/com/android/tools/r8/TestCondition.java
+++ b/src/test/java/com/android/tools/r8/TestCondition.java
@@ -53,7 +53,7 @@
           return ART_V10_0_0;
         case V12_0_0:
           return ART_V12_0_0;
-        case V13_MASTER:
+        case V13_0_0:
           return ART_V13_0_0;
         case DEFAULT:
           return ART_DEFAULT;
diff --git a/src/test/java/com/android/tools/r8/ToolHelper.java b/src/test/java/com/android/tools/r8/ToolHelper.java
index 5b8bb7a..d6fe222 100644
--- a/src/test/java/com/android/tools/r8/ToolHelper.java
+++ b/src/test/java/com/android/tools/r8/ToolHelper.java
@@ -267,8 +267,8 @@
     ART_10_0_0_HOST(Version.V10_0_0, Kind.HOST),
     ART_12_0_0_TARGET(Version.V12_0_0, Kind.TARGET),
     ART_12_0_0_HOST(Version.V12_0_0, Kind.HOST),
-    ART_13_0_0_TARGET(Version.V13_MASTER, Kind.TARGET),
-    ART_13_0_0_HOST(Version.V13_MASTER, Kind.HOST);
+    ART_13_0_0_TARGET(Version.V13_0_0, Kind.TARGET),
+    ART_13_0_0_HOST(Version.V13_0_0, Kind.HOST);
 
     private static final ImmutableMap<String, DexVm> SHORT_NAME_MAP =
         Arrays.stream(DexVm.values()).collect(ImmutableMap.toImmutableMap(
@@ -286,7 +286,7 @@
       V9_0_0("9.0.0"),
       V10_0_0("10.0.0"),
       V12_0_0("12.0.0"),
-      V13_MASTER("13.0.0");
+      V13_0_0("13.0.0");
 
       /** This should generally be the latest DEX VM fully supported. */
       // TODO(b/204855476): Rename to DEFAULT alias once the checked in VM is removed.
@@ -348,7 +348,7 @@
       }
 
       public static Version last() {
-        return V13_MASTER;
+        return V13_0_0;
       }
 
       static {
@@ -619,7 +619,7 @@
   private static final Map<DexVm, String> ART_DIRS =
       ImmutableMap.<DexVm, String>builder()
           .put(DexVm.ART_DEFAULT, "art")
-          .put(DexVm.ART_13_0_0_HOST, "host/art-13-master")
+          .put(DexVm.ART_13_0_0_HOST, "host/art-13-dev")
           .put(DexVm.ART_12_0_0_HOST, "host/art-12.0.0-beta4")
           .put(DexVm.ART_10_0_0_HOST, "art-10.0.0")
           .put(DexVm.ART_9_0_0_HOST, "art-9.0.0")
@@ -1023,7 +1023,7 @@
 
   public static AndroidApiLevel getMinApiLevelForDexVm(DexVm dexVm) {
     switch (dexVm.version) {
-      case V13_MASTER:
+      case V13_0_0:
         return AndroidApiLevel.T;
       case V12_0_0:
         return AndroidApiLevel.S;
@@ -1992,7 +1992,7 @@
         "b/144975341",
         vm.version == DexVm.Version.V10_0_0
             || vm.version == DexVm.Version.V12_0_0
-            || vm.version == DexVm.Version.V13_MASTER);
+            || vm.version == DexVm.Version.V13_0_0);
     if (vm.isOlderThanOrEqual(DexVm.ART_4_4_4_HOST)) {
       // Run default dex2oat for tests on dalvik runtimes.
       vm = DexVm.ART_DEFAULT;
diff --git a/src/test/java/com/android/tools/r8/desugar/backports/ApiLevelBackportsTest.java b/src/test/java/com/android/tools/r8/desugar/backports/ApiLevelBackportsTest.java
index d0db2c9..8eff1c5 100644
--- a/src/test/java/com/android/tools/r8/desugar/backports/ApiLevelBackportsTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/backports/ApiLevelBackportsTest.java
@@ -102,7 +102,7 @@
         .setMinApi(AndroidApiLevel.ANDROID_PLATFORM)
         .run(parameters.getRuntime(), TestMathMultiplyExactLongInt.class)
         .applyIf(
-            parameters.getDexRuntimeVersion().isOlderThan(Version.V13_MASTER),
+            parameters.getDexRuntimeVersion().isOlderThan(Version.V13_0_0),
             b ->
                 b.assertFailureWithErrorThatMatches(
                     containsString(
diff --git a/src/test/java/com/android/tools/r8/desugaring/interfacemethods/InterfaceMethodDesugaringTests.java b/src/test/java/com/android/tools/r8/desugaring/interfacemethods/InterfaceMethodDesugaringTests.java
index bdbd2b3..9b23bd1 100644
--- a/src/test/java/com/android/tools/r8/desugaring/interfacemethods/InterfaceMethodDesugaringTests.java
+++ b/src/test/java/com/android/tools/r8/desugaring/interfacemethods/InterfaceMethodDesugaringTests.java
@@ -138,7 +138,7 @@
   }
 
   @Test
-  @IgnoreForRangeOfVmVersions(from = Version.V7_0_0, to = Version.V13_MASTER) // No desugaring
+  @IgnoreForRangeOfVmVersions(from = Version.V7_0_0, to = Version.V13_0_0) // No desugaring
   public void testInvokeDefault1() throws Exception {
     ensureCustomCheck(
         (javaResult, d8Result, r8Result, r8ShakenResult) -> {
diff --git a/src/test/java/com/android/tools/r8/graph/invokespecial/InvokeSpecialOnOtherInterfaceTest.java b/src/test/java/com/android/tools/r8/graph/invokespecial/InvokeSpecialOnOtherInterfaceTest.java
index d05122a..e3a9a96 100644
--- a/src/test/java/com/android/tools/r8/graph/invokespecial/InvokeSpecialOnOtherInterfaceTest.java
+++ b/src/test/java/com/android/tools/r8/graph/invokespecial/InvokeSpecialOnOtherInterfaceTest.java
@@ -12,6 +12,7 @@
 import com.android.tools.r8.TestBase;
 import com.android.tools.r8.TestParameters;
 import com.android.tools.r8.TestParametersCollection;
+import com.android.tools.r8.ToolHelper.DexVm.Version;
 import java.io.IOException;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -39,9 +40,13 @@
         .addProgramClasses(I.class)
         .addProgramClassFileData(getClassWithTransformedInvoked())
         .run(parameters.getRuntime(), Main.class)
-        .assertFailureWithErrorThatThrowsIf(parameters.isCfRuntime(), VerifyError.class)
         // TODO(b/144410139): Consider making this a compilation failure when generating DEX.
-        .assertSuccessWithOutputLinesIf(parameters.isDexRuntime(), "Hello World!");
+        .applyIf(
+            parameters.isCfRuntime(),
+            r -> r.assertFailureWithErrorThatThrows(VerifyError.class),
+            parameters.isDexRuntime() && !parameters.isDexRuntimeVersion(Version.V13_0_0),
+            r -> r.assertSuccessWithOutputLines("Hello World!"),
+            r -> r.assertFailureWithErrorThatThrows(VerifyError.class));
   }
 
   @Test
@@ -54,14 +59,17 @@
         .enableNoMethodStaticizingAnnotations()
         .setMinApi(parameters.getApiLevel())
         .run(parameters.getRuntime(), Main.class)
-        .assertFailureWithErrorThatThrowsIf(parameters.isCfRuntime(), VerifyError.class)
         // TODO(b/144410139): Consider making this a compilation failure when generating DEX.
-        .assertSuccessWithOutputLinesIf(
+        .applyIf(
+            parameters.isCfRuntime(),
+            r -> r.assertFailureWithErrorThatThrows(VerifyError.class),
             parameters.isDexRuntime() && !parameters.canUseDefaultAndStaticInterfaceMethods(),
-            "Hello World!")
-        .assertFailureWithErrorThatThrowsIf(
-            parameters.isDexRuntime() && parameters.canUseDefaultAndStaticInterfaceMethods(),
-            NullPointerException.class);
+            r -> r.assertSuccessWithOutputLines("Hello World!"),
+            parameters.isDexRuntime()
+                && !parameters.isDexRuntimeVersion(Version.V13_0_0)
+                && parameters.canUseDefaultAndStaticInterfaceMethods(),
+            r -> r.assertFailureWithErrorThatThrows(NullPointerException.class),
+            r -> r.assertFailureWithErrorThatThrows(NoSuchMethodError.class));
   }
 
   private byte[] getClassWithTransformedInvoked() throws IOException {
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/interfaces/OpenUninstantiatedInterfaceInstanceofTest.java b/src/test/java/com/android/tools/r8/ir/optimize/interfaces/OpenUninstantiatedInterfaceInstanceofTest.java
index a729899..68c055d 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/interfaces/OpenUninstantiatedInterfaceInstanceofTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/interfaces/OpenUninstantiatedInterfaceInstanceofTest.java
@@ -99,7 +99,7 @@
     }
     if (parameters.isDexRuntime()) {
       if (parameters.getDexRuntimeVersion().isEqualTo(Version.V7_0_0)
-          || parameters.getDexRuntimeVersion().isEqualTo(Version.V13_MASTER)) {
+          || parameters.getDexRuntimeVersion().isEqualTo(Version.V13_0_0)) {
         return ImmutableList.of("true");
       }
     }
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/redundantfieldloadelimination/ThrowingInstructionBeforeOtherwiseRedundantInstanceStoreTest.java b/src/test/java/com/android/tools/r8/ir/optimize/redundantfieldloadelimination/ThrowingInstructionBeforeOtherwiseRedundantInstanceStoreTest.java
index 4c3f07d..29ab7c9 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/redundantfieldloadelimination/ThrowingInstructionBeforeOtherwiseRedundantInstanceStoreTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/redundantfieldloadelimination/ThrowingInstructionBeforeOtherwiseRedundantInstanceStoreTest.java
@@ -7,6 +7,7 @@
 import com.android.tools.r8.CompilationMode;
 import com.android.tools.r8.TestBase;
 import com.android.tools.r8.TestParameters;
+import com.android.tools.r8.ToolHelper.DexVm.Version;
 import java.util.List;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -36,7 +37,11 @@
         .setMinApi(parameters.getApiLevel())
         .compile()
         .run(parameters.getRuntime(), Main.class)
-        .assertSuccessWithOutputLines("1");
+        .applyIf(
+            // See b/229706824.
+            parameters.getDexRuntimeVersion().equals(Version.V13_0_0),
+            r -> r.assertSuccessWithOutputLines("0"),
+            r -> r.assertSuccessWithOutputLines("1"));
   }
 
   static class Main {
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/redundantfieldloadelimination/ThrowingInstructionBeforeOtherwiseRedundantStaticStoreTest.java b/src/test/java/com/android/tools/r8/ir/optimize/redundantfieldloadelimination/ThrowingInstructionBeforeOtherwiseRedundantStaticStoreTest.java
index 60a0b34..abf3664 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/redundantfieldloadelimination/ThrowingInstructionBeforeOtherwiseRedundantStaticStoreTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/redundantfieldloadelimination/ThrowingInstructionBeforeOtherwiseRedundantStaticStoreTest.java
@@ -7,6 +7,7 @@
 import com.android.tools.r8.CompilationMode;
 import com.android.tools.r8.TestBase;
 import com.android.tools.r8.TestParameters;
+import com.android.tools.r8.ToolHelper.DexVm.Version;
 import java.util.List;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -36,7 +37,11 @@
         .setMinApi(parameters.getApiLevel())
         .compile()
         .run(parameters.getRuntime(), Main.class)
-        .assertSuccessWithOutputLines("1");
+        .applyIf(
+            // See b/229706824.
+            parameters.getDexRuntimeVersion().equals(Version.V13_0_0),
+            r -> r.assertSuccessWithOutputLines("0"),
+            r -> r.assertSuccessWithOutputLines("1"));
   }
 
   static class Main {
diff --git a/src/test/java/com/android/tools/r8/jasmin/Regress65007724.java b/src/test/java/com/android/tools/r8/jasmin/Regress65007724.java
index cdc5b63..90660f4 100644
--- a/src/test/java/com/android/tools/r8/jasmin/Regress65007724.java
+++ b/src/test/java/com/android/tools/r8/jasmin/Regress65007724.java
@@ -6,7 +6,6 @@
 import com.android.tools.r8.D8TestRunResult;
 import com.android.tools.r8.TestParameters;
 import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.ToolHelper.DexVm.Version;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -51,11 +50,6 @@
             .setMinApi(parameters.getApiLevel())
             .addProgramClassFileData(builder.buildClasses())
             .run(parameters.getRuntime(), clazz.name);
-    if (parameters.getDexRuntimeVersion().isEqualTo(Version.V13_MASTER)) {
-      // See b/220821265
-      d8TestRunResult.assertFailure();
-    } else {
-      d8TestRunResult.assertSuccessWithOutput("Hello World!");
-    }
+    d8TestRunResult.assertSuccessWithOutput("Hello World!");
   }
 }
diff --git a/src/test/java/com/android/tools/r8/resolution/packageprivate/PackagePrivateReentryWithNarrowingTest.java b/src/test/java/com/android/tools/r8/resolution/packageprivate/PackagePrivateReentryWithNarrowingTest.java
index f33ee0b..ab211fe 100644
--- a/src/test/java/com/android/tools/r8/resolution/packageprivate/PackagePrivateReentryWithNarrowingTest.java
+++ b/src/test/java/com/android/tools/r8/resolution/packageprivate/PackagePrivateReentryWithNarrowingTest.java
@@ -86,7 +86,8 @@
             .addProgramClassFileData(getDWithPackagePrivateFoo())
             .run(parameters.getRuntime(), Main.class);
     if (parameters.isCfRuntime()
-        || parameters.getRuntime().asDex().getVm().isOlderThanOrEqual(DexVm.ART_4_4_4_TARGET)) {
+        || parameters.getRuntime().asDex().getVm().isOlderThanOrEqual(DexVm.ART_4_4_4_TARGET)
+        || parameters.getRuntime().asDex().getVm().isNewerThanOrEqual(DexVm.ART_13_0_0_TARGET)) {
       runResult.assertSuccessWithOutputLines(EXPECTED);
     } else {
       runResult.assertSuccessWithOutputLines(EXPECTED_ART);
diff --git a/src/test/java/com/android/tools/r8/shaking/InvalidTypesTest.java b/src/test/java/com/android/tools/r8/shaking/InvalidTypesTest.java
index 604caae..bb63e6f 100644
--- a/src/test/java/com/android/tools/r8/shaking/InvalidTypesTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/InvalidTypesTest.java
@@ -86,7 +86,7 @@
                     "Hello!", "Unexpected outcome of checkcast", "Goodbye!", "");
 
               case V7_0_0:
-              case V13_MASTER:
+              case V13_0_0:
                 return StringUtils.joinLines(
                     "Hello!",
                     "Unexpected outcome of checkcast",
diff --git a/tools/linux/README.art-versions b/tools/linux/README.art-versions
index fee679c..02e81cd 100644
--- a/tools/linux/README.art-versions
+++ b/tools/linux/README.art-versions
@@ -42,9 +42,9 @@
   <continue with repo sync as above>
 
 
-art-13-master (Android T)
--------------------------
-Build from master commit e208b04cc2efaf707390d7acbe8f978142701d72.
+art-13 (Android T)
+------------------
+Build from tm-dev commit 442e1091f39417c692d91609af05e58af60d8e2b.
 
 repo sync -cq -j24
 source build/envsetup.sh
@@ -53,16 +53,16 @@
 m -j48 build-art
 m -j48 test-art-host
 
-Collected into tools/linux/host/art-13-master. The "host" path element is checked
+Collected into tools/linux/host/art-13. The "host" path element is checked
 by the script for running Art.
 
   cd <r8 checkout>
   scripts/update-host-art.sh \
-     --android-checkout <...>/android/master \
-     --art-dir host/art-13-master \
+     --android-checkout <...>/android/tm-dev \
+     --art-dir host/art-13 \
      --android-product redfin
 
-(cd tools/linux/host; upload_to_google_storage.py -a --bucket r8-deps art-13-master)
+(cd tools/linux/host; upload_to_google_storage.py -a --bucket r8-deps art-13)
 
 art-12.0.0 (Android S)
 ---------------------
diff --git a/tools/linux/host/art-13-dev.tar.gz.sha1 b/tools/linux/host/art-13-dev.tar.gz.sha1
new file mode 100644
index 0000000..5367655
--- /dev/null
+++ b/tools/linux/host/art-13-dev.tar.gz.sha1
@@ -0,0 +1 @@
+fed34a1eecaf012550cdd9df24434b8b2068a194
\ No newline at end of file
diff --git a/tools/linux/host/art-13-master.tar.gz.sha1 b/tools/linux/host/art-13-master.tar.gz.sha1
deleted file mode 100644
index 8b16edd..0000000
--- a/tools/linux/host/art-13-master.tar.gz.sha1
+++ /dev/null
@@ -1 +0,0 @@
-a2cf2b34b8712adb5c25a18bc6135946cfb1a047
\ No newline at end of file