Introduce Art-10 bot
Bug: 144966342
Change-Id: Idf9b737d92ddc4f596248e885c117fc45cbba43b
diff --git a/.gitignore b/.gitignore
index ddab9db..e64324a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -153,6 +153,8 @@
tools/*/art-8.1.0.tar.gz
tools/*/art-9.0.0
tools/*/art-9.0.0.tar.gz
+tools/*/art-10.0.0
+tools/*/art-10.0.0.tar.gz
tools/*/art.tar.gz
tools/*/dalvik
tools/*/dalvik-4.0.4
diff --git a/build.gradle b/build.gradle
index 2e64458..8f323aa 100644
--- a/build.gradle
+++ b/build.gradle
@@ -332,6 +332,7 @@
"linux/art-7.0.0",
"linux/art-8.1.0",
"linux/art-9.0.0",
+ "linux/art-10.0.0",
"linux/dalvik",
"linux/dalvik-4.0.4",
"${osString}/dx",
diff --git a/infra/config/global/cr-buildbucket.cfg b/infra/config/global/cr-buildbucket.cfg
index 75398ad..87562ad 100644
--- a/infra/config/global/cr-buildbucket.cfg
+++ b/infra/config/global/cr-buildbucket.cfg
@@ -281,6 +281,24 @@
}
}
builders {
+ name: "linux-android-10.0.0"
+ mixins: "linux"
+ mixins: "normal"
+ recipe {
+ properties: "tool:r8"
+ properties: "dex_vm:10.0.0"
+ }
+ }
+ builders {
+ name: "linux-android-10.0.0_release"
+ mixins: "linux"
+ mixins: "normal"
+ recipe {
+ properties: "tool:r8"
+ properties: "dex_vm:10.0.0"
+ }
+ }
+ builders {
name: "linux-internal"
mixins: "linux"
mixins: "internal"
diff --git a/infra/config/global/luci-milo.cfg b/infra/config/global/luci-milo.cfg
index 7bdd5c2..faf51f3 100644
--- a/infra/config/global/luci-milo.cfg
+++ b/infra/config/global/luci-milo.cfg
@@ -51,6 +51,11 @@
short_name: "9.0.0"
}
builders {
+ name: "buildbucket/luci.r8.ci/linux-android-10.0.0"
+ category: "R8"
+ short_name: "10.0.0"
+ }
+ builders {
name: "buildbucket/luci.r8.ci/linux-internal"
category: "R8"
short_name: "internal"
@@ -131,6 +136,11 @@
short_name: "9.0.0"
}
builders {
+ name: "buildbucket/luci.r8.ci/linux-android-10.0.0_release"
+ category: "R8 release"
+ short_name: "10.0.0"
+ }
+ builders {
name: "buildbucket/luci.r8.ci/linux-internal_release"
category: "R8 release"
short_name: "internal"
diff --git a/infra/config/global/luci-notify.cfg b/infra/config/global/luci-notify.cfg
index bcd03ba..5e37d53 100644
--- a/infra/config/global/luci-notify.cfg
+++ b/infra/config/global/luci-notify.cfg
@@ -104,6 +104,16 @@
repository: "https://r8.googlesource.com/r8"
}
builders {
+ name: "linux-android-10.0.0"
+ bucket: "ci"
+ repository: "https://r8.googlesource.com/r8"
+ }
+ builders {
+ name: "linux-android-10.0.0_release"
+ bucket: "ci"
+ repository: "https://r8.googlesource.com/r8"
+ }
+ builders {
name: "linux-internal"
bucket: "ci"
repository: "https://r8.googlesource.com/r8"
diff --git a/infra/config/global/luci-scheduler.cfg b/infra/config/global/luci-scheduler.cfg
index dd8fdfa..dd2df27 100644
--- a/infra/config/global/luci-scheduler.cfg
+++ b/infra/config/global/luci-scheduler.cfg
@@ -34,6 +34,7 @@
triggers: "linux-android-7.0.0"
triggers: "linux-android-8.1.0"
triggers: "linux-android-9.0.0"
+ triggers: "linux-android-10.0.0"
triggers: "linux-run-on-as-app"
triggers: "linux-run-on-as-app-recompilation"
triggers: "linux-internal"
@@ -77,6 +78,17 @@
triggers: "windows_release"
}
+trigger {
+ id: "branch-gitiles-trigger-10"
+ acl_sets: "default"
+ gitiles: {
+ repo: "https://r8.googlesource.com/r8"
+ refs: "refs/heads/2.0"
+ path_regexps: "src/main/java/com/android/tools/r8/Version.java"
+ }
+ triggers: "linux-android-10.0.0_release"
+}
+
job {
id: "archive"
@@ -301,6 +313,32 @@
}
job {
+ id: "linux-android-10.0.0"
+ acl_sets: "default"
+ triggering_policy: {
+ max_concurrent_invocations: 2
+ }
+ buildbucket {
+ server: "cr-buildbucket.appspot.com"
+ bucket: "luci.r8.ci"
+ builder: "linux-android-10.0.0"
+ }
+}
+
+job {
+ id: "linux-android-10.0.0_release"
+ acl_sets: "default"
+ triggering_policy: {
+ max_concurrent_invocations: 2
+ }
+ buildbucket {
+ server: "cr-buildbucket.appspot.com"
+ bucket: "luci.r8.ci"
+ builder: "linux-android-10.0.0_release"
+ }
+}
+
+job {
id: "linux-internal"
acl_sets: "default"
buildbucket {
diff --git a/scripts/update-host-art.sh b/scripts/update-host-art.sh
index fb45744..76572e0 100755
--- a/scripts/update-host-art.sh
+++ b/scripts/update-host-art.sh
@@ -109,7 +109,10 @@
# dalvikvm32 or dalvikvm64).
cp $ANDROID_HOST_BUILD/bin/dalvikvm $DEST/bin
cp $ANDROID_HOST_BUILD/bin/dex2oat $DEST/bin
-cp $ANDROID_HOST_BUILD/bin/patchoat $DEST/bin
+if [ -e $ANDROID_HOST_BUILD/bin/patchoat ]
+ # File patchoat does not exist on Q anymore.
+ then cp $ANDROID_HOST_BUILD/bin/patchoat $DEST/bin
+fi
# Required framework files.
mkdir -p $DEST/framework
@@ -127,8 +130,13 @@
cp -r $ANDROID_TARGET_BUILD/product/$ANDROID_PRODUCT/system/framework/* $DEST/product/$ANDROID_PRODUCT/system/framework
# Required auxillary files.
-mkdir -p $DEST/usr/icu
-cp -r $ANDROID_HOST_BUILD/usr/icu/* $DEST/usr/icu
+if [ -e $ANDROID_HOST_BUILD/usr/icu ]; then
+ mkdir -p $DEST/usr/icu
+ cp -r $ANDROID_HOST_BUILD/usr/icu/* $DEST/usr/icu
+else
+ mkdir -p $DEST/com.android.runtime/etc/icu/
+ cp -r $ANDROID_HOST_BUILD/com.android.runtime/etc/icu/* $DEST/com.android.runtime/etc/icu/
+fi
# Update links for vdex files for Android P and later.
if [ -f $DEST/product/$ANDROID_PRODUCT/system/framework/boot.vdex ]; then
diff --git a/src/test/java/com/android/tools/r8/R8RunArtTestsTest.java b/src/test/java/com/android/tools/r8/R8RunArtTestsTest.java
index 7b7f270..7e24591 100644
--- a/src/test/java/com/android/tools/r8/R8RunArtTestsTest.java
+++ b/src/test/java/com/android/tools/r8/R8RunArtTestsTest.java
@@ -102,7 +102,8 @@
DexVm.Version.V6_0_1,
DexVm.Version.V7_0_0,
DexVm.Version.V8_1_0,
- DexVm.Version.V9_0_0);
+ DexVm.Version.V9_0_0,
+ DexVm.Version.V10_0_0);
// Input jar for jctf tests.
private static final String JCTF_COMMON_JAR = "build/libs/jctfCommon.jar";
@@ -478,6 +479,14 @@
static {
ImmutableMap.Builder<DexVm.Version, List<String>> builder = ImmutableMap.builder();
builder
+ .put(DexVm.Version.V10_0_0, ImmutableList.of(
+ // TODO(b/144975341): Triage, Verif error.
+ "518-null-array-get",
+ // TODO(b/144975341): Triage, Linking error.
+ "457-regs",
+ "543-env-long-ref",
+ "454-get-vreg"
+ ))
.put(DexVm.Version.V9_0_0, ImmutableList.of(
// TODO(120400625): Triage.
"454-get-vreg",
diff --git a/src/test/java/com/android/tools/r8/TestCondition.java b/src/test/java/com/android/tools/r8/TestCondition.java
index 70e545e..d72ba77 100644
--- a/src/test/java/com/android/tools/r8/TestCondition.java
+++ b/src/test/java/com/android/tools/r8/TestCondition.java
@@ -24,6 +24,7 @@
ART_V7_0_0,
ART_V8_1_0,
ART_V9_0_0,
+ ART_V10_0_0,
ART_DEFAULT,
JAVA;
@@ -46,6 +47,8 @@
return ART_V8_1_0;
case V9_0_0:
return ART_V9_0_0;
+ case V10_0_0:
+ return ART_V10_0_0;
case DEFAULT:
return ART_DEFAULT;
default:
diff --git a/src/test/java/com/android/tools/r8/ToolHelper.java b/src/test/java/com/android/tools/r8/ToolHelper.java
index 43d08bc..772648ce 100644
--- a/src/test/java/com/android/tools/r8/ToolHelper.java
+++ b/src/test/java/com/android/tools/r8/ToolHelper.java
@@ -225,6 +225,8 @@
ART_8_1_0_HOST(Version.V8_1_0, Kind.HOST),
ART_9_0_0_TARGET(Version.V9_0_0, Kind.TARGET),
ART_9_0_0_HOST(Version.V9_0_0, Kind.HOST),
+ ART_10_0_0_TARGET(Version.V10_0_0, Kind.TARGET),
+ ART_10_0_0_HOST(Version.V10_0_0, Kind.HOST),
ART_DEFAULT(Version.DEFAULT, Kind.HOST);
private static final ImmutableMap<String, DexVm> SHORT_NAME_MAP =
@@ -240,6 +242,7 @@
V7_0_0("7.0.0"),
V8_1_0("8.1.0"),
V9_0_0("9.0.0"),
+ V10_0_0("10.0.0"),
DEFAULT("default");
Version(String shortName) {
@@ -532,6 +535,7 @@
private static final Map<DexVm, String> ART_DIRS =
ImmutableMap.<DexVm, String>builder()
.put(DexVm.ART_DEFAULT, "art")
+ .put(DexVm.ART_10_0_0_HOST, "art-10.0.0")
.put(DexVm.ART_9_0_0_HOST, "art-9.0.0")
.put(DexVm.ART_8_1_0_HOST, "art-8.1.0")
.put(DexVm.ART_7_0_0_HOST, "art-7.0.0")
@@ -542,6 +546,7 @@
private static final Map<DexVm, String> ART_BINARY_VERSIONS =
ImmutableMap.<DexVm, String>builder()
.put(DexVm.ART_DEFAULT, "bin/art")
+ .put(DexVm.ART_10_0_0_HOST, "bin/art")
.put(DexVm.ART_9_0_0_HOST, "bin/art")
.put(DexVm.ART_8_1_0_HOST, "bin/art")
.put(DexVm.ART_7_0_0_HOST, "bin/art")
@@ -551,12 +556,13 @@
.put(DexVm.ART_4_0_4_HOST, "bin/dalvik").build();
private static final Map<DexVm, String> ART_BINARY_VERSIONS_X64 =
- ImmutableMap.of(
- DexVm.ART_DEFAULT, "bin/art",
- DexVm.ART_9_0_0_HOST, "bin/art",
- DexVm.ART_8_1_0_HOST, "bin/art",
- DexVm.ART_7_0_0_HOST, "bin/art",
- DexVm.ART_6_0_1_HOST, "bin/art");
+ ImmutableMap.<DexVm, String>builder()
+ .put(DexVm.ART_DEFAULT, "bin/art")
+ .put(DexVm.ART_10_0_0_HOST, "bin/art")
+ .put(DexVm.ART_9_0_0_HOST, "bin/art")
+ .put(DexVm.ART_8_1_0_HOST, "bin/art")
+ .put(DexVm.ART_7_0_0_HOST, "bin/art")
+ .put(DexVm.ART_6_0_1_HOST, "bin/art").build();
private static final List<String> DALVIK_BOOT_LIBS =
ImmutableList.of(
@@ -576,6 +582,7 @@
ImmutableMap.Builder<DexVm, List<String>> builder = ImmutableMap.builder();
builder
.put(DexVm.ART_DEFAULT, ART_BOOT_LIBS)
+ .put(DexVm.ART_10_0_0_HOST, ART_BOOT_LIBS)
.put(DexVm.ART_9_0_0_HOST, ART_BOOT_LIBS)
.put(DexVm.ART_8_1_0_HOST, ART_BOOT_LIBS)
.put(DexVm.ART_7_0_0_HOST, ART_BOOT_LIBS)
@@ -592,6 +599,7 @@
ImmutableMap.Builder<DexVm, String> builder = ImmutableMap.builder();
builder
.put(DexVm.ART_DEFAULT, "angler")
+ .put(DexVm.ART_10_0_0_HOST, "coral")
.put(DexVm.ART_9_0_0_HOST, "marlin")
.put(DexVm.ART_8_1_0_HOST, "marlin")
.put(DexVm.ART_7_0_0_HOST, "angler")
@@ -899,6 +907,8 @@
switch (dexVm.version) {
case DEFAULT:
return AndroidApiLevel.O;
+ case V10_0_0:
+ return AndroidApiLevel.Q;
case V9_0_0:
return AndroidApiLevel.P;
case V8_1_0:
@@ -1782,6 +1792,7 @@
public static ProcessResult runDex2OatRaw(Path file, Path outFile, DexVm vm) throws IOException {
// TODO(jmhenaff): find a way to run this on windows (push dex and run on device/emulator?)
Assume.assumeTrue(ToolHelper.isDex2OatSupported());
+ Assume.assumeFalse("b/144975341", vm.version == DexVm.Version.V10_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/desugaredlibrary/desugaredlibraryjdktests/Jdk11ConcurrentMapTests.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11ConcurrentMapTests.java
index 5a1fd0f..ff779f5 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11ConcurrentMapTests.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/desugaredlibraryjdktests/Jdk11ConcurrentMapTests.java
@@ -23,6 +23,7 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import org.junit.Assume;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -105,6 +106,8 @@
public void testD8Concurrent() throws Exception {
// TODO(b/134732760): Support Java 9+ libraries.
// We skip the ConcurrentRemoveIf test because of the non desugared class CompletableFuture.
+ Assume.assumeFalse("b/144975341",
+ parameters.getRuntime().asDex().getVm().getVersion() == Version.V10_0_0);
KeepRuleConsumer keepRuleConsumer = createKeepRuleConsumer(parameters);
String verbosity = "2";
testForD8()
@@ -160,6 +163,8 @@
@Test
public void testD8ConcurrentHash() throws Exception {
+ Assume.assumeFalse("b/144975341",
+ parameters.getRuntime().asDex().getVm().getVersion() == Version.V10_0_0);
KeepRuleConsumer keepRuleConsumer = createKeepRuleConsumer(parameters);
String verbosity = "2";
D8TestCompileResult d8TestCompileResult =
diff --git a/tools/linux/README.art-versions b/tools/linux/README.art-versions
index 095872b..9cf0717 100644
--- a/tools/linux/README.art-versions
+++ b/tools/linux/README.art-versions
@@ -41,6 +41,28 @@
repo init -u https://android.googlesource.com/platform/manifest -m aosp_master_manifest.xml
<continue with repo sync as above>
+art-10.0.0 (Android Q)
+---------------------
+Build from branch android-10.0.0_r14.
+
+export BRANCH=android-10.0.0_r14
+mkdir ${BRANCH}
+cd ${BRANCH}
+repo init -u https://android.googlesource.com/platform/manifest -b ${BRANCH}
+repo sync -cq -j24
+source build/envsetup.sh
+lunch aosp_coral-userdebug
+m -j24
+m -j24 build-art
+m -j24 test-art-host
+
+Collected into tools/linux/art-10.0.0.
+
+ cd <r8 checkout>
+ scripts/update-host-art.sh \
+ --android-checkout /usr/local/ssd/android/${BRANCH} \
+ --art-dir art-10.0.0 \
+ --android-product coral
art-9.0.0 (Android P)
---------------------
diff --git a/tools/linux/art-10.0.0.tar.gz.sha1 b/tools/linux/art-10.0.0.tar.gz.sha1
new file mode 100644
index 0000000..d64a0d7
--- /dev/null
+++ b/tools/linux/art-10.0.0.tar.gz.sha1
@@ -0,0 +1 @@
+04316aaf3b05ebfe17a35ea5f47d900ac3c32d69
\ No newline at end of file
diff --git a/tools/test.py b/tools/test.py
index a51f89a..5a8d29f 100755
--- a/tools/test.py
+++ b/tools/test.py
@@ -22,6 +22,7 @@
ALL_ART_VMS = [
"default",
+ "10.0.0",
"9.0.0",
"8.1.0",
"7.0.0",