)]}'
{
  "log": [
    {
      "commit": "f040914a122be86e280efe5e31af1168f2b7c72e",
      "tree": "8ea3fa76be8f215d36977477015ed7f9f3a2f65c",
      "parents": [
        "b4bd92f27fb143135870d07b459ea52637afcfa5"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Mar 22 15:45:03 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jul 06 10:52:35 2021 +0000"
      },
      "message": "Uncouple ART gtests from the ART APEX.\n\nIntroduce standalone versions of ART gtests on target, not bundled\nwith the ART APEX.\n\nSo far ART gtests have always been built as debug artifacts (and\nlinked against ART debug libraries). Make some adjustments in some of\nthese tests so that they can also work as non-debug artifacts and be\nused with the Release ART APEX (which contains only non-debug\nartifacts).\n\nNewly added tests:\n* `art_standalone_cmdline_tests`\n* `art_standalone_compiler_tests`\n* `art_standalone_dex2oat_tests`\n* `art_standalone_dexdump_tests`\n* `art_standalone_dexlist_tests`\n* `art_standalone_dexoptanalyzer_tests`\n  * Note: Requires root access to the device.\n* `art_standalone_libartbase_tests`\n* `art_standalone_libartpalette_tests`\n* `art_standalone_libartservice_tests`\n* `art_standalone_libarttools_tests`\n* `art_standalone_libdexfile_support_tests`\n* `art_standalone_libdexfile_tests`\n* `art_standalone_libprofile_tests`\n* `art_standalone_oatdump_tests`\n* `art_standalone_odrefresh_tests`\n* `art_standalone_profman_tests`\n  * Note: Requires root access to the device.\n  * Note: Some tests (2 out of 37) are failing in multi-ABI\n    contexts and have been temporarily disabled.\n* `art_standalone_runtime_compiler_tests`\n* `art_standalone_runtime_tests`\n  * Note: Some tests (16 out of 686) are failing and have been\n    temporarily disabled.\n  * Note: Some tests (4 out of 686) are failing in multi-ABI\n    contexts and have been temporarily disabled.\n* `art_standalone_sigchain_tests`\n\nTests not added:\n* `art_standalone_dexanalyze_tests`\n  * Reason: ART binary `dexanalyze` is not part of the Release ART APEX.\n* `art_standalone_dexdiag_tests`\n  * Reason: ART binary `dexdiag` is not part of the Release ART APEX.\n* `art_standalone_dexlayout_tests`\n  * Reason: ART binary `dexlayout` is not part of the Release ART APEX.\n* `art_standalone_imgdiag_tests`\n  * Reason: ART binary `imgdiag` is not part of the Release ART APEX.\n\nTest: atest -a art_standalone_cmdline_tests\nTest: atest -a art_standalone_compiler_tests\nTest: atest -a art_standalone_dex2oat_tests\nTest: atest -a art_standalone_dexdump_tests\nTest: atest -a art_standalone_dexlist_tests\nTest: atest -a art_standalone_dexoptanalyzer_tests\nTest: atest -a art_standalone_libartbase_tests\nTest: atest -a art_standalone_libartpalette_tests\nTest: atest -a art_standalone_libartservice_tests\nTest: atest -a art_standalone_libarttools_tests\nTest: atest -a art_standalone_libdexfile_support_tests\nTest: atest -a art_standalone_libdexfile_tests\nTest: atest -a art_standalone_libprofile_tests\nTest: atest -a art_standalone_oatdump_tests\nTest: atest -a art_standalone_odrefresh_tests\nTest: atest -a art_standalone_profman_tests\nTest: atest -a art_standalone_runtime_compiler_tests\nTest: atest -a art_standalone_runtime_tests\nTest: atest -a art_standalone_sigchain_tests\nTest: atest -a art_standalone_\\*_tests\nTest: m art_chroot \u0026\u0026 atest ArtGtestsTargetChroot\nBug: 162834439\nBug: 162734417\nChange-Id: I8beda9159d48c4ca495698357dc3bd95e3ff84d5\n"
    },
    {
      "commit": "2c9667363ba0f8178a077332a8ec1c74426fdc70",
      "tree": "b3b8f5c32c423e10f1419cd3fd4d35fdd0e4ac94",
      "parents": [
        "ea936c02701dc7ac773f5c2272dafde5e1967ea0"
      ],
      "author": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Fri Jul 02 12:04:15 2021 +0100"
      },
      "committer": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Mon Jul 05 09:41:08 2021 +0100"
      },
      "message": "Don\u0027t delete everything in apexdata/com.android.art.\n\nRather than deleting everything we now specifically delete the\nartifacts directory when validation fails or forcing compilation. This\nallows the pending directory, with CompOS artifacts, to be preserved\nand used as an alternative.\n\nAs a slightly gratuitous bonus, delete the staging directory when\nwe\u0027re done with it, rather than just its contents.\n\nTest: Manual, create pending directory, see it preserved.\nTest: atest --host art_odrefresh_tests\nTest: Presubmits\nBug: 190166662\nChange-Id: Ic6f0cb15eb22b3a235d9df90653c6e6d63ea80bc\n"
    },
    {
      "commit": "156a8618372cda12eaff321c545d9126df225c0d",
      "tree": "c68e18a57ec9496abb2b5146a9b6965f04a36b9c",
      "parents": [
        "ac97f3e110eb57824a2560888406e31cb157bd7b"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Thu Jun 17 12:47:17 2021 -0700"
      },
      "committer": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Tue Jun 22 08:13:48 2021 +0000"
      },
      "message": "odrefresh: don\u0027t stage profile if not exists\n\nThe code staged the file even if the open failed. This causes a null\npointer dereference later in JoinFilesAsFDs (only used in the\nCompilaiton OS case).\n\nBug: 186132447\nTest: odrefresh --use-compilation-os\u003d10 --force-compile\n      # complete successfully with other changes\nChange-Id: I8227d863ea56e2a7071816130f6b354ac80d03ce\n"
    },
    {
      "commit": "71b2cb54099218952385c8c295dbff8be81263ce",
      "tree": "eb63230d86e92b12af34fc2ea3d3290352855bf0",
      "parents": [
        "885929fda9e1247910aa1f68f982d098fb84c843"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jun 16 20:08:16 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jun 17 08:47:26 2021 +0000"
      },
      "message": "odrefresh: fix instruction set selection.\n\nRefactoring led to the instruction-set argument being dropped in\nodrefresh. This manifested itself as failures in the odsign_e2e_tests\nas the secondary zygote was running in jit-zygote mode.\n\nRe-enables the verifyGeneratedArtifactsLoaded test and enforces a\ndeterministic order for the odsign_e2e_tests.\n\nBug: 191113888\nTest: atest odsign_e2e_tests\nChange-Id: I5308a6cf9ddf16e2991bfaf9c6f27bd7e8ff0aff\n"
    },
    {
      "commit": "885929fda9e1247910aa1f68f982d098fb84c843",
      "tree": "1cee9495c84311c4acc9bfd3e01cb71c1b6f23bf",
      "parents": [
        "869746ef31936f09a93717ee1ef3960f8fb6dd69"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Wed Jun 16 15:11:16 2021 -0700"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jun 17 08:45:28 2021 +0000"
      },
      "message": "odrefresh: Fix mis-placed delimiter when joining FDs\n\nBroken example: [3,4,5] -\u003e \"34,5,\"\n\nBug: 187327262\nTest: Start a VM; odrefresh --use-compilation-os\u003d10 --force-compile\nChange-Id: I32d6289889645f68b4e82fdca1a770713225c357\n"
    },
    {
      "commit": "b3a4e01448a32b2dc53cad8a981ed7c75d12d2cc",
      "tree": "6bf28066ed85e965d1bc141abcdac5c3a5a72a7f",
      "parents": [
        "0be3da60fa382ded4a3f9b714d9da4e22667e15a"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Mon Jun 14 12:48:10 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 16 16:52:52 2021 +0000"
      },
      "message": "odrefresh: Support option to run dex2oat in PVM\n\npvm_exec is an executable to run a command remotely, assuming the code\nis also in the VM. Since the input files may not be available in the VM,\npvm_exec internally takes over the FDs and becomes a file server. In the\nremote execution setup, dex2oat receives the same FD numbers, and relies\non \"authfs\", a FUSE client that talkes to the file server, to translate\nthe read/write.\n\nBy wrapping dex2oat with pvm_exec, this change makes it possible run\ndex2oat remotely, though not necessarily securely. For example, a\ncommand is not a secure interface since it allows unlimited numbers of\ncombination of input paramters (or even allow manipulating the\ncompilation, e.g. by adjusting Java property).\n\nWe\u0027ll need to change the interface later. But in the meantime, this\nchange will allow us to iterate more easily.\n\nBug: 187346876\nTest: 1. Start a PVM with ART and CompOS apex mounted\n      2. /apex/com.android.art/bin/odrefresh --use-compos\u003d$CID \\\n         --force-compile\n      # odrefresh returns successfully (though much slower right now)\nChange-Id: I722e5290246e180a89f6d42d9a6bc10c79dc0d1a\n"
    },
    {
      "commit": "0be3da60fa382ded4a3f9b714d9da4e22667e15a",
      "tree": "3e46c14034576a30f3ddfc586bf4a0f8f5758c73",
      "parents": [
        "f667c33fc88356aa80d455430752719aaae57717"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Mon Jun 14 12:37:03 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 16 16:52:52 2021 +0000"
      },
      "message": "odrefresh: pass BCP JARs as FDs to dex2oat\n\nBug: 187327262\nTest: odrefresh --force-compile  # succeed\nTest: strace  # observed less openat(2) of JARs\n\nChange-Id: I8eec85374bcf3135ec2be3f542bb82dd62fd010d\n"
    },
    {
      "commit": "4ab592315e766876d2ae96f28f05bab9ae46c160",
      "tree": "70434b91f12a6fe7d52581446ce879732ea07900",
      "parents": [
        "b10668cb6a34398eb720f9a6305ff9a51b3ebfd4"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Thu Jun 10 12:24:02 2021 -0700"
      },
      "committer": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Mon Jun 14 15:08:21 2021 +0000"
      },
      "message": "Add --dirty-image-objects-fd and --updatable-bcp-packages-fd\n\nAlso, let odrefresh pass the files as FD to dex2oat.\n\nReadCommentedInputFromZip is removed since it\u0027s not used at all.\n\nBug: 187327262\nTest: odrefresh --force-compile\nChange-Id: Ie9247362eebaf46ef473f84effeb6e66830d077e\n"
    },
    {
      "commit": "f761f5887918375b842e4cc62ed9cbe7521c8444",
      "tree": "5cc23ca0310d55ac2f9a1dcd8959351f1376745b",
      "parents": [
        "890f2eb950930b9054bca6a77fd19f0e6c1a9c9b"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jun 09 10:50:57 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jun 10 08:00:22 2021 +0000"
      },
      "message": "Revert^2 \"odrefresh: compilation backoff\"\n\nAdds backoff logic to limit attempts odrefresh tries to compile. It\nwill always recompile if the APEX is updated or the input JARs change,\nbut if compilation fails for any reason then odrefresh backs off\nexponentially in days.\n\nRelands commit 6859ffca5ffd15128459293046590488008221ff. The\nodsign_e2e tests required updating to remove the compilation log whose\npurpose is to backoff compilation attempts in the wild.\n\nBug: 187494247\nTest: atest art_odrefresh_tests\nTest: atest odsign_e2e_tests\nChange-Id: Id41ee875cf1ca376f8e2ae05a43d0f6f74a9995f\n"
    },
    {
      "commit": "1e7faf706563593de8e9d47bb5ef366f68dce1a2",
      "tree": "4e65e4a59cc3cf95f82149f0fb417a4beba8e893",
      "parents": [
        "530552ac735c59a3ae44b16f751df265e820dad2"
      ],
      "author": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Thu May 27 13:05:22 2021 +0000"
      },
      "committer": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Mon Jun 07 08:01:11 2021 +0000"
      },
      "message": "Use tinyxml2-based generated Apex Info List sources\n\nWe can reduce the size of odrefresh and runtime binaries by switching from\nlibxml2 to libtinyxml2. The dependency comes from the usage of the Apex Info\nList.\n\nSince the xsdc tool has been updated to have a new option, -t/--tinyxml, which\ngenerates the source files that use the libtinyxml2 API, we should use this\nfeature to gain the binary size advantage.\n\nSize of odrefresh when using libxml2: 444752\nSize of odrefresh when using libtinyxml2: 137724\n\nBug: 177209057\nTest: m\nChange-Id: I5c92d44f9ccbe94507a2dd8653814451ed10c645\n"
    },
    {
      "commit": "2835c29a338bbf3c85052cfa157561d0a42043f6",
      "tree": "a0e21b1d1e8b8d37ca8678d935f13feac4415c77",
      "parents": [
        "9faf7c77ac6974e34a644d75ceddd1d5f4268bfb"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Thu May 27 15:32:18 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 02 19:26:31 2021 +0000"
      },
      "message": "Pass classpath loader FDs to dex2oat\n\nBug: 187327262\nTest: odrefresh --force-compile  # success\nTest: strace  # no more open for such case\nChange-Id: I3e4a892663420f725b83610b21537f9443d35657\n"
    },
    {
      "commit": "ae553e0e1b26d95006aa27df4675104bfb55d49d",
      "tree": "cff192c4ec487a77f6b2564870a9338fd8b0d371",
      "parents": [
        "bdf1737bd17132525bcfdc778663123b61e97fa3"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu May 27 12:39:49 2021 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu May 27 15:47:13 2021 +0000"
      },
      "message": "Revert \"odrefresh: compilation backoff\"\n\nThis reverts commit 6859ffca5ffd15128459293046590488008221ff.\n\nReason for revert: Break presubmits (b/189316064)\nFix: 189316064\nBug: 187494247\n\nChange-Id: I146480c01e401e5e0de8f7e0dcf1dbc9d68850f4\n"
    },
    {
      "commit": "6859ffca5ffd15128459293046590488008221ff",
      "tree": "cb43cbcd94b20208ad704a9b094de170e7f837fc",
      "parents": [
        "d196f661fae8473dedfd4b544c6873144202bc78"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon May 17 15:09:06 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed May 26 08:42:34 2021 +0000"
      },
      "message": "odrefresh: compilation backoff\n\nAdd backoff logic to limit attempts odrefresh tries to compile. It\nwill always recompile if the APEX is updated or the input JARs change,\nbut if compilation fails for any reason then odrefresh backs off\nexponentially in days.\n\nBug: 187494247\nTest: atest art_odrefresh_tests\nTest: manual\nChange-Id: I11fe5549038680d03df663135ed087161428f392\n"
    },
    {
      "commit": "a9f80fcd2e2aca477eab7c0e9a6fce1f9537633a",
      "tree": "fedda7c1cd0fe5e0629de5606e2d5601b3d7ea05",
      "parents": [
        "3d05e61a420e499bfc9221445237c964e0a8aa63"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Mon May 17 17:28:26 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 21 16:06:45 2021 +0000"
      },
      "message": "odrefresh: pass profile file as fd to dex2oat\n\nBug: 187327262\nTest: odrefresh --force-compile # succeeded; saw expected strace\nTest: atest art_odrefresh_tests\n\nChange-Id: Ie30f70ca9740b703d5ff5ac8efb3c14cdf48bce8\n"
    },
    {
      "commit": "1dc77abf87d303a8f4aa35148c57f7ab20832222",
      "tree": "61f4aae7377072ad2a1f24e62043b86a6f49954c",
      "parents": [
        "496b9b43c987a2d769d0c178ee1d88cd92da84d9"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon May 10 17:44:05 2021 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed May 19 14:31:13 2021 +0000"
      },
      "message": "Disable most ART source modules when ART prebuilts are enabled.\n\nAfter libdexfile_external was merged into libdexfile, libdexfile is an\nAPEX stub when prebuilts are enabled, and that cannot be used to build\nlibart and all the other internal modules that depend on it.\n\nThis CL:\n\n- Changes art_defaults to disable native modules when building from\n  prebuilts. Some other modules that depends on them, like the\n  art-script sh_binary, also get disabled.\n- Consolidates the makefile sections that are disabled when building\n  from prebuilts so that only a small bit is still enabled then.\n- Temporarily removes the prebuilt for libctstiagent and activates its\n  source even when prebuilts are used, to work around sdk_version\n  problem (b/187288515).\n- Removes explicit \"enabled: true\" in a couple of places that would\n  override the inherited flag that lets us disable them in builds from\n  prebuilts.\n- Makes some Soong defaults available to libcore.\n\nTest: m checkbuild\nTest: art/build/build-art-module.sh --skip-apex\n      packages/modules/ArtPrebuilt/update-art-module-prebuilts.py \\\n        --local-dist out/dist/ --skip-apex\n      m SOONG_CONFIG_art_module_source_build\u003dfalse droid\n      m SOONG_CONFIG_art_module_source_build\u003dfalse checkbuild\nChange-Id: Ief60b933cd6273fc8b85fe7637b99ba1b78505f6\n"
    },
    {
      "commit": "826e6667c4d543c5c75a4a87d7cceb43f72078d0",
      "tree": "8ae4e9c93339c61fc1c30525a448b5c8ee61f77e",
      "parents": [
        "b3bc892bfae8267c3b82bbbd4263cb368f7a3be3"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Mon May 17 15:40:13 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 18 22:41:46 2021 +0000"
      },
      "message": "Add --dex-fd to dex2oat\n\nBug: 187327262\nTest: odrefresh --force-compile\n      (also, no longer seeing openat(2) BCP extension jars via strace)\nTest: atest art_odrefresh_tests\n\nChange-Id: Icac9ed522eae307e8e4391ba9cc59927c57c0d68\n"
    },
    {
      "commit": "8ba64c2143564063ff04fbd519e5695138ab3dd8",
      "tree": "193df95c82534e6675a299417756e5daf0d01745",
      "parents": [
        "0108f0d5c1e820d3a4bb0d90aad989b89e28784a"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Mon May 10 07:16:09 2021 -0700"
      },
      "committer": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Mon May 10 07:16:09 2021 -0700"
      },
      "message": "odrefresh: Avoid string copy\n\nGetFreeSpace() takes a const std::string\u0026, so we don\u0027t need to\nuse c_str().\n\nTest: TreeHugger\nChange-Id: I8d7fd3841481d7aee2caa59ce775c8fe380aeb3d\n"
    },
    {
      "commit": "816cab342a8db032b660018d4c933032a326b5c8",
      "tree": "dff85eeb5a05c1cca9cc281751489d138175ded0",
      "parents": [
        "263c39eaef07d56a34f853320dae76ab5693c377"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri May 07 14:14:42 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon May 10 08:39:02 2021 +0000"
      },
      "message": "odrefresh: log an error if updatable_bcp_packages file is missing\n\nCompilation of system_server JARs will fail if\nupdatable_bcp_packages file is missing.\n\nBug: 187494247\nTest: manual ART APEX update\nChange-Id: I9e8ead0d42ff889bdcb99042c5c83fd581be4f75\n"
    },
    {
      "commit": "263c39eaef07d56a34f853320dae76ab5693c377",
      "tree": "e33364abe27f58f0b508131844dfc7bfbdb24aeb",
      "parents": [
        "053e1383c721b0a1c4f87b2d391ab392c64caf84"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri May 07 10:17:14 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon May 10 08:39:02 2021 +0000"
      },
      "message": "odrefresh: add compilation space checks\n\nBug: 160683548\nTest: manual\nChange-Id: Ic640da41855477bf3b6524e82efb15f384127d9e\n"
    },
    {
      "commit": "17c50188958aded77367ae9c9ad649a90ff26d6c",
      "tree": "b79da16ff288ce22edb133b03cb2c6a841d4c26e",
      "parents": [
        "06b173cd2e6663eda0e3d3af23ad153b26e88877"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 05 08:28:05 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 05 10:40:02 2021 +0000"
      },
      "message": "Revert \"odrefresh: re-enable OdrFsUtilsTest.GetUsedSpace\"\n\nThis reverts commit 59d29bfeda798c9621515f59707af745d431763c.\n\nBug: 186730164\nBug: 187252651\n\nReason for revert: Fails on ART bots\n\nChange-Id: Ib516da77a9e6d16c32405d4e6703bf10d63dc0f6\n"
    },
    {
      "commit": "59d29bfeda798c9621515f59707af745d431763c",
      "tree": "5885c4db89f120fcd5e46586691ee18e548e5cbb",
      "parents": [
        "680d768b1aec1daf7a8faeb01d04e164afdc07bc"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue May 04 16:04:10 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue May 04 18:54:55 2021 +0000"
      },
      "message": "odrefresh: re-enable OdrFsUtilsTest.GetUsedSpace\n\nUse stat() in test for size in blocks rather than rounding up the\nwritten file size to integral number of 512-byte blocks.\n\nBug: 186730164\nTest: atest art_odrefresh_tests\nTest: atest --host art_odrefresh_tests\nChange-Id: Ic0b3421451f9f8049b30d11ec73761e6871034b8\n"
    },
    {
      "commit": "c86345c61fa4d74471a04a682284ce29354c329b",
      "tree": "9cc3324b08793c679401a838901963f2db46db6f",
      "parents": [
        "2397edd0d3e62fb463bf73e4ed7eacebf7daa02f"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Apr 29 12:31:39 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Apr 29 12:31:39 2021 +0100"
      },
      "message": "odrefresh: temporarily disable OdrFsUtilsTest.GetUsedSpace\n\nTest is failing on the LUCI bots.\n\nBug: 186730164\nTest: atest --host art_odrefresh_tests\nChange-Id: Ia19533ca9256053bbcac577d4c16db2048730175\n"
    },
    {
      "commit": "c3a152e7b93fc80b0871edaabaed5227559a52e7",
      "tree": "37e751224fc981b0c61535d47e791c33290eafb2",
      "parents": [
        "e0d677dfda62787788caad0791aa25ad794b7326"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Apr 28 15:40:52 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 28 17:30:35 2021 +0000"
      },
      "message": "odr_fs_utils_test: drop bogus assertion\n\nThe assertion quite reasonably failed on an angler.\n\nBug: 169925964\nTest: atest art_odrefresh_tests\nChange-Id: I97a9dac27dc92ff8bfa71aff007a4e761209c88a\n"
    },
    {
      "commit": "d4edf4fc8a25a1fb21a9b8e4e73303458652dbce",
      "tree": "34fbac3de4f15a2afcad9f428cca93e2f3bea770",
      "parents": [
        "61c624239ced1203d1c77cbeb5a57f9ad2c5c73d"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Mon Apr 26 06:31:28 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 28 13:00:29 2021 +0000"
      },
      "message": "odrefresh: Avoid a couple string copies\n\nWith the new utility versions of these functions changing their\narguments from \"const char *\" to \"const std::string\u0026\", we want\nto avoid using c_str(), so we don\u0027t end up making an extra\ncopy of the string.\n\nBug: 160683548\nTest: TreeHugger\n\n(cherry picked from commit 648fefa36c37ec40060b975b893ccc57b7f6ef89)\n\nMerged-In: If547052e8292bb4d9b26ceaa27b4e5e5ca627ea3\nChange-Id: Id38387b40b0f7a4f29402fc05e5affab835c7d69\n"
    },
    {
      "commit": "baf563dc6f17075583cc5dbffcf9a27e28d5ed17",
      "tree": "00ab52dc55f84a7cd1867d81262deb043e8c7e11",
      "parents": [
        "957fb15e70533874f1e60da2ef89fdd0f1469a6d"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Apr 08 07:53:54 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Apr 28 07:34:37 2021 +0000"
      },
      "message": "odrefresh: Add support for uploading stats\n\nAdds support for loading odrefresh metrics saved to file and uploading\nthem when system_server starts.\n\nBug: 169925964\nTest: manual module update with instrumentation showing statsd got data\n\n(cherry picked from commit 55ca8ab5216e4c20638f34b44c6bc53866b991ce)\nMerged-In: Iccc6ede1583235d09dbfd42996eb4ba118b700f8\nChange-Id: Iad588f05622864b37d40333d081bd89fbf76051c\n"
    },
    {
      "commit": "957fb15e70533874f1e60da2ef89fdd0f1469a6d",
      "tree": "b288f41d4a075a3ddacbd898b240c07a2eca36f5",
      "parents": [
        "f96c9163a7dc68d750234b66cbada0b2c70c28bf"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Apr 08 07:52:15 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Apr 28 07:34:37 2021 +0000"
      },
      "message": "odrefresh: add metrics support\n\nAdds metrics to stages of odrefresh.\n\nBug: 169925964\nTest: atest art_odrefresh_tests\nTest: atest --host art_odrefresh_tests\n\n(cherry picked from commit 3d877f082636f26ad57c92e3aae1525faacff51b)\nMerged-In: I768ce5f122b0c1b839f4cdf55aa6dafb68708eb2\nChange-Id: I8355fd38c28e41b04f0ea52384061b686cb1e362\n"
    },
    {
      "commit": "f96c9163a7dc68d750234b66cbada0b2c70c28bf",
      "tree": "d6c8f98643e2280f7c52b534d7e00ca299e3d0eb",
      "parents": [
        "c182a17abb1857b6edaa7fb1fcda00595051775d"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Apr 07 10:43:01 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Apr 28 07:34:37 2021 +0000"
      },
      "message": "odrefresh: move file-system utilities into odr_fs_utils.{h,cc}\n\nPreparation for metrics support which will use the same functionality.\n\nAdd tests for odrefresh file-system utilities too.\n\nBug: 160683548\nTest: atest art_odrefresh_tests\n\n(cherry picked from commit dda82d2ed4d073866f3c3da3d88ad178261c62f4)\nMerged-In: I1da2f477f51b1d445bbee3b22a9c1fb268d25e80\nChange-Id: If4b8cfdb9c68167aae07268b29140e1162af2293\n"
    },
    {
      "commit": "4b3f4d33fb9edcc35af39ec283b915cd8fac24f2",
      "tree": "aebed8d1f1b44033b2599dc89730e7eb81bc3f10",
      "parents": [
        "e1d170683b7f61f0c86c45b110889a999725c7a4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 20 15:17:28 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 21 08:56:28 2021 +0000"
      },
      "message": "Limit odrefresh progress percent to 90.\n\nThe boot animation will handle the finish to a 100.\n\nTest: boot after an ART update\nChange-Id: I5e7691ebcc506ba971a28b546c934aab818d522f\n"
    },
    {
      "commit": "5db2fd0e535b056ccb11e137f195b311627b48ff",
      "tree": "e998887ca55772dc43a0238dff373758472e646c",
      "parents": [
        "40e53f8c4ce22196b817dddb5aa795d8bc63288a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 16 15:07:56 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Apr 19 08:11:18 2021 +0000"
      },
      "message": "odrefresh: update progress bar when compiling.\n\nTest: update ART, visually see progress bar\nBug: 160683548\nChange-Id: Id5edb2655434d3f04fd6952f8ce892e01d2bbbb0\n"
    },
    {
      "commit": "d3e9ff326a511ef48ea85afd2de9c292aa6ea20b",
      "tree": "da924af40549dca5fb679173036049e70ca395e9",
      "parents": [
        "4531afd0d813fdfa2bb115522bc5918477c03dc2"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Mar 16 00:44:25 2021 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Apr 12 16:36:03 2021 +0000"
      },
      "message": "Merge libdexfile_external into libdexfile (reland 2).\n\nTo reduce the number of DSO\u0027s. libdexfile_external only adds a few\nsmall functions on top of libdexfile, and it\u0027s still only those\nfunctions that are available in the APEX stubs.\n\nAlso rename libdexfile_external_static to libdexfile_static, for\nconsistency.\n\nSince libdexfile now has stubs, we need to add test_for properties to\navoid linking against the stubs in tests.\n\nThis relands https://r.android.com/1666119 that got submitted out of\norder from https://r.android.com/1664026 - prerequisite changes now\nsubmitted with https://r.android.com/1671709.\n\nTest: Flash and boot with userdebug and eng to try both release and\n  debug modules.\nTest: art/tools/buildbot-build.sh {--target,--host}\nTest: art/build/apex/runtests.sh\nTest: mmm art\nBug: 143978909\nChange-Id: I6de99052d6d8a9d01d748baabbbcecfe1f4509dc\n"
    },
    {
      "commit": "669756df2f4aea67d00e7b3598b2d91f61537141",
      "tree": "86d7ac86af3ee50c3a1f3163f1a80de396279094",
      "parents": [
        "14d9155cc5ac661961aa6718eaf2bfcc704d3c98"
      ],
      "author": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Apr 09 11:35:11 2021 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Apr 09 11:35:11 2021 +0000"
      },
      "message": "Revert \"Merge libdexfile_external into libdexfile (reland).\"\n\nRevert \"Rename libdexfile_external_static to libdexfile_static (...\"\n\nRevert \"Rename libdexfile_external_static to libdexfile_static (...\"\n\nRevert submission 1666119-libdexfile-noext-2\n\nReason for revert: broken build 7270939 on aosp-master on full-eng\nReverted Changes:\nI582e49ae7:Merge libdexfile_external into libdexfile (reland)...\nIaa6a90f41:Rename libdexfile_external_static to libdexfile_st...\nI4315189b2:libdexfile_external is replaced by libdexfile (rel...\nIa065119c2:Rename libdexfile_external_static to libdexfile_st...\n\nBug: 184929782\nChange-Id: Ie69a73f4f0f745ab988e627c568f4ccb83fd1c71\nTest: forrest build for aosp-master on full-eng\n"
    },
    {
      "commit": "14d9155cc5ac661961aa6718eaf2bfcc704d3c98",
      "tree": "413aa4746ef3a6cbcbdbf8d75387e85be87f6460",
      "parents": [
        "a191bbfd53a0c7df9b5639bfbefeb8b531c833db"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Mar 16 00:44:25 2021 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Apr 09 09:18:30 2021 +0000"
      },
      "message": "Merge libdexfile_external into libdexfile (reland).\n\nTo reduce the number of DSO\u0027s. libdexfile_external only adds a few\nsmall functions on top of libdexfile, and it\u0027s still only those\nfunctions that are available in the APEX stubs.\n\nAlso rename libdexfile_external_static to libdexfile_static, for\nconsistency.\n\nSince libdexfile now has stubs, we need to add test_for properties to\navoid linking against the stubs in tests.\n\nThis relands https://r.android.com/1643424 with leaving out\ndex_file_ext.cc on Windows (cf. build issue b/184239856): mapped_file.h\nbrings in windows.h in Windows builds, which has several defines that\nare incompatible with dex internals (e.g. CONST).\n\nTest: Flash and boot with userdebug and eng to try both release and\n  debug modules.\nTest: art/tools/buildbot-build.sh {--target,--host}\nTest: art/build/apex/runtests.sh\nTest: mmm art\nTest: m TARGET_PRODUCT\u003dfull TARGET_BUILD_VARIANT\u003deng checkbuild\nBug: 143978909\nChange-Id: I582e49ae797744837849db056cef2fbeacc0681e\n"
    },
    {
      "commit": "84ebf3ca3a71cbde2607d30581c8bed7a24277ab",
      "tree": "f3834f2c8b2e4c9b2544426316bef1c87a6c9d74",
      "parents": [
        "fcbbdd4f364969afac7fc5862d0899460fba3e33"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Mar 22 17:03:42 2021 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Mar 23 11:21:19 2021 +0000"
      },
      "message": "odrefresh: ensure dalvik-cache exists for cache-info.xml file\n\nEnsure ART module apexdata/dalvik-cache directory exist before writing\ncache-info.xml.\n\nMinor comment clarifications.\n\nBug: 160683548\nTest: manual, observe updated module only recompiles on initial reboot.\nChange-Id: I51e5f0bc35bc6de5ae3bfb4ce7a6ab5e0dd4fe29\n"
    },
    {
      "commit": "fcbbdd4f364969afac7fc5862d0899460fba3e33",
      "tree": "ac3642c448ccf8998c350fd2be2c8e07d7cbd4e3",
      "parents": [
        "3b2629b90106b027ed5bcb7a9c1bf98be22b5d10"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Mar 22 17:02:05 2021 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Mar 23 11:21:19 2021 +0000"
      },
      "message": "odrefresh: make --compile single pass\n\nEnable single pass use of odrefresh. Using --compile now checks\nartifacts (performing any necessary cleaning) and compiles them.\n\nBug: 160683548\nTest: manual\nChange-Id: I6293a2d0709e11e475bf20e1b7971e7fbf14b779\n"
    },
    {
      "commit": "3407fb2590756bd571020e175e607c8b8c988ede",
      "tree": "dd3059ff51b2a568cd41cc36ff52ada05b359647",
      "parents": [
        "c4b9ae96c20f1c86695c1774ed77cd0acac1c543"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Mar 17 14:40:51 2021 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Mar 19 13:01:52 2021 +0000"
      },
      "message": "odrefresh: failure handling improvements\n\nAdd ExitCode::kCleanupFailed to report issues when removing files and\ndirectories.\n\nAdd WARN_UNUSED to important methods to ensure their return values are\nchecked.\n\nRemove LOG(FATAL) use in target code paths.\n\nRemove TEMP_FAILURE_RETRY for calls that are not interruptable\naccording to their man page documentation (fchmod, unlink).\n\nBug: 160683548\nTest: manual\nChange-Id: I9681c83d048f4dd7988e9ff7ec1caf25ed02fbec\n"
    },
    {
      "commit": "35363cf978d4d0b452cb8849041ff7dd6a6718bc",
      "tree": "7e478f10afc9cb582687d1f061f329e5a6a29be7",
      "parents": [
        "c9f4a3762b6c59714393aeca3662d96117e3b72f"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Mar 18 14:23:13 2021 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Mar 18 14:23:13 2021 +0000"
      },
      "message": "odrefresh: clean error message if env var missing\n\nMissing DEX2OATBOOTCLASSPATH and SYSTEMSERVERCLASSPATH environment\nvariables are non-recoverable, but fail with a clear error message.\n\nTest: TH\nChange-Id: I3c493eb75b62030c2b87f6a9a6215e9d0135caab\n"
    },
    {
      "commit": "a2e2eb187e0355314e59608dc204f68571e14069",
      "tree": "ee93a77cfbc5c756177710a9654ca5d47895b8b5",
      "parents": [
        "7c5e5c61e7c319ec88dc037f30b2ab357ec4db9a"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Mar 16 18:05:42 2021 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Mar 17 09:26:09 2021 +0000"
      },
      "message": "odrefresh: update flags to dex2oat\n\nUpdates following performance investigation.\n\nAdds: --no-abort-on-soft-verifier-error --force-determinism\nChanges: --image-format\u003dlz4hc to --image-format\u003dlz4\nRemoves: --generate-debug-info\n\nBug: 160683548\nBug: 181943478\nTest: adb install com.android.art.apex \u0026\u0026 adb reboot \u0026\u0026 check artifacts\nChange-Id: I79f171760c25858c629fb07004246a5bd5eb4874\n"
    },
    {
      "commit": "947a8504f0ccce5e8adff2a2c96c33b0aa93c8fc",
      "tree": "ae0042bab1333da6864594e23c6dc41fc5c224a4",
      "parents": [
        "3f64940d7c6ce4d3f06ea5dbe195c244ca7a8fbc"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Mar 08 15:40:09 2021 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Mar 12 17:27:34 2021 +0000"
      },
      "message": "odrefresh: check artifacts using cache and filesystem metadata\n\nRenables checking of artifacts when invoked with \"--check\".\n\nReplaces the former \"--check\" code with a lightweight method based on\nartifact cache metadata and filesystem metadata. The worst case checks\ntake 60ms on aosp_blueline-userdebug.\n\nThe old \"--check code\" is now invoked with \"--verify\". This remains\nfor testing purposes and as an option for post-compilation checking.\n\nBug: 160683548\nBug: 181689036\nTest: manual module installs, reboots, deleting artifacts.\n\nChange-Id: I2a75e0fde032a8e3a29d105d8b52e1ede6cb764d\n"
    },
    {
      "commit": "8059bdb5ab41ef0beb18eabf00fee877292d8a33",
      "tree": "ad15674ff4a9bcc1b0e49c32d20b0b664bd0fb29",
      "parents": [
        "eb7882bd913fe3224bb144b943816376753f491b"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Mar 05 12:07:14 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 05 17:44:41 2021 +0000"
      },
      "message": "odrefresh: temporarily disable check\n\nTemporary measure for boot time regression whilst an alternative\napproach is underway.\n\nBug: 160683548\nBug: 181689036\nTest: manual\nChange-Id: I0e7d9df5de056f89e489fe8f075f2e1355f8da36\n"
    },
    {
      "commit": "8f19867228345de08e8c224a3743c3f24926f834",
      "tree": "d4980670134504a92eb0a85649b9bfc09e26a089",
      "parents": [
        "e5276da1c7179e768ef25d2a65702816261cab59"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Sat Feb 27 22:23:18 2021 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Mar 02 12:03:20 2021 +0000"
      },
      "message": "odrefresh: fixes for launching from init\n\nWhen launched from init, the umask() of odrefresh is 0077 which means\nonly the owner can read files and directories created by\nodrefresh. This prevents loading system_server compilation artifacts.\n\nThis change unsets the umask when creating installation directories\nand files. It also ensures they have the expected permissions.\n\nFix: 181397437\nTest: trigger recompilation, observe system_server odexes mapped\nChange-Id: I7086421d4a2281c563dc1fdb3ec74e31da9da978\n"
    },
    {
      "commit": "9150de6901996679c0ea6b34e74c8ddcc718d309",
      "tree": "496386b00b2a1b0b3bfbc36b09cf8083e3922f9b",
      "parents": [
        "8da26145fba859a5aba047f6280568565ffb8bfc"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Fri Feb 26 03:22:24 2021 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 02 07:18:14 2021 +0000"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to art\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  adbconnection/Android.bp\n  benchmark/Android.bp\n  build/Android.bp\n  build/Android.cpplint.mk\n  build/Android.gtest.mk\n  build/apex/Android.bp\n  build/boot/Android.bp\n  build/sdk/Android.bp\n  cmdline/Android.bp\n  compiler/Android.bp\n  dalvikvm/Android.bp\n  dex2oat/Android.bp\n  dexdump/Android.bp\n  dexlayout/Android.bp\n  dexlist/Android.bp\n  dexoptanalyzer/Android.bp\n  disassembler/Android.bp\n  dt_fd_forward/export/Android.bp\n  imgdiag/Android.bp\n  libartbase/Android.bp\n  libartpalette/Android.bp\n  libartservice/Android.bp\n  libartservice/tests/Android.bp\n  libarttools/Android.bp\n  libdexfile/Android.bp\n  libelffile/Android.bp\n  libnativebridge/Android.bp\n  libnativebridge/tests/Android.bp\n  libnativeloader/Android.bp\n  libnativeloader/test/Android.bp\n  libnativeloader/test/Android.mk\n  libprofile/Android.bp\n  oatdump/Android.bp\n  odrefresh/Android.bp\n  perfetto_hprof/Android.bp\n  profman/Android.bp\n  runtime/Android.bp\n  simulator/Android.bp\n  test/001-HelloWorld/Android.bp\n  test/001-Main/Android.bp\n  test/002-sleep/Android.bp\n  test/004-InterfaceTest/Android.bp\n  test/004-SignalTest/Android.bp\n  test/004-UnsafeTest/Android.bp\n  test/004-checker-UnsafeTest18/Android.bp\n  test/006-args/Android.bp\n  test/007-count10/Android.bp\n  test/009-instanceof/Android.bp\n  test/010-instance/Android.bp\n  test/011-array-copy/Android.bp\n  test/012-math/Android.bp\n  test/013-math2/Android.bp\n  test/014-math3/Android.bp\n  test/015-switch/Android.bp\n  test/016-intern/Android.bp\n  test/017-float/Android.bp\n  test/018-stack-overflow/Android.bp\n  test/019-wrong-array-type/Android.bp\n  test/020-string/Android.bp\n  test/021-string2/Android.bp\n  test/022-interface/Android.bp\n  test/025-access-controller/Android.bp\n  test/026-access/Android.bp\n  test/027-arithmetic/Android.bp\n  test/028-array-write/Android.bp\n  test/029-assert/Android.bp\n  test/030-bad-finalizer/Android.bp\n  test/033-class-init-deadlock/Android.bp\n  test/034-call-null/Android.bp\n  test/035-enum/Android.bp\n  test/036-finalizer/Android.bp\n  test/037-inherit/Android.bp\n  test/038-inner-null/Android.bp\n  test/039-join-main/Android.bp\n  test/040-miranda/Android.bp\n  test/041-narrowing/Android.bp\n  test/043-privates/Android.bp\n  test/044-proxy/Android.bp\n  test/045-reflect-array/Android.bp\n  test/046-reflect/Android.bp\n  test/047-returns/Android.bp\n  test/048-reflect-v8/Android.bp\n  test/049-show-object/Android.bp\n  test/050-sync-test/Android.bp\n  test/051-thread/Android.bp\n  test/052-verifier-fun/Android.bp\n  test/053-wait-some/Android.bp\n  test/054-uncaught/Android.bp\n  test/055-enum-performance/Android.bp\n  test/058-enum-order/Android.bp\n  test/059-finalizer-throw/Android.bp\n  test/061-out-of-memory/Android.bp\n  test/062-character-encodings/Android.bp\n  test/063-process-manager/Android.bp\n  test/067-preemptive-unpark/Android.bp\n  test/070-nio-buffer/Android.bp\n  test/072-precise-gc/Android.bp\n  test/072-reachability-fence/Android.bp\n  test/074-gc-thrash/Android.bp\n  test/076-boolean-put/Android.bp\n  test/078-polymorphic-virtual/Android.bp\n  test/079-phantom/Android.bp\n  test/080-oom-fragmentation/Android.bp\n  test/080-oom-throw-with-finalizer/Android.bp\n  test/080-oom-throw/Android.bp\n  test/081-hot-exceptions/Android.bp\n  test/082-inline-execute/Android.bp\n  test/083-compiler-regressions/Android.bp\n  test/084-class-init/Android.bp\n  test/086-null-super/Android.bp\n  test/087-gc-after-link/Android.bp\n  test/090-loop-formation/Android.bp\n  test/092-locale/Android.bp\n  test/093-serialization/Android.bp\n  test/094-pattern/Android.bp\n  test/095-switch-MAX_INT/Android.bp\n  test/096-array-copy-concurrent-gc/Android.bp\n  test/098-ddmc/Android.bp\n  test/099-vmdebug/Android.bp\n  test/100-reflect2/Android.bp\n  test/1004-checker-volatile-ref-load/Android.bp\n  test/101-fibonacci/Android.bp\n  test/102-concurrent-gc/Android.bp\n  test/103-string-append/Android.bp\n  test/104-growth-limit/Android.bp\n  test/105-invoke/Android.bp\n  test/106-exceptions2/Android.bp\n  test/107-int-math2/Android.bp\n  test/108-check-cast/Android.bp\n  test/109-suspend-check/Android.bp\n  test/110-field-access/Android.bp\n  test/112-double-math/Android.bp\n  test/114-ParallelGC/Android.bp\n  test/115-native-bridge/Android.bp\n  test/116-nodex2oat/Android.bp\n  test/120-hashcode/Android.bp\n  test/121-simple-suspend-check/Android.bp\n  test/122-npe/Android.bp\n  test/123-compiler-regressions-mt/Android.bp\n  test/123-inline-execute2/Android.bp\n  test/125-gc-and-classloading/Android.bp\n  test/128-reg-spill-on-implicit-nullcheck/Android.bp\n  test/129-ThreadGetId/Android.bp\n  test/132-daemon-locks-shutdown/Android.bp\n  test/133-static-invoke-super/Android.bp\n  test/1336-short-finalizer-timeout/Android.bp\n  test/1337-gc-coverage/Android.bp\n  test/1339-dead-reference-safe/Android.bp\n  test/136-daemon-jni-shutdown/Android.bp\n  test/139-register-natives/Android.bp\n  test/140-dce-regression/Android.bp\n  test/140-field-packing/Android.bp\n  test/143-string-value/Android.bp\n  test/144-static-field-sigquit/Android.bp\n  test/148-multithread-gc-annotations/Android.bp\n  test/149-suspend-all-stress/Android.bp\n  test/150-loadlibrary/Android.bp\n  test/151-OpenFileLimit/Android.bp\n  test/152-dead-large-object/Android.bp\n  test/153-reference-stress/Android.bp\n  test/154-gc-loop/Android.bp\n  test/156-register-dex-file-multi-loader/Android.bp\n  test/158-app-image-class-table/Android.bp\n  test/159-app-image-fields/Android.bp\n  test/163-app-image-methods/Android.bp\n  test/165-lock-owner-proxy/Android.bp\n  test/168-vmstack-annotated/Android.bp\n  test/169-threadgroup-jni/Android.bp\n  test/170-interface-init/Android.bp\n  test/172-app-image-twice/Android.bp\n  test/174-escaping-instance-of-bad-class/Android.bp\n  test/175-alloc-big-bignums/Android.bp\n  test/176-app-image-string/Android.bp\n  test/177-visibly-initialized-deadlock/Android.bp\n  test/178-app-image-native-method/Android.bp\n  test/179-nonvirtual-jni/Android.bp\n  test/1900-track-alloc/Android.bp\n  test/1901-get-bytecodes/Android.bp\n  test/1902-suspend/Android.bp\n  test/1903-suspend-self/Android.bp\n  test/1904-double-suspend/Android.bp\n  test/1905-suspend-native/Android.bp\n  test/1906-suspend-list-me-first/Android.bp\n  test/1907-suspend-list-self-twice/Android.bp\n  test/1908-suspend-native-resume-self/Android.bp\n  test/1909-per-agent-tls/Android.bp\n  test/1910-transform-with-default/Android.bp\n  test/1911-get-local-var-table/Android.bp\n  test/1912-get-set-local-primitive/Android.bp\n  test/1913-get-set-local-objects/Android.bp\n  test/1914-get-local-instance/Android.bp\n  test/1915-get-set-local-current-thread/Android.bp\n  test/1916-get-set-current-frame/Android.bp\n  test/1917-get-stack-frame/Android.bp\n  test/1919-vminit-thread-start-timing/Android.bp\n  test/1920-suspend-native-monitor/Android.bp\n  test/1921-suspend-native-recursive-monitor/Android.bp\n  test/1922-owned-monitors-info/Android.bp\n  test/1923-frame-pop/Android.bp\n  test/1924-frame-pop-toggle/Android.bp\n  test/1925-self-frame-pop/Android.bp\n  test/1926-missed-frame-pop/Android.bp\n  test/1927-exception-event/Android.bp\n  test/1928-exception-event-exception/Android.bp\n  test/1930-monitor-info/Android.bp\n  test/1931-monitor-events/Android.bp\n  test/1932-monitor-events-misc/Android.bp\n  test/1933-monitor-current-contended/Android.bp\n  test/1934-jvmti-signal-thread/Android.bp\n  test/1935-get-set-current-frame-jit/Android.bp\n  test/1936-thread-end-events/Android.bp\n  test/1937-transform-soft-fail/Android.bp\n  test/1938-transform-abstract-single-impl/Android.bp\n  test/1939-proxy-frames/Android.bp\n  test/1941-dispose-stress/Android.bp\n  test/1942-suspend-raw-monitor-exit/Android.bp\n  test/1943-suspend-raw-monitor-wait/Android.bp\n  test/1945-proxy-method-arguments/Android.bp\n  test/1947-breakpoint-redefine-deopt/Android.bp\n  test/1949-short-dex-file/Android.bp\n  test/1951-monitor-enter-no-suspend/Android.bp\n  test/1953-pop-frame/Android.bp\n  test/1954-pop-frame-jit/Android.bp\n  test/1955-pop-frame-jit-called/Android.bp\n  test/1956-pop-frame-jit-calling/Android.bp\n  test/1957-error-ext/Android.bp\n  test/1958-transform-try-jit/Android.bp\n  test/1959-redefine-object-instrument/Android.bp\n  test/1960-checker-bounds-codegen/Android.bp\n  test/1960-obsolete-jit-multithread-native/Android.bp\n  test/1961-checker-loop-vectorizer/Android.bp\n  test/1961-obsolete-jit-multithread/Android.bp\n  test/1962-multi-thread-events/Android.bp\n  test/1963-add-to-dex-classloader-in-memory/Android.bp\n  test/1967-get-set-local-bad-slot/Android.bp\n  test/1968-force-early-return/Android.bp\n  test/1969-force-early-return-void/Android.bp\n  test/1970-force-early-return-long/Android.bp\n  test/1971-multi-force-early-return/Android.bp\n  test/1972-jni-id-swap-indices/Android.bp\n  test/1973-jni-id-swap-pointer/Android.bp\n  test/1974-resize-array/Android.bp\n  test/1975-hello-structural-transformation/Android.bp\n  test/1976-hello-structural-static-methods/Android.bp\n  test/1977-hello-structural-obsolescence/Android.bp\n  test/1978-regular-obsolete-then-structural-obsolescence/Android.bp\n  test/1979-threaded-structural-transformation/Android.bp\n  test/1980-obsolete-object-cleared/Android.bp\n  test/1982-no-virtuals-structural-redefinition/Android.bp\n  test/1984-structural-redefine-field-trace/Android.bp\n  test/1985-structural-redefine-stack-scope/Android.bp\n  test/1986-structural-redefine-multi-thread-stack-scope/Android.bp\n  test/1987-structural-redefine-recursive-stack-scope/Android.bp\n  test/1988-multi-structural-redefine/Android.bp\n  test/1989-transform-bad-monitor/Android.bp\n  test/1990-structural-bad-verify/Android.bp\n  test/1991-hello-structural-retransform/Android.bp\n  test/1992-retransform-no-such-field/Android.bp\n  test/1993-fallback-non-structural/Android.bp\n  test/1994-final-virtual-structural/Android.bp\n  test/1995-final-virtual-structural-multithread/Android.bp\n  test/1996-final-override-virtual-structural/Android.bp\n  test/1997-structural-shadow-method/Android.bp\n  test/1998-structural-shadow-field/Android.bp\n  test/1999-virtual-structural/Android.bp\n  test/2003-double-virtual-structural/Android.bp\n  test/2004-double-virtual-structural-abstract/Android.bp\n  test/2005-pause-all-redefine-multithreaded/Android.bp\n  test/2008-redefine-then-old-reflect-field/Android.bp\n  test/201-built-in-except-detail-messages/Android.bp\n  test/2011-stack-walk-concurrent-instrument/Android.bp\n  test/2019-constantcalculationsinking/Android.bp\n  test/202-thread-oome/Android.bp\n  test/2020-InvokeVirtual-Inlining/Android.bp\n  test/2021-InvokeStatic-Inlining/Android.bp\n  test/2022-Invariantloops/Android.bp\n  test/2023-InvariantLoops_typecast/Android.bp\n  test/2024-InvariantNegativeLoop/Android.bp\n  test/2025-ChangedArrayValue/Android.bp\n  test/2026-DifferentMemoryLSCouples/Android.bp\n  test/2027-TwiceTheSameMemoryCouple/Android.bp\n  test/2028-MultiBackward/Android.bp\n  test/2029-contended-monitors/Android.bp\n  test/203-multi-checkpoint/Android.bp\n  test/2030-long-running-child/Android.bp\n  test/2031-zygote-compiled-frame-deopt/Android.bp\n  test/2033-shutdown-mechanics/Android.bp\n  test/2036-jni-filechannel/Android.bp\n  test/2037-thread-name-inherit/Android.bp\n  test/2231-checker-heap-poisoning/Android.bp\n  test/2232-write-metrics-to-log/Android.bp\n  test/300-package-override/Android.bp\n  test/301-abstract-protected/Android.bp\n  test/302-float-conversion/Android.bp\n  test/304-method-tracing/Android.bp\n  test/305-other-fault-handler/Android.bp\n  test/401-optimizing-compiler/Android.bp\n  test/402-optimizing-control-flow/Android.bp\n  test/403-optimizing-long/Android.bp\n  test/404-optimizing-allocator/Android.bp\n  test/405-optimizing-long-allocator/Android.bp\n  test/406-fields/Android.bp\n  test/407-arrays/Android.bp\n  test/408-move-bug/Android.bp\n  test/409-materialized-condition/Android.bp\n  test/410-floats/Android.bp\n  test/411-checker-hdiv-hrem-const/Android.bp\n  test/411-checker-hdiv-hrem-pow2/Android.bp\n  test/411-checker-instruct-simplifier-hrem/Android.bp\n  test/411-optimizing-arith/Android.bp\n  test/413-regalloc-regression/Android.bp\n  test/414-static-fields/Android.bp\n  test/418-const-string/Android.bp\n  test/419-long-parameter/Android.bp\n  test/420-const-class/Android.bp\n  test/421-exceptions/Android.bp\n  test/421-large-frame/Android.bp\n  test/422-instanceof/Android.bp\n  test/422-type-conversion/Android.bp\n  test/423-invoke-interface/Android.bp\n  test/424-checkcast/Android.bp\n  test/426-monitor/Android.bp\n  test/427-bitwise/Android.bp\n  test/427-bounds/Android.bp\n  test/429-ssa-builder/Android.bp\n  test/430-live-register-slow-path/Android.bp\n  test/433-gvn/Android.bp\n  test/434-shifter-operand/Android.bp\n  test/435-try-finally-without-catch/Android.bp\n  test/436-rem-float/Android.bp\n  test/436-shift-constant/Android.bp\n  test/437-inline/Android.bp\n  test/438-volatile/Android.bp\n  test/439-npe/Android.bp\n  test/439-swap-double/Android.bp\n  test/440-stmp/Android.bp\n  test/441-checker-inliner/Android.bp\n  test/443-not-bool-inline/Android.bp\n  test/444-checker-nce/Android.bp\n  test/445-checker-licm/Android.bp\n  test/446-checker-inliner2/Android.bp\n  test/447-checker-inliner3/Android.bp\n  test/449-checker-bce-rem/Android.bp\n  test/449-checker-bce/Android.bp\n  test/450-checker-types/Android.bp\n  test/451-regression-add-float/Android.bp\n  test/451-spill-splot/Android.bp\n  test/454-get-vreg/Android.bp\n  test/455-checker-gvn/Android.bp\n  test/456-baseline-array-set/Android.bp\n  test/458-long-to-fpu/Android.bp\n  test/461-get-reference-vreg/Android.bp\n  test/464-checker-inline-sharpen-calls/Android.bp\n  test/465-checker-clinit-gvn/Android.bp\n  test/466-get-live-vreg/Android.bp\n  test/469-condition-materialization/Android.bp\n  test/470-huge-method/Android.bp\n  test/471-deopt-environment/Android.bp\n  test/472-type-propagation/Android.bp\n  test/473-checker-inliner-constants/Android.bp\n  test/473-remove-dead-block/Android.bp\n  test/474-checker-boolean-input/Android.bp\n  test/474-fp-sub-neg/Android.bp\n  test/475-simplify-mul-zero/Android.bp\n  test/476-checker-ctor-fence-redun-elim/Android.bp\n  test/476-checker-ctor-memory-barrier/Android.bp\n  test/476-clinit-inline-static-invoke/Android.bp\n  test/477-checker-bound-type/Android.bp\n  test/477-long-2-float-convers-precision/Android.bp\n  test/478-checker-clinit-check-pruning/Android.bp\n  test/478-checker-inline-noreturn/Android.bp\n  test/478-checker-inliner-nested-loop/Android.bp\n  test/479-regression-implicit-null-check/Android.bp\n  test/480-checker-dead-blocks/Android.bp\n  test/481-regression-phi-cond/Android.bp\n  test/482-checker-loop-back-edge-use/Android.bp\n  test/483-dce-block/Android.bp\n  test/485-checker-dce-switch/Android.bp\n  test/486-checker-must-do-null-check/Android.bp\n  test/487-checker-inline-calls/Android.bp\n  test/488-checker-inline-recursive-calls/Android.bp\n  test/489-current-method-regression/Android.bp\n  test/490-checker-inline/Android.bp\n  test/491-current-method/Android.bp\n  test/492-checker-inline-invoke-interface/Android.bp\n  test/493-checker-inline-invoke-interface/Android.bp\n  test/494-checker-instanceof-tests/Android.bp\n  test/495-checker-checkcast-tests/Android.bp\n  test/496-checker-inlining-class-loader/Android.bp\n  test/497-inlining-and-class-loader/Android.bp\n  test/499-bce-phi-array-length/Android.bp\n  test/500-instanceof/Android.bp\n  test/505-simplifier-type-propagation/Android.bp\n  test/507-boolean-test/Android.bp\n  test/507-referrer/Android.bp\n  test/508-checker-disassembly/Android.bp\n  test/508-referrer-method/Android.bp\n  test/513-array-deopt/Android.bp\n  test/514-shifts/Android.bp\n  test/519-bound-load-class/Android.bp\n  test/521-checker-array-set-null/Android.bp\n  test/521-regression-integer-field-set/Android.bp\n  test/524-boolean-simplifier-regression/Android.bp\n  test/525-checker-arrays-fields1/Android.bp\n  test/525-checker-arrays-fields2/Android.bp\n  test/526-checker-caller-callee-regs/Android.bp\n  test/526-long-regalloc/Android.bp\n  test/527-checker-array-access-simd/Android.bp\n  test/527-checker-array-access-split/Android.bp\n  test/528-long-hint/Android.bp\n  test/529-long-split/Android.bp\n  test/530-checker-loops1/Android.bp\n  test/530-checker-loops2/Android.bp\n  test/530-checker-loops3/Android.bp\n  test/530-checker-loops4/Android.bp\n  test/530-checker-loops5/Android.bp\n  test/530-checker-lse-ctor-fences/Android.bp\n  test/530-checker-lse-simd/Android.bp\n  test/530-checker-lse/Android.bp\n  test/530-checker-lse2/Android.bp\n  test/530-instanceof-checkcast/Android.bp\n  test/530-regression-lse/Android.bp\n  test/532-checker-nonnull-arrayset/Android.bp\n  test/534-checker-bce-deoptimization/Android.bp\n  test/535-deopt-and-inlining/Android.bp\n  test/536-checker-intrinsic-optimization/Android.bp\n  test/537-checker-arraycopy/Android.bp\n  test/537-checker-jump-over-jump/Android.bp\n  test/538-checker-embed-constants/Android.bp\n  test/540-checker-rtp-bug/Android.bp\n  test/542-bitfield-rotates/Android.bp\n  test/542-inline-trycatch/Android.bp\n  test/542-unresolved-access-check/Android.bp\n  test/545-tracing-and-jit/Android.bp\n  test/548-checker-inlining-and-dce/Android.bp\n  test/549-checker-types-merge/Android.bp\n  test/550-checker-multiply-accumulate/Android.bp\n  test/550-new-instance-clinit/Android.bp\n  test/551-checker-clinit/Android.bp\n  test/551-checker-shifter-operand/Android.bp\n  test/551-implicit-null-checks/Android.bp\n  test/552-checker-sharpening/Android.bp\n  test/552-checker-x86-avx2-bit-manipulation/Android.bp\n  test/554-checker-rtp-checkcast/Android.bp\n  test/555-UnsafeGetLong-regression/Android.bp\n  test/557-checker-instruct-simplifier-ror/Android.bp\n  test/558-switch/Android.bp\n  test/559-bce-ssa/Android.bp\n  test/559-checker-rtp-ifnotnull/Android.bp\n  test/560-packed-switch/Android.bp\n  test/561-divrem/Android.bp\n  test/561-shared-slowpaths/Android.bp\n  test/562-bce-preheader/Android.bp\n  test/562-checker-no-intermediate/Android.bp\n  test/563-checker-invoke-super/Android.bp\n  test/564-checker-bitcount/Android.bp\n  test/564-checker-inline-loop/Android.bp\n  test/564-checker-negbitwise/Android.bp\n  test/565-checker-condition-liveness/Android.bp\n  test/566-checker-codegen-select/Android.bp\n  test/566-polymorphic-inlining/Android.bp\n  test/567-checker-builder-intrinsics/Android.bp\n  test/568-checker-onebit/Android.bp\n  test/570-checker-select/Android.bp\n  test/572-checker-array-get-regression/Android.bp\n  test/573-checker-checkcast-regression/Android.bp\n  test/576-polymorphic-inlining/Android.bp\n  test/577-checker-fp2int/Android.bp\n  test/578-bce-visit/Android.bp\n  test/578-polymorphic-inlining/Android.bp\n  test/579-inline-infinite/Android.bp\n  test/580-checker-round/Android.bp\n  test/580-crc32/Android.bp\n  test/581-rtp/Android.bp\n  test/582-checker-bce-length/Android.bp\n  test/583-checker-zero/Android.bp\n  test/584-checker-div-bool/Android.bp\n  test/589-super-imt/Android.bp\n  test/590-checker-arr-set-null-regression/Android.bp\n  test/591-checker-regression-dead-loop/Android.bp\n  test/593-checker-long-2-float-regression/Android.bp\n  test/594-checker-array-alias/Android.bp\n  test/594-load-string-regression/Android.bp\n  test/595-profile-saving/Android.bp\n  test/597-deopt-busy-loop/Android.bp\n  test/597-deopt-invoke-stub/Android.bp\n  test/597-deopt-new-string/Android.bp\n  test/602-deoptimizeable/Android.bp\n  test/603-checker-instanceof/Android.bp\n  test/604-hot-static-interface/Android.bp\n  test/605-new-string-from-bytes/Android.bp\n  test/607-daemon-stress/Android.bp\n  test/609-checker-inline-interface/Android.bp\n  test/609-checker-x86-bounds-check/Android.bp\n  test/610-arraycopy/Android.bp\n  test/611-checker-simplify-if/Android.bp\n  test/614-checker-dump-constant-location/Android.bp\n  test/615-checker-arm64-store-zero/Android.bp\n  test/616-cha-abstract/Android.bp\n  test/616-cha-interface/Android.bp\n  test/616-cha-miranda/Android.bp\n  test/616-cha-native/Android.bp\n  test/616-cha-regression-proxy-method/Android.bp\n  test/616-cha/Android.bp\n  test/617-clinit-oome/Android.bp\n  test/618-checker-induction/Android.bp\n  test/619-checker-current-method/Android.bp\n  test/620-checker-bce-intrinsics/Android.bp\n  test/622-checker-bce-regressions/Android.bp\n  test/623-checker-loop-regressions/Android.bp\n  test/625-checker-licm-regressions/Android.bp\n  test/626-set-resolved-string/Android.bp\n  test/627-checker-unroll/Android.bp\n  test/628-vdex/Android.bp\n  test/629-vdex-speed/Android.bp\n  test/631-checker-get-class/Android.bp\n  test/632-checker-char-at-bounds/Android.bp\n  test/635-checker-arm64-volatile-load-cc/Android.bp\n  test/636-arm64-veneer-pool/Android.bp\n  test/637-checker-throw-inline/Android.bp\n  test/638-checker-inline-cache-intrinsic/Android.bp\n  test/639-checker-code-sinking/Android.bp\n  test/640-checker-boolean-simd/Android.bp\n  test/640-checker-integer-valueof/Android.bp\n  test/640-checker-simd/Android.bp\n  test/641-checker-arraycopy/Android.bp\n  test/641-iterations/Android.bp\n  test/642-fp-callees/Android.bp\n  test/643-checker-bogus-ic/Android.bp\n  test/645-checker-abs-simd/Android.bp\n  test/646-checker-arraycopy-large-cst-pos/Android.bp\n  test/646-checker-long-const-to-int/Android.bp\n  test/646-checker-simd-hadd/Android.bp\n  test/647-jni-get-field-id/Android.bp\n  test/650-checker-inline-access-thunks/Android.bp\n  test/652-deopt-intrinsic/Android.bp\n  test/654-checker-periodic/Android.bp\n  test/655-checker-simd-arm-opt/Android.bp\n  test/655-jit-clinit/Android.bp\n  test/656-checker-simd-opt/Android.bp\n  test/656-loop-deopt/Android.bp\n  test/657-branches/Android.bp\n  test/658-fp-read-barrier/Android.bp\n  test/660-checker-sad/Android.bp\n  test/660-checker-simd-sad/Android.bp\n  test/660-clinit/Android.bp\n  test/661-checker-simd-reduc/Android.bp\n  test/661-oat-writer-layout/Android.bp\n  test/662-regression-alias/Android.bp\n  test/664-aget-verifier/Android.bp\n  test/665-checker-simd-zero/Android.bp\n  test/666-dex-cache-itf/Android.bp\n  test/667-checker-simd-alignment/Android.bp\n  test/667-jit-jni-stub/Android.bp\n  test/667-out-of-bounds/Android.bp\n  test/669-checker-break/Android.bp\n  test/671-npe-field-opts/Android.bp\n  test/672-checker-throw-method/Android.bp\n  test/673-checker-throw-vmethod/Android.bp\n  test/674-HelloWorld-Dm/Android.bp\n  test/674-hotness-compiled/Android.bp\n  test/676-proxy-jit-at-first-use/Android.bp\n  test/677-fsi2/Android.bp\n  test/679-locks/Android.bp\n  test/680-checker-deopt-dex-pc-0/Android.bp\n  test/680-sink-regression/Android.bp\n  test/684-checker-simd-dotprod/Android.bp\n  test/684-select-condition/Android.bp\n  test/685-deoptimizeable/Android.bp\n  test/687-deopt/Android.bp\n  test/689-multi-catch/Android.bp\n  test/689-zygote-jit-deopt/Android.bp\n  test/693-vdex-inmem-loader-evict/Android.bp\n  test/694-clinit-jit/Android.bp\n  test/695-simplify-throws/Android.bp\n  test/696-loop/Android.bp\n  test/697-checker-string-append/Android.bp\n  test/698-selects/Android.bp\n  test/700-LoadArgRegs/Android.bp\n  test/703-floating-point-div/Android.bp\n  test/704-multiply-accumulate/Android.bp\n  test/705-register-conflict/Android.bp\n  test/707-checker-invalid-profile/Android.bp\n  test/708-jit-cache-churn/Android.bp\n  test/711-checker-type-conversion/Android.bp\n  test/717-integer-value-of/Android.bp\n  test/718-zipfile-finalizer/Android.bp\n  test/720-thread-priority/Android.bp\n  test/721-osr/Android.bp\n  test/726-array-store/Android.bp\n  test/728-imt-conflict-zygote/Android.bp\n  test/805-TooDeepClassInstanceOf/Android.bp\n  test/806-TooWideClassInstanceOf/Android.bp\n  test/812-recursive-default/Android.bp\n  test/813-fp-args/Android.bp\n  test/814-large-field-offsets/Android.bp\n  test/815-invokeinterface-default/Android.bp\n  test/818-clinit-nterp/Android.bp\n  test/900-hello-plugin/Android.bp\n  test/901-hello-ti-agent/Android.bp\n  test/902-hello-transformation/Android.bp\n  test/903-hello-tagging/Android.bp\n  test/904-object-allocation/Android.bp\n  test/905-object-free/Android.bp\n  test/906-iterate-heap/Android.bp\n  test/907-get-loaded-classes/Android.bp\n  test/908-gc-start-finish/Android.bp\n  test/910-methods/Android.bp\n  test/911-get-stack-trace/Android.bp\n  test/913-heaps/Android.bp\n  test/914-hello-obsolescence/Android.bp\n  test/915-obsolete-2/Android.bp\n  test/916-obsolete-jit/Android.bp\n  test/917-fields-transformation/Android.bp\n  test/918-fields/Android.bp\n  test/919-obsolete-fields/Android.bp\n  test/920-objects/Android.bp\n  test/921-hello-failure/Android.bp\n  test/922-properties/Android.bp\n  test/923-monitors/Android.bp\n  test/924-threads/Android.bp\n  test/925-threadgroups/Android.bp\n  test/926-multi-obsolescence/Android.bp\n  test/927-timers/Android.bp\n  test/928-jni-table/Android.bp\n  test/930-hello-retransform/Android.bp\n  test/931-agent-thread/Android.bp\n  test/932-transform-saves/Android.bp\n  test/933-misc-events/Android.bp\n  test/937-hello-retransform-package/Android.bp\n  test/939-hello-transformation-bcp/Android.bp\n  test/940-recursive-obsolete/Android.bp\n  test/941-recursive-obsolete-jit/Android.bp\n  test/942-private-recursive/Android.bp\n  test/943-private-recursive-jit/Android.bp\n  test/944-transform-classloaders/Android.bp\n  test/945-obsolete-native/Android.bp\n  test/946-obsolete-throw/Android.bp\n  test/947-reflect-method/Android.bp\n  test/949-in-memory-transform/Android.bp\n  test/950-redefine-intrinsic/Android.bp\n  test/951-threaded-obsolete/Android.bp\n  test/963-default-range-smali/Android.bp\n  test/982-ok-no-retransform/Android.bp\n  test/983-source-transform-verify/Android.bp\n  test/984-obsolete-invoke/Android.bp\n  test/985-re-obsolete/Android.bp\n  test/986-native-method-bind/Android.bp\n  test/987-agent-bind/Android.bp\n  test/988-method-trace/Android.bp\n  test/989-method-trace-throw/Android.bp\n  test/990-field-trace/Android.bp\n  test/991-field-trace-2/Android.bp\n  test/992-source-data/Android.bp\n  test/993-breakpoints/Android.bp\n  test/994-breakpoint-line/Android.bp\n  test/995-breakpoints-throw/Android.bp\n  test/996-breakpoint-obsolete/Android.bp\n  test/997-single-step/Android.bp\n  test/Android.bp\n  tools/Android.bp\n  tools/ahat/Android.bp\n  tools/ahat/Android.mk\n  tools/art_verifier/Android.bp\n  tools/cpp-define-generator/Android.bp\n  tools/dexanalyze/Android.bp\n  tools/dexfuzz/Android.bp\n  tools/dmtracedump/Android.bp\n  tools/hiddenapi/Android.bp\n  tools/jfuzz/Android.bp\n  tools/jvmti-agents/breakpoint-logger/Android.bp\n  tools/jvmti-agents/chain-agents/Android.bp\n  tools/jvmti-agents/dump-jvmti-state/Android.bp\n  tools/jvmti-agents/enable-vlog/Android.bp\n  tools/jvmti-agents/field-counts/Android.bp\n  tools/jvmti-agents/field-null-percent/Android.bp\n  tools/jvmti-agents/jit-load/Android.bp\n  tools/jvmti-agents/list-extensions/Android.bp\n  tools/jvmti-agents/simple-force-redefine/Android.bp\n  tools/jvmti-agents/simple-profile/Android.bp\n  tools/jvmti-agents/ti-alloc-sample/Android.bp\n  tools/jvmti-agents/ti-fast/Android.bp\n  tools/jvmti-agents/titrace/Android.bp\n  tools/jvmti-agents/wrapagentproperties/Android.bp\n  tools/signal_dumper/Android.bp\n  tools/tracefast-plugin/Android.bp\n  tools/veridex/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:\n  sigchainlib/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-GPL-2.0\nto:\n  Android.bp\n  Android.mk\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-GPL-2.0\n    SPDX-license-identifier-GPL-with-classpath-exception\nto:\n  dt_fd_forward/Android.bp\n  openjdkjvmti/Android.bp\n\nAdded SPDX-license-identifier-GPL-2.0\n    SPDX-license-identifier-GPL-with-classpath-exception\nto:\n  openjdkjvm/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\nChange-Id: If775045c12955fa6d72d40ccf2a09beef93d1699\nMerged-in: If775045c12955fa6d72d40ccf2a09beef93d1699\n"
    },
    {
      "commit": "e4b7d434912fabd85703f0a55dc49767cb0dbe9f",
      "tree": "20461f34aa0feb6597de0054c78b4c5f13dfc429",
      "parents": [
        "0eebdcc511364a9ade5290507d446f41cf256fbe"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Feb 25 20:51:43 2021 -0800"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Sat Feb 27 08:45:46 2021 +0000"
      },
      "message": "Do not add quotes around flags argument\n\n* build/soong will adds quotes around the whole flags\n  and preserve the quotes around flags argument.\n  The quotes incorrectly became part of a flag\u0027s value.\n* use -header-filter to include module directory and\n  other owned/interested header directories.\n\nBug: 180862582\nTest: make; make with WITH_TIDY\u003d1\nChange-Id: I31dd4414b387058568132c5db14f34f975cb3697\n"
    },
    {
      "commit": "4c3ade67c470543562a0029e39b576954a807321",
      "tree": "21f56e9c9dae7868ee5d68c18457fd0ea3a271fe",
      "parents": [
        "3a8d7c2de4392ff4c40858803447efe14c3c9fa8"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Feb 10 14:07:10 2021 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Feb 25 08:44:32 2021 +0000"
      },
      "message": "odrefresh: regenerate artifacts after ART APEX update\n\nReplaces compile_bcp.sh to check and compile boot class path\nextensions and system server jars.\n\nEnable ART to load those artifacts when present in the ART APEX data\ndirectory.\n\nBug: 160683548\nTest: art_libartbase_tests\nTest: adb root \u0026\u0026 adb odrefresh {--force-check,--force-compile}\nTest: adb install com.android.art \u0026\u0026 adb reboot \u0026\u0026 adb root \u0026\u0026 \\\n      adb shell odrefresh {--check,--compile} \u0026\u0026 adb reboot \u0026\u0026 \\\n      adb shell cat /proc/\u003czygote\u003e/maps | grep apexdata\nChange-Id: I81bf520d38f9dc0109c91f192bc6e728099049fd\n"
    }
  ]
}
