)]}'
{
  "log": [
    {
      "commit": "e017bb072ac577eee5413bd7e5e136f4eaf75908",
      "tree": "feabb3d266a72c7d03e6b7328b7252aa547cac97",
      "parents": [
        "d3d1a1a11626bd5198edb9242831c7b120652fbb"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Mar 17 10:55:25 2021 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Mar 18 21:42:21 2021 +0000"
      },
      "message": "Drop whole_static_libs for libasync_safe and clean up static linking of\nlibsigchain.\n\nwhole_static_libs is no longer necessary when libsigchain is a DSO, and\nthis avoids reexporting all the Bionic headers in the ART SDK.\n\nTest: build/soong/scripts/build-aml-prebuilts.sh art-module-sdk\n      unzip -v out/aml/soong/mainline-sdks/art-module-sdk-current.zip\n  Check that no Bionic headers are left.\nTest: m droid continuous_instrumentation_tests \\\n       continuous_instrumentation_tests_api_coverage \\\n       continuous_native_tests device-tests platform_tests\nBug: 142944043\nChange-Id: If0982e8bd72f74ed12c270361579e81101de3612\n"
    },
    {
      "commit": "27dc87782f68bebae95c4ab87fe21bb638008a96",
      "tree": "d8e7e5920ad38afb01b6c2bd81be6e632683f895",
      "parents": [
        "41b1892c043a301f86ca1c6b887c796fbc098669"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Fri Mar 12 21:23:42 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 15 20:44:56 2021 +0000"
      },
      "message": "Revert^2 \"[metrics] Always enable background thread\"\n\nHaving the thread enabled in some cases and not in others was causing\nissues this tests. To avoid needing to handle multiple configurations,\nthis CL enables the background reporting thread always. In general,\nmetrics reporting will be enabled, so this better reflects the default\nstate of things.\n\nThis reverts commit 3f64940d7c6ce4d3f06ea5dbe195c244ca7a8fbc.\nReason for revert: Deflaking tests\n\nThe issue was that sometimes the metrics background thread would start\nlate and get captured by the thread life cycle callbacks instead of\nthe correct thread. The fix is to request a synchronous metrics report\nbefore starting the test, which forces us to wait until the metrics\nthread is up and running.\n\nTest: ./test.py --run-test --host\nTest: art_runtime_tests \\\n    --gtest_filter\u003d\"ThreadLifecycleCallbackRuntimeCallbacksTest.*\"\nBug: 170149255\nChange-Id: I007437abd1a3404960f79cf1596c95b8da917286\n"
    },
    {
      "commit": "41b1892c043a301f86ca1c6b887c796fbc098669",
      "tree": "6b35829f78b058350df3914999f573422d078ddf",
      "parents": [
        "14a814bd94b7502dc2699a99cea0b7c07f184743"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 12 17:09:43 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Mar 15 20:03:14 2021 +0000"
      },
      "message": "Add support for sharding the ART MTS definition to `regen-test-files`.\n\nIntroduce the notion of \"MTS test shard\" in script\n`test/utils/regen-test-files`, by introducing a new `MtsTestShard`\nclass. This enables sharding of ART Mainline Module code coverage runs\nat the test-plan level (\"meta-sharding\"), as sharding at the test-run\nlevel (provided by TradeFed) has reached its limits in ATP.\n\nAdd an indirection level in the generated file\n`test/mts/tools/mts-tradefed/res/config/mts-art-tests-list-user.xml`,\nwhich is now including \"ART test list shards\" (files\n`test/mts/tools/mts-tradefed/res/config/mts-art-tests-list-user-shard-\u003cN\u003e.xml`),\ninstead of listing tests directly. Also generate \"ART test plan\nshards\"\n(files `test/mts/tools/mts-tradefed/res/config/mts-art-shard-N.xml`),\nso that each shard can be run independently, e.g. using\n`mts-tradefed`.\n\nFor now, only generate two shards, for tests that do not need device\nroot access:\n- shard 00, containing all (supported) ART run-tests, and\n- shard 01, containing Libcore CTS tests (`CtsLibcoreTestCases`).\n\nTest: m mts \u0026\u0026 mts-tradefed run commandAndExit mts-art\nTest: m mts \u0026\u0026 mts-tradefed run commandAndExit mts-art-shard-00\nTest: m mts \u0026\u0026 mts-tradefed run commandAndExit mts-art-shard-01\nBug: 182575630\nChange-Id: Icc1662403ccc074d6eaf70af8098f8e182ca0878\n"
    },
    {
      "commit": "b7bc2e403265465768353abbbdbe82bd7f9a45bc",
      "tree": "8d4c628d9e65e0567d495298e269f666f351b53b",
      "parents": [
        "0654153bc5ca22466697681bb6dc4bc8b379975e"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Mar 09 19:10:56 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Sat Mar 13 12:31:16 2021 +0000"
      },
      "message": "Support verbose logging in script `regen-test-files`.\n\nAdd support for option `-v`, `--verbose` to script\n`test/utils/regen-test-files`. When enabled, set logging level to\n`DEBUG` to log more information.\n\nAlso add some DEBUG-level logging statements for I/O operations\nperformed by the script.\n\nTest: Run `test/utils/regen-test-files -m -v` and check that there are\n      no changes among the generated files\nBug: 147814778\nBug: 152374989\nBug: 167385698\nBug: 182575630\nChange-Id: Idac129aecc56b82ab96a3a22d6d7b9ade1870dfe\n"
    },
    {
      "commit": "0654153bc5ca22466697681bb6dc4bc8b379975e",
      "tree": "5e21e5c9d4a1257a170d528e69163f974837f03e",
      "parents": [
        "947a8504f0ccce5e8adff2a2c96c33b0aa93c8fc"
      ],
      "author": {
        "name": "Jagadeesh Pakaravoor",
        "email": "jpakaravoor@google.com",
        "time": "Mon Feb 22 21:19:09 2021 -0800"
      },
      "committer": {
        "name": "Jagadeesh Pakaravoor",
        "email": "jpakaravoor@google.com",
        "time": "Fri Mar 12 19:29:57 2021 +0000"
      },
      "message": "Add madvising of .odex, .vdex and .art files\n\n1. When mmaping {.art, .odex, .vdex} files madvise them to MADV_WILLNEED\n2. Add system properties to limit the madvise size/range\n\nTest: presubmit\nBug: 178853586\nChange-Id: I14afc7cc038ebbf6bba5a393ef222050284dd86d\n"
    },
    {
      "commit": "3f64940d7c6ce4d3f06ea5dbe195c244ca7a8fbc",
      "tree": "f1327c304c823a17a52cc5e645e7ad7d28714511",
      "parents": [
        "f622d89e27fb0ad0bbf8de2ea1f9cd3ba5f36e24"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 12 16:40:34 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 12 16:41:05 2021 +0000"
      },
      "message": "Revert \"[metrics] Always enable background thread\"\n\nThis reverts commit 6660e3bd463535ea6aefebc3288ac3f17fbd99fd.\n\nBug: 170149255\n\nReason for revert: Test ThreadLifecycleCallbackJava flakey.\n\nChange-Id: Ib118654c414c27bd71d7ad3e19e1fab2d06347c7\n"
    },
    {
      "commit": "a1507a495ebb9566771fe4d6b53d2906148ab92c",
      "tree": "2a76155c22487481281548185137afd4a120608c",
      "parents": [
        "ad6c22fa4c11f9c1f9f241d02fcca5e25caef40d"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 12 10:45:41 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 12 14:17:01 2021 +0000"
      },
      "message": "Disable ART run-test `053-wait-some` on gcstress configurations.\n\nDisable this test on gcstress configurations, as it is time-sensitive\nand this mode is known to slow down the execution of programs in\ngeneral and break some of the test\u0027s assertions w.r.t. execution\ntimes.\n\nBug: 175435088\nTest: art/test/testrunner/testrunner.py -t 053-wait-some\nChange-Id: I397d948394b0803d77277acb2a72514393ccc529\n"
    },
    {
      "commit": "b6c0e7302c5ce9773aad134d685488f736dc5183",
      "tree": "42aa3be53c5f91c16af4a0fcc2d6a6b0e0108507",
      "parents": [
        "5591b714e8e0001c1707aa86d23f1fd81a79abfd"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 13 15:08:22 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 12 12:05:43 2021 +0000"
      },
      "message": "Remove some methods from DdmVmInternal.\n\nTest: m\nChange-Id: I4fa9c6f9db951333697201fa819bbaec145f03ab\n"
    },
    {
      "commit": "6660e3bd463535ea6aefebc3288ac3f17fbd99fd",
      "tree": "91b4a6ee0c1c611163a2d77b905daac51da8d94f",
      "parents": [
        "34ce1b8a86f1be2142f019ab291b7445db5c4305"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Tue Mar 09 13:51:58 2021 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 11 18:55:15 2021 +0000"
      },
      "message": "[metrics] Always enable background thread\n\nHaving the thread enabled in some cases and not in others was causing\nissues this tests. To avoid needing to handle multiple configurations,\nthis CL enables the background reporting thread always. In general,\nmetrics reporting will be enabled, so this better reflects the default\nstate of things.\n\nTest: ./test.py --run-test --host\nBug: 170149255\nChange-Id: I5100e0da1a7d264ebdd1bfe60f08171ffa5b73b1\n"
    },
    {
      "commit": "157fc969066aa41842c029350e5af780c517fcf6",
      "tree": "af86595945aa5b3be3a560c956ac78f72c0c7fd1",
      "parents": [
        "2291439187b06d995bb298683246416c75d92740"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 04 16:02:35 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Mar 09 09:43:36 2021 +0000"
      },
      "message": "Move 100% of ART run-tests to test group `presubmit` in `TEST_MAPPING`.\n\nMove remaining ART run-tests from the `postsubmit` test group to the\n`presubmit` test group. This progressive rollout is to make sure\nintroducing ART run-tests to this test group won\u0027t disturb/break\nAndroid presubmits.\n\nOutput of `art/test/utils/regen-test-files`:\n\n  $ art/test/utils/regen-test-files\n  Generated Blueprint files for 621 ART run-tests out of 920 (67%).\n  Generated TEST_MAPPING entries for 379 ART run-tests out of 920 (41%):\n    37 tests (10%) in `mainline-presubmit` test group.\n    379 tests (100%) in `presubmit` test group.\n    0 tests (0%) in `postsubmit` test group.\n\nTest: atest --test-mapping art:presubmit\nBug: 152374989\nBug: 169310621\nChange-Id: I309d3aa3ff7e36522ef445694a83c5bd95e0ef79\n"
    },
    {
      "commit": "eb7882bd913fe3224bb144b943816376753f491b",
      "tree": "19ebde489a46729b88bf6559e3c031878806e984",
      "parents": [
        "87531a628e3a4d63fe6995350e6d94773c76c805"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 04 15:56:40 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 05 15:11:56 2021 +0000"
      },
      "message": "Do not produce an entry for a Test Mapping test group if it is empty.\n\nTest: Set `presubmit_tests_percentage` in\n      `art/test/utils/regen-test-files` and check the generated\n      `TEST_MAPPING` output\nBug: 152374989\nChange-Id: I62431dbbfd65d02067d8fd24f137a5cd0a5ca0ce\n"
    },
    {
      "commit": "87531a628e3a4d63fe6995350e6d94773c76c805",
      "tree": "072cc0c18fb6abbcbe92940c6c795f031b927320",
      "parents": [
        "e8657bfb9946306d48e850d308cfb9ab2b79dbd6"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 04 15:36:55 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 05 15:11:56 2021 +0000"
      },
      "message": "Aesthetic changes in generated ART run-test Blueprint files.\n\nTest: Run `art/test/utils/regen-test-files` and check Blueprint files\nBug: 147814778\nChange-Id: I51dc20a7c7f26df163ab2de4fb33675740728a2f\n"
    },
    {
      "commit": "e8657bfb9946306d48e850d308cfb9ab2b79dbd6",
      "tree": "0e7c24f155e181438377a95306f0b8f218d7302e",
      "parents": [
        "59c21036b2e36f2ec0ac35aebe0c6e97539efef8"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 04 15:26:21 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 05 15:11:56 2021 +0000"
      },
      "message": "Adjust `regen-test-files` to match current ART run-test Blueprint files.\n\nLicense information was recently added to Blueprint files by\nlarge-scale change (LSC)\nhttps://android-review.googlesource.com/c/platform/art/+/1609793. Adjust\nscript `test/utils/regen-test-files` to generate a `TEST_MAPPING`\noutput identical to the current file.\n\nTest: Run `art/test/utils/regen-test-files` and check Blueprint files\nBug: 147814778\nChange-Id: I91d93bf4bf149d257a1348e65d82e9a7929776e5\n"
    },
    {
      "commit": "c714f40caec532522ecc5e611b15e857b3b65484",
      "tree": "598daf5db137ae9bceab4e676c72c724d180d251",
      "parents": [
        "17b4d2b14fd26088bca195b5d7c48f26b8b545d8"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Mar 04 14:24:38 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 05 12:07:49 2021 +0000"
      },
      "message": "Fix crash on error paths from GenericJNI trampoline.\n\nTest: Added a regression test to 178-app-image-native-method\nTest: testrunner.py --host --optimizing -t 178-app-image-native-method\nBug: 181736463\nChange-Id: Ib98d6d58ce1fb8287c32f88fda0f83b7e21ef42d\n"
    },
    {
      "commit": "90b26617d4229b645303f911ba00c228852c6a5d",
      "tree": "55585c8125242ec2e2d22917089509a76de54cab",
      "parents": [
        "93fc098b11a7cb5526049fb170bd833bf3fabcfd"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Mar 03 09:49:27 2021 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Mar 03 16:30:55 2021 +0000"
      },
      "message": "Generalize the defaults module for module source builds.\n\nIt is useful in other places, as a Soong counterpart to\nmy_art_module_source_build in Android.common_path.mk.\n\nTest: m nothing\nBug: 172480615\nChange-Id: I9c02006148c3958b2c3af0ce0e0ea172a8c1e4cd\n"
    },
    {
      "commit": "21dafaf33ed6d7d6df1ee00371a3503802a060f5",
      "tree": "3cfab4cf7bc4fe93a446d056fad05f169cd120be",
      "parents": [
        "eb73b51e4350c41b92711a585c5a616cb1c5ef0d"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Feb 17 20:39:45 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 02 09:20:29 2021 +0000"
      },
      "message": "Skip make targets that have missing dependencies when using ART\nprebuilts.\n\nThis is necessary because ART sources can still be in the tree when\nprebuilts are used, and e.g. for host we don\u0027t have a boot image in\nthem.\n\nTest: m checkbuild\n  with and without SOONG_CONFIG_art_module_source_build\u003dfalse, check\n  that it passes the \"Test for dangling rules\" stage\nBug: 172480615\nChange-Id: I4f24a430d1b11202eb4dceeedc96a0906679830e\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": "ab2fde326679cfc3794830c88c343d1f5d34ce75",
      "tree": "7058930722bf5f8ee6fdb8fce0f0298bc1777c17",
      "parents": [
        "c6c6a1511d58ee84c196b8c011a90ef93d65a48f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 01 11:43:45 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 01 17:11:50 2021 +0000"
      },
      "message": "Don\u0027t abort if the oat file doesn\u0027t have dex2oat command line key.\n\nWhen running with vdex only, it\u0027s expected to not have one.\n\nTest: test.py --no-image\nBug: 176960283\nChange-Id: I37756b0df80c028760afee61da6290ab183316d0\n"
    },
    {
      "commit": "c6c6a1511d58ee84c196b8c011a90ef93d65a48f",
      "tree": "4c1dfb9bc6fa1f73b1c36a96ae78cb6b8e120886",
      "parents": [
        "41af856c120f71bd6a2594c6b2ac59affcc7b7ae"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 01 13:51:22 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 01 17:11:40 2021 +0000"
      },
      "message": "Adjust test runner for vdex.\n\nWhen arguments are being explicity passed for vdex testing, invoke\ndex2oat. Otherwise just remove the oat file.\n\nTest: 629-vdex-speed\nBug: 176960283\nChange-Id: If522883bd453982afb33c57a209c8ce953b91519\n"
    },
    {
      "commit": "41af856c120f71bd6a2594c6b2ac59affcc7b7ae",
      "tree": "e6e158dd73e61ff1a2b4e8edc1446fe2e2bf8b4b",
      "parents": [
        "1dc36562625ef63900c5ec50593fe65cba923bce"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 24 18:50:04 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Mar 01 16:23:42 2021 +0000"
      },
      "message": "Add `CtsLibcoreTestCases` to the generated ART MTS definition.\n\nTest: m mts \u0026\u0026 mts-tradefed run commandAndExit mts-art\nBug: 167385698\nChange-Id: I80b75effead5e692f270f672e2912db30cf5c8c5\n"
    },
    {
      "commit": "1dc36562625ef63900c5ec50593fe65cba923bce",
      "tree": "39337b811ab52fc0205ea1b92abc1fc8b463ed67",
      "parents": [
        "12060303e3d820428c7b34008bcd5a3606f435aa"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Feb 26 16:29:44 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Mar 01 12:24:12 2021 +0000"
      },
      "message": "Move 75% of ART run-tests to test group `presubmit` in `TEST_MAPPING`.\n\nMove some more ART run-tests from the `postsubmit` test group to the\n`presubmit` test group. This progressive rollout is to make sure\nintroducing ART run-tests to this test group won\u0027t disturb/break\nAndroid presubmits.\n\nOutput of `art/test/utils/regen-test-files`:\n\n  $ art/test/utils/regen-test-files\n  Generated Blueprint files for 621 ART run-tests out of 919 (67%).\n  Generated TEST_MAPPING entries for 379 ART run-tests out of 919 (41%):\n    18 tests (5%) in `mainline-presubmit` test group.\n    284 tests (75%) in `presubmit` test group.\n    95 tests (25%) in `postsubmit` test group.\n\nTest: atest --test-mapping art:presubmit\nTest: atest --test-mapping art:postsubmit\nBug: 152374989\nBug: 169310621\nChange-Id: I72874fe39c52c1c0945b4cc2c48820fc432e4054\n"
    },
    {
      "commit": "12060303e3d820428c7b34008bcd5a3606f435aa",
      "tree": "c8e1d69f6bbba6a4ea9331bed04857d2e71c8ad9",
      "parents": [
        "bcd4bc90530994abb38af57c304f989ac8aaf80e"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Feb 26 16:08:20 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Mar 01 11:30:24 2021 +0000"
      },
      "message": "Put 10% of ART run-tests in `TEST_MAPPING` group `mainline-presubmit`.\n\nInclude more ART run-tests into the `mainline-presubmit` test\ngroup. This progressive rollout is to make sure introducing ART\nrun-tests to this test group won\u0027t disturb/break Android\npresubmits.\n\nOutput of `art/test/utils/regen-test-files`:\n\n  $ art/test/utils/regen-test-files\n  Generated Blueprint files for 621 ART run-tests out of 919 (67%).\n  Generated TEST_MAPPING entries for 379 ART run-tests out of 919 (41%):\n    37 tests (10%) in `mainline-presubmit` test group.\n    189 tests (50%) in `presubmit` test group.\n    190 tests (50%) in `postsubmit` test group.\n\nTest: atest --test-mapping art:mainline-presubmit\nBug: 178703264\nBug: 152374989\nChange-Id: I9dff31c5044583856d1586a437fdf35dd437a8df\n"
    },
    {
      "commit": "bcd4bc90530994abb38af57c304f989ac8aaf80e",
      "tree": "74a1c1fa09178db1b409a34573f0499d786a334b",
      "parents": [
        "55a45f3edfe4b17424de3c6c29c55fff1a2c10fc"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Feb 26 14:39:48 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Mar 01 09:59:25 2021 +0000"
      },
      "message": "Add rpl@google.com and dsrbecky@google.com as owners of ART tests.\n\nThis is in order to allow David and I (Roland) to receive OWNERS-based\nnotifications (e.g. flake tests reports).\n\nImplicitly inherit owners from the parent directory, but also\nexplicitly give everybody owners\u0027 capabilities (as in the parent\u0027s\nOWNERS) for flexibility.\n\nTest: build/make/tools/checkowners.py -c art/test/OWNERS\nChange-Id: I4bce50ac5e6db28270cdbd2bc03a295d60445ad9\n"
    },
    {
      "commit": "de1449e2ed9003897c743145261240c8e38f04d2",
      "tree": "8349ae2ac22f487a115dbc308acfeb70471643a6",
      "parents": [
        "e4b7d434912fabd85703f0a55dc49767cb0dbe9f"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 24 10:35:44 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Sat Feb 27 09:36:41 2021 +0000"
      },
      "message": "Add `MainlineTestModuleController` support for AOSP to ART tests.\n\nSince the introduction of `MainlineTestModuleController` support in\nART run-tests and gtests, when these tests were run in a Mainline\ncontext (e.g. with `mts-tradefed`), they were only enabled when the\ninternal version of the ART Mainline Module (`com.google.android.art`)\nwas present on the device used for testing. However, AOSP platform and\nmodule builds contain the external version of the ART Mainline\nModule (`com.android.art`). Allow ART tests to run in Mainline testing\nwhen either of these modules is installed.\n\nTest: m mts \u0026\u0026 mts-tradefed run commandAndExit mts-art (with AOSP build)\nBug: 167385698\nChange-Id: I543aa6b51c4812bbaba3352c9c241e5ee898b783\n"
    },
    {
      "commit": "16f60dc094fe283d1fcfd062b3144452e005c133",
      "tree": "7623386d460cd3c9a125aaaf60b1e81196ab48f1",
      "parents": [
        "9a1a5a9ae8611c0eb7dd5bfaffc8682eea3ee7c7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 16 15:35:16 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 26 13:18:41 2021 +0000"
      },
      "message": "Support loading vdex files without odex.\n\nGetDexoptNeeded with \u0027verify\u0027 as filter will return false when a vdex is\navailable.\n\nTest: 628-vdex, 820-vdex-multidex, test.py\nBug: 176960283\nChange-Id: I3ac2f747d1e7f5331a49a22c94983959e3b60122\n"
    },
    {
      "commit": "9a1a5a9ae8611c0eb7dd5bfaffc8682eea3ee7c7",
      "tree": "99cf9c688d3631db55a00b1fcf6eaf0cdc40c946",
      "parents": [
        "001bb57849d1cd31612fb8958d85a2342c31b534"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Nov 16 12:11:37 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Feb 26 12:59:43 2021 +0000"
      },
      "message": "Regenerate ART test files to reinclude ART Checker tests.\n\nThis partly reverts commit 463255b4f1fcc8c34856a6b0780cf5ef238941c2.\n\nReason for revert: Checker support in test suites is complete.\n\nOutput of `art/test/utils/regen-test-files`:\n\n  $ art/test/utils/regen-test-files\n  Generated Blueprint files for 621 ART run-tests out of 919 (67%).\n  Generated TEST_MAPPING entries for 379 ART run-tests out of 919 (41%):\n    18 tests (5%) in `mainline-presubmit` test group.\n    189 tests (50%) in `presubmit` test group.\n    190 tests (50%) in `postsubmit` test group.\n\nTest: atest --test-mapping art:all\nTest: m mts \u0026\u0026 mts-tradefed run commandAndExit mts-art\nBug: 169852871\nBug: 162408889\nChange-Id: Ic081869d6629776c0d70e8ceb3c2e9f0d3bf0caa\n"
    },
    {
      "commit": "135e948025ac2fbc262ad6da34052a8b981c9aee",
      "tree": "8936a6661e22acda2f9ed1ed442fc0097c1e84e6",
      "parents": [
        "df69bd7575cf2537f5563141fd7cb945712686ca"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Feb 23 19:27:37 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 24 14:11:49 2021 +0000"
      },
      "message": "Partially generate the ART MTS definition in script `regen-test-files`.\n\nAdd support for option `-m`, `--regen-art-mts` to script\n`test/utils/regen-test-files`. When enabled, regenerate file\n`tools/mts-tradefed/res/config/mts-art-tests-list-user.xml` under the\nAndroid project `test/mts`.\n\nTest: Run `test/utils/regen-test-files -m` and check the resulting\n      `test/mts/tools/mts-tradefed/res/config/mts-art-tests-list-user.xml`\n      file is unchanged, apart from some whitespace changes.\nTest: m mts \u0026\u0026 mts-tradefed run commandAndExit mts-art\nBug: 167385698\nChange-Id: I3ba428eff5954e72967c08b29561227681072261\n"
    },
    {
      "commit": "df69bd7575cf2537f5563141fd7cb945712686ca",
      "tree": "6584dbdb18a508890f769a9a77f8d328cade66c6",
      "parents": [
        "aa704f17d0d0a026b496853811fefda5d0783028"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Tue Feb 23 11:36:21 2021 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 24 00:40:14 2021 +0000"
      },
      "message": "Remove Flags\n\nThese were reading system properties which caused security warnings in\nsome cases. Removing to allow us to do a more comprehensive design.\n\nThis reverts commit 0a6e9e56f7f3ac7750b38eaba83639ad47a2692f.\nThis reverts commit 3dba023d4fb47882fa215715c196cfa3be30c098.\n\nTest: test.py --host\nChange-Id: I04e8b7a934540b250e6fc56f5aa6ce7f18131d4d\n"
    },
    {
      "commit": "0d768f126f6d9bae75614ea1d62776d166403cee",
      "tree": "dc0a79dab2c05d6ff429f7fa1de0beb163f02ad0",
      "parents": [
        "1214319d27e7fb4c4ff00b39799df6f15288098a"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Feb 18 18:53:46 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Feb 23 16:28:39 2021 +0000"
      },
      "message": "Put 5% of ART run-tests in `TEST_MAPPING` group `mainline-presubmit`.\n\nInclude more ART run-tests into the `mainline-presubmit` test\ngroup. This progressive rollout is to make sure introducing ART\nrun-tests to this test group won\u0027t disturb/break Android\npresubmits.\n\nOutput of `art/test/utils/regen-test-files`:\n\n  $ art/test/utils/regen-test-files\n  Generated Blueprint files for 621 ART run-tests out of 918 (67%).\n  Generated TEST_MAPPING entries for 256 ART run-tests out of 918 (27%):\n    12 tests (5%) in `mainline-presubmit` test group.\n    128 tests (50%) in `presubmit` test group.\n    128 tests (50%) in `postsubmit` test group.\n\nAlso make some stylistic changes (e.g. use list comprehensions instead\nof `map()` and `lambda`; use parentheses for implied line continuation\ninstead of escaping line breaks with backslashes).\n\nTest: atest --test-mapping art:mainline-presubmit\nBug: 178703264\nBug: 152374989\nChange-Id: I25950b02fbd3a1cbd4193a5f7b87f8b3867bd16b\n"
    },
    {
      "commit": "cedec9db0a9accfdcf5eb695879e0b2caf2c34cb",
      "tree": "99fd71a3ef398a471507ed815c4a175805ad51f3",
      "parents": [
        "0ccc970b3c00b172e3cff8e10da13dd6323ccd52"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 08 16:16:13 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Feb 23 14:34:43 2021 +0000"
      },
      "message": "Do not create HandleScope for JNI transitions.\n\nWe previously crated a HandleScope in the JNI transition\nframe to hold references passed as jobject (jclass, etc.)\nto the native function and these references were actually\nspilled twice during the transition.\n\nWe now construct the jobject as a pointer to the reference\nspilled in the reserved out vreg area in the caller\u0027s frame.\nAnd the jclass for static methods is just a pointer to the\nmethod\u0027s declaring class. This reduces the amount of work\nrequired in the JNI transition, both on entry (in compiled\nstubs) and exit (in JniMethodEnd*).\n\nSome additional work is required when GC visits references\nof a native method as we need to walk over the method\u0027s\nshorty which was unnecessary for a HandleScope.\n\nAlso fix Thread::InitStackHwm() to calculate correct stack\nsize needed by the new Thread::IsJniTransitionReference().\n\nThe results for StringToBytesBenchmark on blueline little\ncores running at fixed frequency 1420800 are approximately\narm64 (medians from 3 runs) before after\ntimeGetBytesAscii EMPTY     447.33 436.86\ntimeGetBytesIso88591 EMPTY  440.52 431.13\ntimeGetBytesUtf8 EMPTY      432.31 409.82\narm (medians from 3 runs)   before after\ntimeGetBytesAscii EMPTY     500.53 490.87\ntimeGetBytesIso88591 EMPTY  496.45 495.30\ntimeGetBytesUtf8 EMPTY      488.84 472.68\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nTest: testrunner.py --host --gcstress\nTest: testrunner.py --host --jit-on-first-use\nTest: testrunner.py --host --jit-on-first-use --gcstress\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing\nTest: boots.\nBug: 172332525\nChange-Id: I658f9d87071587b3e89f31c65feca976a11e9cc2\n"
    },
    {
      "commit": "fedff519e0bab2702cbf1ea271cbcb89eeeb52a3",
      "tree": "1219011411161f4f97b935e505f6e166df888d6c",
      "parents": [
        "48516425230845987f5fe3d17e5d0acfc6f82131"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Feb 07 21:36:33 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 22 15:29:12 2021 +0000"
      },
      "message": "Change runtime behavior related to hiddenapi.\n\nWhen resolving a method, if the found method is not accessible, check if\nthere are methods defined in interfaces which are.\n\nBug: 178680596\nBug: 122551864\nTest: 817-hiddenapi\nChange-Id: If7631b30b2eb8eb70d3d0fa1522744fbbd1f66a1\n"
    },
    {
      "commit": "a2f1319a8941ae52c98594824b919c08eeb0ecd1",
      "tree": "df07248cd6701bf764c01ed1322b355c16e159bf",
      "parents": [
        "642c0f0e79ce35f11e0af5625618cb126ad40ffa"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Feb 03 18:19:03 2021 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 19 20:32:08 2021 +0000"
      },
      "message": "Add text-profile support for multiple ICs\n\nText profile inline-cache support was limited to methods with only a\nsingle invoke. This extends support so it is instead based on the\nreceiver type and supports an arbitrary number of invokes. It does\nassume that all invokes of the same receivers should have the same\nICs. This enables us to create text profiles that can survive most\ncommon edits to the underlying java language files.\n\nIC lines are of the following format\n\n\u003c\u003cCLASS_GROUP\u003e\u003e :\u003d {CLASS}(,{CLASS})*\n\u003c\u003cIC_GROUP\u003e\u003e :\u003d \\[{CLASS}{CLASS_GROUP}\n\u003c\u003cIC_LINE\u003e\u003e :\u003d {PROFILE_FLAGS}{CLASS}-\u003e{METHOD}\\+{IC_GROUP}*\n\nThis means a typical line might look like:\n\n```\nHLTestInline;-\u003einlineTriplePolymorphic(LSuper;LSecret;LSecret;)I+[LSuper;LSubA;,LSubB;,LSubC;[LSecret;LSubB;,LSubC;\n```\n\nNote that old style single-invoke IC lines are still supported as\nwell and their format has not changed.\n\nUpdated --dump-classes-and-methods to dump ICs using this format. Note\nthat it will combine ICs for different pcs with the same target so it\nis possible to construct a profile where the \u0027profile -\u003e dump -\u003e\nprofile\u0027 operation is not idempotent. Any profile coming from a\ntext-dump will be idempotent under this transform.\n\nTest: ./test.py --host\nBug: 168941430\nChange-Id: I69ba3b312caa7ca454487aaeb49862e393de3a4a\n"
    },
    {
      "commit": "5de5efef38f52f248d1e1c88fdcf3d211aabe712",
      "tree": "fb991b4dbee4d9afecad141bc75dab14893633a1",
      "parents": [
        "18af6447e5963265f6e7e61d6630064f66891f94"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Feb 15 21:23:00 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Feb 18 16:51:21 2021 +0000"
      },
      "message": "Remove pointer-size arguments from DexCache.\n\nThe DexCache is always allocated at runtime now and thus\nit always has runtime pointer-size. Remove the dead code.\n\nTest: m test-art-host-gtest\nChange-Id: Ic21dc20649e1fd70f8981602d75b5690065aec20\n"
    },
    {
      "commit": "18af6447e5963265f6e7e61d6630064f66891f94",
      "tree": "7ddd4b9fac275a9a2c6d29caa737cc22718dcb93",
      "parents": [
        "9f9c0072e25656b0dde1662a8681aca8a93ffc29"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 17 14:49:07 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Feb 18 12:35:36 2021 +0000"
      },
      "message": "Move 50% of ART run-tests to test group `presubmit` in `TEST_MAPPING`.\n\nMove some more ART run-tests from the `postsubmit` test group to the\n`presubmit` test group. This progressive rollout is to make sure\nintroducing ART run-tests to this test group won\u0027t disturb/break\nAndroid presubmits.\n\nOutput of `art/test/utils/regen-test-files`:\n\n  $ art/test/utils/regen-test-files\n  Generated Blueprint files for 621 ART run-tests ouf of 918 (67%).\n  Generated TEST_MAPPING entries for 256 ART run-tests ouf of 918 (27%):\n    128 tests (50%) in `presubmit` test group;\n    128 tests (50%) in `postsubmit` test group.\n\nTest: atest --test-mapping art:presubmit\nTest: atest --test-mapping art:postsubmit\nBug: 152374989\nBug: 169310621\nChange-Id: I3660f22987373b16e9306967876fe2ed229cdaab\n"
    },
    {
      "commit": "9f9c0072e25656b0dde1662a8681aca8a93ffc29",
      "tree": "3c1d51f76c05914960e352cc763737c74b96f205",
      "parents": [
        "eb348cdca67f777185b91ba60d7ae6ecbbc51464"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 17 12:26:21 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Feb 18 12:15:12 2021 +0000"
      },
      "message": "Use Python\u0027s `json` to generate `TEST_MAPPING` in `regen-test-files`.\n\nThis greatly simplifies the implementation of\n`Generator.regen_test_mapping_file`, but removes the ability to insert\ncomments in the middle of the JSON output.\n\nTest: Run `test/utils/regen-test-files` and check the resulting\n      `TEST_MAPPING` and `Android.bp` files are the same, except\n      for comments in the middle of `TEST_MAPPING`.\nBug: 152374989\nChange-Id: Ifd5e60134ed8ddf00b305f819f6954d5570273cb\n"
    },
    {
      "commit": "eb348cdca67f777185b91ba60d7ae6ecbbc51464",
      "tree": "4a5d5cf4b94e73502df1a0792ed5f2580a07a357",
      "parents": [
        "f92065dee0fa55d4f114f361dbc9d4c5cc4cc1a2"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Feb 12 19:27:19 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Feb 18 12:15:12 2021 +0000"
      },
      "message": "Revamp script `test/utils/regen-test-files`.\n\nIntroduce reusable elements and use more Python idioms.\n\nTest: Run `test/utils/regen-test-files` and check the resulting\n      `TEST_MAPPING` and `Android.bp` files are unchanged.\nBug: 147814778\nBug: 152374989\nChange-Id: I6bb0016c8eef3c042ca4538b5281d9e1f52e5a3f\n"
    },
    {
      "commit": "88566950be6d9d7d72645ba0c90c71bd7d7d7c5c",
      "tree": "9eb687ba6e3aa23623b5a0467d006e046ceab2d5",
      "parents": [
        "dbad1ef673140c66cdbcbbf40424674ae8e2b4c8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 16 15:51:18 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 18 09:55:47 2021 +0000"
      },
      "message": "Use the checksum in the dex header for anynomous vdex files.\n\nWe were breaking (non-fatal) assumptions that location\nchecksums are unique per dex file.\n\nTest: test.py\nTest: 692-vdex-inmem-loader\nChange-Id: I3c2cf186bb244a7e89b9dd0ec9e68cadc4696d6e\n"
    },
    {
      "commit": "3dba023d4fb47882fa215715c196cfa3be30c098",
      "tree": "da22f82b7cde87f37100f715a0e05f332b377f73",
      "parents": [
        "381d35c1b01401e193544f679bfaf4f5c197f7cd"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Sat Jan 30 02:03:29 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 17 15:05:02 2021 +0000"
      },
      "message": "Add a server-configurable flags API\n\nAdds a new set of flags that can be set by the command line, server\nconfiguration, or system properties. These flags can be used to enable\nor disable certain features or otherwise change their behavior. The\nflexible configuration options facilitate both development and also\nexperimentation.\n\nAs an example of their use, this CL also moves the\n-Xwrite-metrics-to-log command line option to the flags system\ninstead. Future work will migrate the rest of the metrics settings.\n\nTest: ./test/run-test --host --jit 2232-write-metrics-to-log\nBug: 175050458\nChange-Id: I1ef37e7d355204a3172b7aa5c0baa4cbd8c7076b\n"
    },
    {
      "commit": "381d35c1b01401e193544f679bfaf4f5c197f7cd",
      "tree": "5673582c62d2fbf4390f06cb151c5ee8d62704b3",
      "parents": [
        "f5f7e12172194ec2c6a7f70eeea936c5edf7c355"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Wed Feb 10 21:27:00 2021 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Feb 17 14:18:04 2021 +0000"
      },
      "message": "ARM: Adjust timeout for ARM FVP runs.\n\nIncreases timeouts for ARM FVP runs as on FVP it\nmay take significally longer to finish the test (due\nto emulation). Also rename the environment variable.\n\nTest: art tests on FVP (steps in test/README.arm_fvp.md)\nChange-Id: I0890dd85697bf901538694d28db3ffdd1bd4e0c4\n"
    },
    {
      "commit": "6df4511a2cf9ffae0294c1e5136c27ff84cfd1cb",
      "tree": "a29efde60f8ffb947679113d524ae9f6169e0338",
      "parents": [
        "354fbd7e8d38d7888c6c2610cc14cfa55f468fbb"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Feb 07 21:51:58 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 16 09:27:59 2021 +0000"
      },
      "message": "Use vdex assignability types at runtime.\n\nWhen the oat file mentions the class needs to be verified at runtime,\ncheck whether the vdex has assignability types. If it has, and the\nchecks are successful, then the class is verified. Otherwise do a full\nverification to report the actual verification error.\n\nTest: test.py\nBug: 176960283\nChange-Id: I2ba14b72c1d8be3d33f7a699721496a8c15c39f2\n"
    },
    {
      "commit": "354fbd7e8d38d7888c6c2610cc14cfa55f468fbb",
      "tree": "6dae26b594b429d20c41cada51a8e67c6ab162ed",
      "parents": [
        "243895cffb4bc31bcec3c39bcfdd9bc041896a19"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Feb 15 16:47:54 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Feb 15 19:26:41 2021 +0000"
      },
      "message": "Disable ART run-test `053-wait-some` with debug-gc and interp-ac.\n\nDisable this test on debug-gc and interpreter-access-checks\nconfigurations, as it is time-sensitive and these modes are known to\nslow down the execution of programs in general and break some of the\ntest\u0027s assertions w.r.t. execution times.\n\nBug: 175435088\nTest: art/test/testrunner/testrunner.py -t 053-wait-some\nChange-Id: I730fe1d484a7abc41306dd75a68f9473029a3110\n"
    },
    {
      "commit": "f94fb41f298ebb2d9b3726be0b8feb8ce4d5faa4",
      "tree": "4793000ea956858b1ee433a89ac2ab580ba38e35",
      "parents": [
        "284e8b053d71c6ce66d6cd09b59f88dff5bd15ed"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Feb 05 13:21:41 2021 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Thu Feb 11 18:34:00 2021 +0000"
      },
      "message": "Arm FVP README: Adjust info on FVP build.\n\nApplying fvpbase patch to increase the data\npartition size is no longer needed.\n\nTest: N/A.\nChange-Id: Ie162ae9782b47f60f9ad207845f20d6d36092239\n"
    },
    {
      "commit": "284e8b053d71c6ce66d6cd09b59f88dff5bd15ed",
      "tree": "6ea11da0c3bbd86ffa4d72fe1750b6e26d8cc93f",
      "parents": [
        "2558abeb7acd49b7de357ca43b0c34354c20a3a0"
      ],
      "author": {
        "name": "Kimberly Kreider",
        "email": "kkreider@google.com",
        "time": "Tue Dec 15 09:40:30 2020 -0800"
      },
      "committer": {
        "name": "Kimberly Kreider",
        "email": "kkreider@google.com",
        "time": "Thu Feb 11 18:13:45 2021 +0000"
      },
      "message": "Enable art MTS tests to generate android-mts-art as well as be included in android-mts.\n\nTest: build locally and verified contents.\nChange-Id: Iaffaa77fab13974242d576bb8133dcc4fb3f9454\nMerged-In: Iaffaa77fab13974242d576bb8133dcc4fb3f9454\nExempt-From-Owner-Approval: approved in internal branch.\n"
    },
    {
      "commit": "2558abeb7acd49b7de357ca43b0c34354c20a3a0",
      "tree": "dad63d4e0153765d2edd155ac2c78473a40b4a77",
      "parents": [
        "60e29745625405654fb968ba2572ebddd8a0211d"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Wed Oct 14 18:01:37 2020 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Thu Feb 11 15:44:16 2021 +0000"
      },
      "message": "ARM64: Adjust SIMD checker tests for SVE.\n\nAdds SVE-specific checker line for SIMD tests\nusing isaHasFeature() function.\n\nTest: test-art-target with Neon.\nTest: art tests on FVP (steps in test/README.arm_fvp.md)\n      with FVP arg:\n      -C SVE.ScalableVectorExtension.veclen\u003d[2,4]\n      (SVE vector [128,256] bits wide)\n\nChange-Id: I8f2134861b47437823797da48a3ffb680bafc544\n"
    },
    {
      "commit": "61c48728da03ee8fa5e11728d484d615ff2a34f6",
      "tree": "3fd38ee9c62ebd59161b7cf14f6ba8b934d7ae02",
      "parents": [
        "2807839d996167f35e4000ff2f80952dd62c5e8b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 10 11:09:25 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 10 15:11:28 2021 +0000"
      },
      "message": "Re-enable ART run-test `053-wait-some` in `testrunner.py` invocations.\n\nThe test\u0027s flakiness has been addressed (and it is already\nenabled in TradeFed invocations).\n\nTest: art/test/testrunner/testrunner.py -t 053-wait-some\nBug: 175435088\nChange-Id: I866ba2cb3fea8e0927092070c4bc3a09e0aa5eac\n"
    },
    {
      "commit": "745da80dbf169d83e2acb847b0c9c07985d51bdf",
      "tree": "a01990e419ee49fe255a6df108027a89b568975a",
      "parents": [
        "16f7f8e384f0ae13c53525ff12affbc00605b0ec"
      ],
      "author": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Wed Jan 20 21:52:54 2021 +0000"
      },
      "committer": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Wed Feb 10 12:33:48 2021 +0000"
      },
      "message": "Add Math.multiplyHigh intrinsic\n\nTest: ./art/test/testrunner/testrunner.py --target  --optimizing --64 -t 082-inline-execute\nTest: ./art/test/testrunner/testrunner.py --host --optimizing --64 -t 082-inline-execute\nChange-Id: I4b6cafa8b9e513eca7c5c139440024d87a7ef758\n"
    },
    {
      "commit": "5c48df9895530fb26666c6d79d155ef3886d7a83",
      "tree": "8d9ca6d6eb89d7ec38642a42636fd8bda91522fa",
      "parents": [
        "9ebc0660f4c736b01994d34d3ad2a1171f41f048"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 09 11:47:10 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 09 16:18:38 2021 +0000"
      },
      "message": "[verifier]: flag instruction that will throw at runtime\n\nWe\u0027ve accidentally changed the verifier behavior in:\nhttps://android-review.googlesource.com/c/platform/art/+/1561956\n\nWe need to preserve the behavior of marking an instruction that will\nthrow at runtime, so that the code following it is not looked at. This\nmeans that if there are verification failures in that \"dead code\", they\nwon\u0027t make the class not verified.\n\nTest: 819-verification-runtime\nBug: 179227478\nBug: 179245053\nChange-Id: I4526a98b9479f47102fb00bd65bb943fe6aa9c8e\n"
    },
    {
      "commit": "1b3fb625b682bf2ee22563cb42e37411b64b050d",
      "tree": "d5d88a9420c1e9160e7d7bf2cdce8b0bc9a18d5c",
      "parents": [
        "5bcecf0a13c97d578321d1c7e067e28ad5e1322e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 08 10:54:38 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Feb 09 14:16:36 2021 +0000"
      },
      "message": "Do not dump details of OOME for thread peer.\n\nTest: testrunner.py --target --optimizing -t 004-ThreadStress\nBug: 154100060\nChange-Id: I69582d7d1e4f5ced71ac32210ad7a0e4402da510\n"
    },
    {
      "commit": "5bcecf0a13c97d578321d1c7e067e28ad5e1322e",
      "tree": "7b46afaaa21afa354f05762c55a33caf680230ce",
      "parents": [
        "6dc86d14129b19c41cb7a2e90d96be3a4abc65a1"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Feb 05 11:37:34 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Feb 09 10:14:21 2021 +0000"
      },
      "message": "Convert `test/utils/regen-test-files` from Bash to Python.\n\nThis conversion is pretty much a literal one on purpose, to help spot\ndifferences between the old and the new implementations. Improvements\n(especially better use of Python idioms) will be made in subsequent\ncommits.\n\nThe new Python implementation is 25 times faster than the old Bash\nimplementation (execution time went down from 5 seconds to 0.2\nseconds).\n\nTest: Run `test/utils/regen-test-files` and check the resulting\n      `TEST_MAPPING` and `Android.bp` files are unchanged.\nBug: 147814778\n\nChange-Id: Ic3e8138e83b281f2cc4c688a2c8a237d1a155a08\n"
    },
    {
      "commit": "f80445b3d2e9948003c883c92c218ff37e202445",
      "tree": "7aa901902b7355817cc56b2f580929908920297e",
      "parents": [
        "a554752707d275dcce6c53ad9c1666e8c22b6158"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Feb 05 11:33:11 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Feb 05 12:08:33 2021 +0000"
      },
      "message": "Sort tests in `test/utils/regen-test-files` in a deterministic order.\n\nTest: Run `test/utils/regen-test-files` and check the resulting\n      `TEST_MAPPING` file.\nBug: 147814778\nChange-Id: I492ee56c70a72273862ce1cd9a8cf9fec1fee7bd\n"
    },
    {
      "commit": "a554752707d275dcce6c53ad9c1666e8c22b6158",
      "tree": "fbc9d97464e8081b7e952ff6ad9e4b79d2268896",
      "parents": [
        "55ab7e84c4682c492b6fa18375b87ffc5d0b23bb"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Feb 04 19:43:02 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Feb 05 12:08:33 2021 +0000"
      },
      "message": "Regenerate ART test files.\n\nTest: atest art-run-test-818-clinit-nterp\nBug: 147814778\nChange-Id: Ib9199f75723776f8ef0d54e2843e29eeec637592\n"
    },
    {
      "commit": "ac27ac01490f53f9e2413dc9b66fbb2880904c96",
      "tree": "271018e1ef33667bee8d57c40ffa3f4d9f8cf930",
      "parents": [
        "26bf47a60064fcc42e1b5e7b4b41deb8312d7330"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 01 09:31:02 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 05 10:48:17 2021 +0000"
      },
      "message": "Implement Reference.refersTo() intrinsic.\n\nTest: Added tests to 122-npe and 160-read-barrier-stress\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing\nBug: 172573708\nChange-Id: I8342510565289058df218d3249ffac1eb993ca4f\n"
    },
    {
      "commit": "bfd622abc23c77ffc8799f376df7241f15d6550a",
      "tree": "f783c1bc6a577df480929c84476711a3bc41ff9f",
      "parents": [
        "befdad488b42600826b4a3bd7c92f19a0104d7fa"
      ],
      "author": {
        "name": "Chris Wailes",
        "email": "chriswailes@google.com",
        "time": "Wed Jan 13 16:13:41 2021 -0800"
      },
      "committer": {
        "name": "Christian Wailes",
        "email": "chriswailes@google.com",
        "time": "Thu Feb 04 17:03:10 2021 +0000"
      },
      "message": "Initial commit of the test code for ART Service\n\nThis CL adds the scaffolding for testing the ART Tools and ART Service\nlibraries.\n\nThe command `atest ArtServiceTest` will fail with Tradefed errors, but\nthese same errors are generated by existing tests such as `atest\nandroid-icu4j-tests`.\n\nTest: m test-art-host-gtest \u0026\u0026 atest ArtServiceTest\nBug: 177273468\nMerged-In: I053f2446144a1fc020b040b952a370ab7779dd47\nChange-Id: I053f2446144a1fc020b040b952a370ab7779dd47\n"
    },
    {
      "commit": "649beaaead32f7dc98def517414cc50050a09f35",
      "tree": "383b9901c7bef73c4bd3e6d9b71285cf79ab1a4e",
      "parents": [
        "f51d182c3d797bd14bcc66a3c0bf1fc6f9adf8ee"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 03 12:34:17 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 03 20:43:04 2021 +0000"
      },
      "message": "Fix ThreadStress check script to filter stderr.\n\nTest: testrunner.py --host --optimizing -t 004-ThreadStress\nTest: testrunner.py --target --optimizing -t 004-ThreadStress\nBug: 154100060\nBug: 171865375\nChange-Id: If32cda4ee11696b3422112e842f84c938cb5664a\n"
    },
    {
      "commit": "b1cf83748ce8165fe7e41ce6a57eb5529946a971",
      "tree": "56fe4acb1a5310cf015467a79427f4de67a53b68",
      "parents": [
        "0f0caf869a9026e723caf79d8f50d8da25bc4185"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 02 13:32:20 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 02 18:08:12 2021 +0000"
      },
      "message": "Fix image bug around clinit and nterp.\n\nnterp trampoline doesn\u0027t do clinit checks, so we should install the\nresolution stub if a method needs a clinit check before being entered.\n\nTest: 818-clinit-nterp\nBug: 178992601\nChange-Id: I9d6b023a6c6620adfcd2a6ed5cd1e042a7cb449b\n"
    },
    {
      "commit": "32a630e1ae8b934a20ad01b64a81b39577d6ca92",
      "tree": "efd69d46dee451ff12403efdcf2e2f0a7191dc22",
      "parents": [
        "9ce38b510e9e2e00d9a908c3c44dfe0762627cf7"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Mon Jan 25 13:10:09 2021 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Tue Feb 02 12:55:52 2021 +0000"
      },
      "message": "ARM64: Add a README on how to run tests via FVP.\n\nAdds a README file, which describes the steps to build\nand run an Android system image targeting the ARM Fixed\nVirtual Platform and to use it as a target platform for\nrunning ART tests via ADB.\n\nTest: N/A.\nChange-Id: Iaee2ceb6e01ed9d35fbb13755729fc09c99cf21a\n"
    },
    {
      "commit": "9ce38b510e9e2e00d9a908c3c44dfe0762627cf7",
      "tree": "a5ffaa2e0326dd574b655e320c9bb56dd01c5ebd",
      "parents": [
        "de275aaeb7bf32eeed7a091c70015517ead6e514"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jan 28 15:22:23 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Feb 02 11:49:45 2021 +0000"
      },
      "message": "Experiment with ART Mainline Module Testing in Test Mapping.\n\nRegister ART run-test `001-HelloWorld ` as a Mainline presubmit test\nin Test Mapping.\n\nTest: Rely on TreeHugger\nBug: 178703264\nChange-Id: I04a103cf1c442f87f2ecfb0c8a1223b66cfa0f7e\n"
    },
    {
      "commit": "d1728bfca62a0757000ef3aa0388b5e51269a2a2",
      "tree": "04d75ba364e3ce0c39735a38083383408f9f7cf4",
      "parents": [
        "36e4d1d398a1526c6bc5eba12b32279dc07749d8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 12 14:02:29 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 01 14:48:53 2021 +0000"
      },
      "message": "Add a kTypeChecksFailure.\n\nThis is to distinguish between a soft failure due to type checks, or a\nsoft failure due to other reasons.\n\nA follow-up CL will start using that information and use the type checks\nin the vdex file to perform fast verification at runtime.\n\nTest: test.py\nBug: 176960283\n\nChange-Id: I04bff9ff26033f41e9439d366667a9aec1f339a0\n"
    },
    {
      "commit": "35a37200c6819015a5a66ec0bfdfb9d6ab3f2e0e",
      "tree": "0c0a2eb79b258bc9d024ab6d682320f9ee6d1d77",
      "parents": [
        "3a1ca400758302f44a95ae8255ca7c012d651d73"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 29 17:53:32 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 01 09:57:26 2021 +0000"
      },
      "message": "Reland \"Remove obsolete code in the verifier.\"\n\nThis reverts commit 7572e76a368e56da139648a5f2e0a92b25a581e2.\n\nBug: 176960283\nBug: 178731135\n\nReason for revert: Fixed access checks of mterp on array allocations\n\nChange-Id: I5c2e321e392714bb6921f3b02e32a79ebfd4e22a\n"
    },
    {
      "commit": "60e0081a6b7ee2e6daafb0f82d3154ad86bcde71",
      "tree": "4dbd46337edc0771e82a2d01ee2e444420123765",
      "parents": [
        "e22c7a81706009335d12f5f6b5fef57ba200b06c"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jan 28 15:18:52 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jan 29 17:32:43 2021 +0000"
      },
      "message": "Regenerate ART test files.\n\nTest: atest art-run-test-815-invokeinterface-default\nBug: 147814778\nChange-Id: I5e1096622c5340c8730d4c6a09273cdb0b7a2818\n"
    },
    {
      "commit": "3a73ffb70151dbc99fa41f300a237f8c29783e0e",
      "tree": "8debef1b372e5bea27d5265a9019446229955e3d",
      "parents": [
        "e585964df42e9fd2fab6f209810cb03e1b261ab1"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jan 25 14:11:05 2021 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jan 25 07:01:32 2021 -0800"
      },
      "message": "Revert^4 \"Partial Load Store Elimination\"\n\nThis reverts commit 791df7a161ecfa28eb69862a4bc285282463b960.\nThis unreverts commit fc1ce4e8be0d977e3d41699f5ec746d68f63c024.\nThis unreverts commit b8686ce4c93eba7192ed7ef89e7ffd9f3aa6cd07.\n\nWe incorrectly failed to include PredicatedInstanceFieldGet in a few\nconditions, including a DCHECK. This caused tests to fail under the\nread-barrier-table-lookup configuration.\n\nReason for revert: Fixed 2 incorrect checks\n\nBug: 67037140\nTest: ./art/test/testrunner/run_build_test_target.py -j70 art-gtest-read-barrier-table-lookup\n\nChange-Id: I32b01b29fb32077fb5074e7c77a0226bd1fcaab4\n"
    },
    {
      "commit": "791df7a161ecfa28eb69862a4bc285282463b960",
      "tree": "a43b022307ea2df82a360164bdf2627cd07eb5b1",
      "parents": [
        "805769bb3800c1e47b0a76ce2c5ebb270a4ac69d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Jan 23 13:28:56 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Jan 24 17:18:55 2021 +0000"
      },
      "message": "Revert \"Revert^2 \"Partial Load Store Elimination\"\"\n\nThis reverts commit fc1ce4e8be0d977e3d41699f5ec746d68f63c024.\n\nBug: 67037140\n\nReason for revert: Fails read-barrier-table-lookup tests.\n\nChange-Id: I373867c728789bc14a4370b93a045481167d5f76\n"
    },
    {
      "commit": "fc1ce4e8be0d977e3d41699f5ec746d68f63c024",
      "tree": "b656aa7c9e62aa181dfbf7fd4f2a0d32b8bf0704",
      "parents": [
        "c6da1be58086e873c9695f8c4c1a3a8ca718696e"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jan 22 14:05:13 2021 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jan 22 07:15:51 2021 -0800"
      },
      "message": "Revert^2 \"Partial Load Store Elimination\"\n\nThis reverts commit 47ac53100303e7e864b7f6d65f17b23088ccf1d6.\n\nThere was a bug in LSE where we would incorrectly record the\nshadow$_monitor_ field as not having a default initial value. This\ncaused partial LSE to be unable to compile the Object.identityHashCode\nfunction, causing crashes. This issue was fixed in a parent CL. Also\nupdated all Offsets in LSE_test to be outside of the object header\nregardless of configuration.\n\nTest: ./test.py --host\nBug: 67037140\n\nReason for revert: Fixed issue with shadow$_monitor_ field and offsets\n\nChange-Id: I4fb2afff4d410da818db38ed833927dfc0f6be33\n"
    },
    {
      "commit": "47ac53100303e7e864b7f6d65f17b23088ccf1d6",
      "tree": "95730c6ba84ef0eebca6236428c8ba51c5eaf280",
      "parents": [
        "51d771db35cc0647bc1fd2a32ed6348d181a7a41"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 22 08:41:08 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 22 08:41:39 2021 +0000"
      },
      "message": "Revert \"Partial Load Store Elimination\"\n\nThis reverts commit b8686ce4c93eba7192ed7ef89e7ffd9f3aa6cd07.\n\nBug: 67037140\n\nReason for revert: Fails a few tests.\n\nChange-Id: Icf0635bffbfbba93bf0a5b854a9582c418198136\n"
    },
    {
      "commit": "51d771db35cc0647bc1fd2a32ed6348d181a7a41",
      "tree": "416ec79e04429659505ce8955c12a65cc6460683",
      "parents": [
        "0b986f73e018fe55af1d71d2f8deaa61bd6840a2"
      ],
      "author": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Thu Jan 14 16:45:49 2021 +0000"
      },
      "committer": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Thu Jan 21 21:24:56 2021 +0000"
      },
      "message": "Update test expectations for new core-oj API\n\ntoSeconds() methods was renamed to toBigDecimalSeconds(). This CL\nupdates test expectations for 993-breakpoints.\n\nBug: 160356973\nTest: art/test.py -b --host -r -t 993-breakpoints\nChange-Id: Id411ceef3a052b3d9cbc5734085bf9e105e31518\n"
    },
    {
      "commit": "b8686ce4c93eba7192ed7ef89e7ffd9f3aa6cd07",
      "tree": "1721ee940f978736a2212d693271ee698897cb0b",
      "parents": [
        "625048049558d394d50b6e98885b8c210e481bf1"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Nov 02 08:48:33 2020 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 21 17:58:10 2021 +0000"
      },
      "message": "Partial Load Store Elimination\n\nAdd partial load-store elimination to the LSE pass. Partial LSE will\nmove object allocations which only escape along certain execution\npaths closer to the escape point and allow more values to be\neliminated. It does this by creating new predicated load and store\ninstructions that are used when an object has only escaped some of the\ntime. In cases where the object has not escaped a default value will\nbe used.\n\nTest: ./test.py --host\nTest: ./test.py --target\nBug: 67037140\n\nChange-Id: Idde67eb59ec90de79747cde17b552eec05b58497\n"
    },
    {
      "commit": "d5a8695394f8f6e8f9a66752441623dc31b97660",
      "tree": "591ac4892304365282a57262c91e1945ac94c6a9",
      "parents": [
        "2fb37411e42455a00fdad90f0e612c3214e5bd1a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 19 10:35:54 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 21 14:07:57 2021 +0000"
      },
      "message": "Reland \"Improve invokeinterface for nterp.\"\n\nThis reverts commit f1d06474baa2f7c00761db39099b89ddab71bbe4.\n\nBug: 177554973\nBug: 112676029\n\nTest: test.py\nTest: 815-invokeinterface-default\nTest: enable text-to-speech on device, no crash\n\nReason for revert: Fixed issue with recursive default methods\n\nChange-Id: I2fb9336adb6c4fc920f39aa19bfe7f0a92ce059a\n"
    },
    {
      "commit": "c6e4578e546bc23272cb165baff395cdac7521fc",
      "tree": "7c0cc51740c475b81bb8f4191e4c92987dd723f9",
      "parents": [
        "04c73cc180b8b0e9222ead36595c7af64b18a96e"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Jan 14 13:17:20 2021 -0800"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Jan 19 20:31:24 2021 +0000"
      },
      "message": "Fix 053-wait-some time bounds\n\nRequire that we wait at least as long as specified, except allow\n1 millisecond slop to accomodate some old kernels that seem to\nwake up slightly early. But allow for additional scheduling\ndelays by increasing the upper time bound.\n\nTest: Treehugger\nBug: 175435088\nChange-Id: Ib374fbf9e03c6862273c6cd0b0883c73d052ae9d\n"
    },
    {
      "commit": "04c73cc180b8b0e9222ead36595c7af64b18a96e",
      "tree": "8036c58eaf9697e25b4ea668b39b972dea942d58",
      "parents": [
        "a0729bae01052961e52bd770b621e8ac3e235ced"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jan 19 16:46:37 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jan 19 19:51:14 2021 +0000"
      },
      "message": "Regenerate ART test files.\n\nTest: atest art-run-test-814-large-field-offsets\nTest: atest art-run-test-2232-write-metrics-to-log\nBug: 147814778\nChange-Id: Idc477d283d3a5ed05e4a3f523e04be39be596b74\n"
    },
    {
      "commit": "808c556b1f4b936b8e9010ed1a6d8313dd862983",
      "tree": "022e9123c589d79233116bae1ad59f4a4319ad14",
      "parents": [
        "caac87ab74fbf5463e58f1addf3f8f5080080b6e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 18 14:19:21 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 19 09:45:45 2021 +0000"
      },
      "message": "Reland \"Refactor code in mterp and nterp to handle all cases of missing class.\"\"\n\nThis reverts commit 748e9564c5334834aee0050533e6f1d24557f8c9.\n\nBug: 177627911\nBug: 79751666\nBug: 112676029\nBug: 176960283\n\nReason for revert: fixed mterp braino\n\nTest: 173, 814\n\nChange-Id: Ic853eb344562be0207ce6e9bfd41d74e795561d7\n"
    },
    {
      "commit": "748e9564c5334834aee0050533e6f1d24557f8c9",
      "tree": "5c481f0c872a81024a24cdca5daf831a40dcab8a",
      "parents": [
        "09e2337f8a971c318c560444912d50b06d723e35"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 14 22:43:34 2021 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jan 15 21:15:19 2021 +0000"
      },
      "message": "Revert \"Refactor code in mterp and nterp to handle all cases of missing class.\"\n\nThis reverts commit 3f2980f1b0fc22f3566e6759141994a8269912ba.\n\nBug: 177627911\nReason for revert: Fixes b/177627911 crash in photos\n\nChange-Id: I614df98b15168d8fe94e09e5db1ab81001018dd2\n"
    },
    {
      "commit": "1060838894e34785139b5e3583fbc9edad7fa7f9",
      "tree": "267cc17ce650219d520e847fa011ebada320b8b8",
      "parents": [
        "f1d06474baa2f7c00761db39099b89ddab71bbe4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 15 09:20:23 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 15 09:20:58 2021 +0000"
      },
      "message": "Revert \"Revert^2 \"[metrics] Add background reporting thread\"\"\n\nThis reverts commit 4c176b9de6c430422395017910633bcb001b2e84.\n\nReason for revert: Test fails on target.\n\nChange-Id: Idfef53679cf602c7c10a9cc0ffb16fda583ed78f\n"
    },
    {
      "commit": "4c176b9de6c430422395017910633bcb001b2e84",
      "tree": "7e2977cbda130db7f4f83e8eba9449f49e0e4397",
      "parents": [
        "5bb354fa440ae7c9ebe6994ceb45e6795c5d3363"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Tue Dec 15 18:23:28 2020 +0000"
      },
      "committer": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Thu Jan 14 21:40:56 2021 +0000"
      },
      "message": "Revert^2 \"[metrics] Add background reporting thread\"\n\nThis adds a background thread that reports metrics every N seconds,\nwhere N is specified by the -Xmetrics-reporting-period command line\noption. Periodic reporting is disabled by default.\n\nThis reverts commit 73366109eec37b75f77f24e6e52832047508b34f.\n\nThe reason this was previously reverted was due to failures where\nJVMTI reported an unexpected thread at startup. This change fixes the\nissue by adding the metrics background reporting thread to the list of\nallowed threads in ti_thread.cc.\n\nTest: test/run-test --host 2233-metrics-background-thread\nTest: adb shell stop \u0026\u0026 \\\n      adb shell setprop dalvik.vm.extra-opts \\\n          -Xmetrics-reporting-period\u003d30\\\\\\ -Xwrite-metrics-to-log \u0026\u0026 \\\n      adb shell start \u0026\u0026 \\\n      adb logcat  # observe metrics in log\nChange-Id: I5eea4a4551de9cf4672a461c09521ef871063a91\n"
    },
    {
      "commit": "3f2980f1b0fc22f3566e6759141994a8269912ba",
      "tree": "85d72d4efa66f81f725daf324ad7fd54d5f37135",
      "parents": [
        "c26c640db1911d2fcab7c2b4830993bc254011aa"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 12 10:45:06 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 14 08:50:59 2021 +0000"
      },
      "message": "Refactor code in mterp and nterp to handle all cases of missing class.\n\nThis is to handle the case the type of a field is missing, and where we\nonly throw an exception when we assign a non-null value.\n\nBug: 79751666\nBug: 112676029\nBug: 176960283\nTest: test.py\nChange-Id: I9c233f271eea7ae4a8028fb727d5c49c7c45feac\n"
    },
    {
      "commit": "1a0e292b9bb60be76a666ca86046db1492a345d4",
      "tree": "5ba5d147ecb1733073e12ca040366aaa893d9d2f",
      "parents": [
        "f8567b535dcc4618f0ee76e5b8716d296681197b"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jan 12 13:57:42 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 13 14:05:16 2021 +0000"
      },
      "message": "Revert^2 \"Add disable/get/set_hidden_api_enforcement_policy extensions\"\n\nThis reverts commit 46d6fc0e16d65468aa259fadf27ddfeef72987b7.\n\nThe test, 2038, is incompatible with redefine stress due to class\nredefinition disabling most hidden-api checks. This adds the\nappropriate skips to knownfailures.json.\n\nReason for revert: Add 2038 to redefine-stress knownfailures.json\nTest: ./test.py --host --redefine-host\nBug: 175329755\n\nChange-Id: I6c8f0f6fc468db85368ecc9fbb2372677b529383\n"
    },
    {
      "commit": "f8567b535dcc4618f0ee76e5b8716d296681197b",
      "tree": "59581c9c3d168f3a1b8e0dd7f4a2e384a8434999",
      "parents": [
        "0ddba9a4239477a2319fbf4317ca8782308c2c35"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 13 09:50:24 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 13 09:51:02 2021 +0000"
      },
      "message": "Revert \"Revert^2 \"[metrics] Add file output support\"\"\n\nThis reverts commit 8ef84f233a55972eb3a3d84c11c1617531af8e92.\n\nBug: 175025360\nBug: 170149255\n\nReason for revert: test failing on target\n\nChange-Id: I8d82462f6fb853ece4a4b295de17ab13b1f1b6f1\n"
    },
    {
      "commit": "8ef84f233a55972eb3a3d84c11c1617531af8e92",
      "tree": "cb7113879d10fcafd3b3c2d969e75fba7c60dc35",
      "parents": [
        "46d6fc0e16d65468aa259fadf27ddfeef72987b7"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Tue Jan 12 00:04:57 2021 +0000"
      },
      "committer": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Tue Jan 12 17:16:13 2021 +0000"
      },
      "message": "Revert^2 \"[metrics] Add file output support\"\n\nAdds a new command line option, -Xwrite-metrics-to-file\u003d_, which\nspecifies a file for writing metrics to. This can be used in conjunction\nwith -Xwrite-metrics-to-log, which will cause the output to go to both\nlogcat and the file.\n\nWriting metrics to a file can be helpful for testing or benchmarking\nenvironments.\n\nAccess to the file is protected using advisory locking, so it is safe to\nhave multiple processes write metrics to the same file.\n\nThis reverts commit ce2e0957f065002293ef152da28b6fa941c6baa3.\n\nReason for revert: Fixed test failures by adding Android.bp file.\n\nTest: test/run-test --host test/2234-write-metrics-to-file\nBug: 175025360\nBug: 170149255\nChange-Id: I6768f5b4920896fc0f8e5866c878af999f73012d\n"
    },
    {
      "commit": "46d6fc0e16d65468aa259fadf27ddfeef72987b7",
      "tree": "da2cab50d7ed4037733656ebc656c64f33a5f4d2",
      "parents": [
        "a3a828d637507b8300aee6588f4c933a6b96973f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 12 09:59:16 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 12 13:25:54 2021 +0000"
      },
      "message": "Revert \"Add disable/get/set_hidden_api_enforcement_policy extensions\"\n\nThis reverts commit c38d94449a0ccfefd396d2e01b571f3e804d9e48.\n\nBug: 175329755\n\nReason for revert: Fails on redefine-stress\n\nChange-Id: Id3b4e504ebfe6b090b06b7f47a3896fe30cdf850\n"
    },
    {
      "commit": "c38d94449a0ccfefd396d2e01b571f3e804d9e48",
      "tree": "39b74f8fea3ccbafd95936333f87865c2289c263",
      "parents": [
        "83881483515aec1dfaa0c848f1ce876c3f966b43"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Dec 11 10:20:32 2020 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jan 11 16:26:39 2021 +0000"
      },
      "message": "Add disable/get/set_hidden_api_enforcement_policy extensions\n\nAdd JVMTI extensions to control the hidden-api enforcement policy. The\nnew extensions\ncom.android.art.misc.{disable,get,set}_hidden_api_enforcement_policy\nuse the int representations defined by ApplicationInfo.java. Users of\nthese APIs should be sure to toggle the hidden-api state temporarily\nas needed and should avoid turning it off for long periods in order to\nensure users can continue to find bugs.\n\nTest: ./test.py --host\nBug: 175329755\nChange-Id: I89848faf6cf53179b713c6ca9f19f1fe8062b739\n"
    },
    {
      "commit": "da946fc92b3f6f9664167ef3a0f1324694417b71",
      "tree": "97cf0b27d2d362e9dddfb58b0464238fba0db2f9",
      "parents": [
        "47213e4e3773bfca0348b011831eaaa678cd0791"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jan 05 23:43:49 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jan 08 17:53:12 2021 +0000"
      },
      "message": "Add `MainlineTestModuleController` support to ART run-tests and gtests.\n\nThis in order to run these tests only when APEX package\n`com.google.android.art` is installed on the test device.\n\nTest: m mts \u0026\u0026 mts-tradefed run commandAndExit mts-art\nBug: 167385698\nChange-Id: Iad9c1d1584a5fcb53731a05d7f249aa049e3bb75\n"
    },
    {
      "commit": "eeaf8bd989a5bbe2ffdacff5a0a3a4acece7e824",
      "tree": "38bde86015f3362ab1a0751ed90f06f4f0122ba0",
      "parents": [
        "26de89604fdb6f7db3effcf775860f9f0dcd00f0"
      ],
      "author": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Wed Dec 23 14:32:18 2020 -0800"
      },
      "committer": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Wed Dec 23 14:32:18 2020 -0800"
      },
      "message": "Fix java heap exhaustion in 159-app-image-fields test\n\nTest: art/test/testrunner/testrunner.py\nBug: 144525957\nChange-Id: I466e5e1a8a227ae35ccaa58b61755665192c295d\n"
    },
    {
      "commit": "ce2e0957f065002293ef152da28b6fa941c6baa3",
      "tree": "d8c28f4e46c4140b073331ea69b8b14e87590f15",
      "parents": [
        "fff1d8f9f3881d223f3d068f974da14f3d80de88"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 22 11:24:36 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 22 13:29:17 2020 +0000"
      },
      "message": "Revert \"[metrics] Add file output support\"\n\nThis reverts commit 51a9283984b05511bd98f9bcbd1f2f18900239cc.\n\nReason for revert: The new test is broken on device.\n\nBug: 175025360\nBug: 170149255\nChange-Id: I94d33f9e3d2203a0323fd5dc34f5a6f3e6147367\n"
    },
    {
      "commit": "51a9283984b05511bd98f9bcbd1f2f18900239cc",
      "tree": "09b25eb574b2c93f4e940bfab423b58acdf340bd",
      "parents": [
        "20cadbf2a204a029b595cd44f9298f6570b5c812"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Mon Dec 07 15:07:00 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Dec 21 18:09:31 2020 +0000"
      },
      "message": "[metrics] Add file output support\n\nAdds a new command line option, -Xwrite-metrics-to-file\u003d_, which\nspecifies a file for writing metrics to. This can be used in conjunction\nwith -Xwrite-metrics-to-log, which will cause the output to go to both\nlogcat and the file.\n\nWriting metrics to a file can be helpful for testing or benchmarking\nenvironments.\n\nAccess to the file is protected using advisory locking, so it is safe to\nhave multiple processes write metrics to the same file.\n\nTest: test/run-test --host test/2234-write-metrics-to-file\nBug: 175025360, 170149255\nChange-Id: I83a4f959cbb96847dc71188035c050a73b915064\n"
    },
    {
      "commit": "20cadbf2a204a029b595cd44f9298f6570b5c812",
      "tree": "1405507edb6ef85bc16713dd59479121947ca12c",
      "parents": [
        "50bbbf1ae5ee1c22d8f31e5f5dc14eab0258303e"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Dec 15 02:32:03 2020 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Dec 17 22:30:55 2020 +0000"
      },
      "message": "Change default to build with ART Module prebuilts rather than sources.\n\nLet SOONG_CONFIG_art_module_source_build default to true in make\ninstead, so it can be controlled from the command line.\n\nTest: m\nTest: m SOONG_CONFIG_art_module_source_build\u003dfalse\nTest: art/build/apex/runtests.sh on master-art\nTest: art/tools/buildbot-build.sh on master-art\nBug: 172480615\nChange-Id: I4f852d3245f9919b3e14e064c8e3067a63e306d3\n"
    },
    {
      "commit": "232efef0c8ecb532fabad83bee916101b716d75c",
      "tree": "b202a3acfc54a67f56d73bc254e2b6b44e8277d2",
      "parents": [
        "5ff2393e1fb6e61fc74f20c66f80f4b8656987d1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 08 21:36:21 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 15 14:13:59 2020 +0000"
      },
      "message": "Make Class.getPackageName public.\n\nTest: 1980-obsolete-object-cleared\nChange-Id: Ibf6edd49ef1992a20891185930a1942085de8099\n"
    },
    {
      "commit": "5e82b184ef51672df491374f81cd6a69b40a133c",
      "tree": "5c859773d931d5e1525a58ae1a91fe0bb879b322",
      "parents": [
        "73366109eec37b75f77f24e6e52832047508b34f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 08 08:57:36 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 14 13:41:03 2020 +0000"
      },
      "message": "Make it a verification error to misuse FastNative and CriticalNative.\n\nBug: 175016705\nTest: 004-JniTest\nChange-Id: I10a1d6d29ebab105a2dd55ed796742c13c221ae2\nMerged-In: I10a1d6d29ebab105a2dd55ed796742c13c221ae2\n(cherry picked from commit 80f8973cb13feff2336345719066e0a65eb48ca7)\n"
    },
    {
      "commit": "73366109eec37b75f77f24e6e52832047508b34f",
      "tree": "b4467d6220aa9aa06bbbca2440d3cefa57ecd5a7",
      "parents": [
        "cf097a7dba6eb0f9c788e7284efd46640b100e1f"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Sun Dec 13 01:28:33 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Dec 13 14:33:59 2020 +0000"
      },
      "message": "Revert \"[metrics] Add background reporting thread\"\n\nThis reverts commit 77f7eb9d05b6d05531556882d99ed63688c6e3b0.\n\nReason for revert: We\u0027re seeing consistent 2233-metrics-background-thread failures on target.\n\nChange-Id: Ie394dbe90289b1472ac4c8876d01ece347541852\n"
    },
    {
      "commit": "77f7eb9d05b6d05531556882d99ed63688c6e3b0",
      "tree": "76754e225ffd358eda851b51d7ca541843d6040b",
      "parents": [
        "3ac2f5a25e9cae22ec8f5ae5e28de93f34d6485a"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Tue Nov 17 14:54:23 2020 -0800"
      },
      "committer": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Thu Dec 10 12:34:45 2020 -0800"
      },
      "message": "[metrics] Add background reporting thread\n\nThis adds a background thread that reports metrics every N seconds,\nwhere N is specified by the -Xmetrics-reporting-period command line\noption. Periodic reporting is disabled by default.\n\nTest: test/run-test --host test/2233-metrics-background-thread\nTest: adb shell stop \u0026\u0026 \\\n      adb shell setprop dalvik.vm.extra-opts \\\n          -Xmetrics-reporting-period\u003d30\\\\\\ -Xwrite-metrics-to-log \u0026\u0026 \\\n      adb shell start \u0026\u0026 \\\n      adb logcat  # observe metrics in log\nChange-Id: I4d6ae7701dd2fe36bc761ef6170ddd6860a3c0e6\n"
    },
    {
      "commit": "10bb9c5cff67f7fa205187edfb513022423542d1",
      "tree": "b808b7b7cca116357d15de3d7b5deb876f5842fc",
      "parents": [
        "a84cd9e0ed902a3b23c03db85072caae0933ed1c"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Dec 01 22:53:51 2020 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Dec 10 09:32:06 2020 +0000"
      },
      "message": "Use a Soong config variable to toggle between ART Module source and\nprebuilts.\n\nWhen ART Module prebuilts are in use (i.e. have prefer:true), they\ninterfere with apex/sdk/module_exports modules and cause Soong\nfailures.\n\nTo work around that problem the aim is to disable those modules when\nthe prebuilts are preferred, and introduce a product variable to toggle\nit the other way. That variable is then set in ART-specific products\nwhich should be used in ART source builds.\n\nThat way platform builds will use the prebuilts even if ART sources are\navailable, without disabling all the ART source modules.\n\nThis topic does all the preparations for that except the actual flip to\nstart using prebuilts by default.\n\nTest: m SKIP_BOOT_JARS_CHECK\u003dtrue \\\n      UNSAFE_DISABLE_HIDDENAPI_FLAGS\u003dtrue nothing\n  on AOSP master with dexpreopting disabled and the default flipped to\n  use prebuilts\nTest: art/build/build-art-module.sh\n      art/build/apex/runtests.sh\n      art/tools/buildbot-build.sh {--host,--target}\n      art/tools/run-gtests.sh (in device chroot)\n      art/test/testrunner/testrunner.py --target --64 --optimizing\n        (in device chroot)\n  on master-art with the default flipped to use prebuilts\nTest: Use NINJA_ARGS\u003d\"-t query ...\" to check the dependencies of\n  art-runtime both when APEXes are enabled and disabled.\nBug: 172480617\nChange-Id: I1126e7dc40ab55fca1df0043199da5cb449de14d\n"
    },
    {
      "commit": "046cecfed5a4df1e180e3491ba7b566bf50a2026",
      "tree": "70a87fa85111b6eb4024a9f5d7d7b79d64b874a0",
      "parents": [
        "4462b11094614d0d536eac22b71e1c33030f2418"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Dec 07 18:31:28 2020 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Dec 10 00:10:39 2020 +0000"
      },
      "message": "Do not accept vdex with dex sections from .dm files\n\nCheck that the input vdex does not contain dex files when it originates\nfrom dex metadata files.\n\nBug: 111442216\nTest: test-art-host\nChange-Id: I5b104329af899ea62dc1779800264bad6b5424a4\n"
    },
    {
      "commit": "33787687f52798fd5b584edb4c88717d134c367a",
      "tree": "d55000cc678080980e6f4dd99d4acbe032119408",
      "parents": [
        "858cfd81c4fddbc950f9be2e3599b15aabaa501a"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Jul 26 14:27:18 2019 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Dec 08 23:29:58 2020 +0000"
      },
      "message": "SDK-stub controlled dex2oat verification\n\nAllow dex2oat to further limit the resolved (boot classpath) symbols\nduring verification according to an additional list of public SDK files.\n\nThe additional SDKs can be specified as regular classpath (a list\nof dex files) and has the effect of limiting what can be resolved from\nthe boot classpath. The extra checks are performed by comparing the\nsymbol descriptors and do not replace common verification access-checks\nflow.\n\nBug: 111442216\nTest: test-art-host\nChange-Id: Idc13722f34b591d7f858ebeb94bd6f568102b458\n"
    },
    {
      "commit": "15489fb20f8863052daef5e9e16190ef1cbe6735",
      "tree": "509ee410521fde1cd5311c692dd4d3125d24f83b",
      "parents": [
        "df38537c2fe4d57730e9e4a359f05ebe1e7dddab"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Fri Dec 04 13:05:16 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Dec 07 19:09:32 2020 +0000"
      },
      "message": "Update 2232-write-metrics-to-log entry in knownfailures.json\n\nThis test writes to LOG_STREAM(INFO) and has a check script that\nverifies the output was written. This does not work on target because\nLOG_STREAM is redirected to logcat. The test was already disabled due to\nb/174632603, but this updates the entry\u0027s description to indicate that\nthis is considered by design.\n\nTest: test/run-test --host 2232-write-metrics-to-log\nBug: 174632603\nChange-Id: If2a7a5ab6529be9cefedfd3dc046191c3999115a\n"
    },
    {
      "commit": "ecd94cf3dfe6dd657f9e4412200c5a00d8f945a6",
      "tree": "49e9202a562e020d7a9fa6e21642a319d281ee92",
      "parents": [
        "d1e80d2e8da7c0b44587de68a9b13d24ca296c58"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Dec 03 13:58:33 2020 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Dec 03 16:50:43 2020 +0000"
      },
      "message": "run-test-jar: replace tempfile with mktemp\n\nTest: art/test.py --64 --host\nTest: Treehugger\nChange-Id: I1bf655078bc2dc2194fb71b9de62de5dbf2707d7\n"
    },
    {
      "commit": "08e8c6f4b130b76f3dfdd3367ecf6c85e4ea01aa",
      "tree": "21bccb94402f0622c9aa23ffe0bc5dcefba7f04b",
      "parents": [
        "8331963d62776c3e3c9b15eeedeea5bcbe2eac7a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 03 10:55:18 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 03 10:55:18 2020 +0000"
      },
      "message": "Silence tempfile warning in run-test-etc.\n\nTest: testrunner.py --target --32 --optimizing -t 001-Main\nChange-Id: I0b27d16bf02765c6c6bf87bbd9920250dafdb5ce\n"
    },
    {
      "commit": "73556f3fcb65a9adc81ddfce076b8e658161ea4d",
      "tree": "f2def1636b49da71404349ba7b19f8467e999ff6",
      "parents": [
        "720d71f0808f0842b5a7f35daa81e7a0fee59dad"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Dec 02 11:02:55 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Dec 02 17:04:39 2020 +0000"
      },
      "message": "Regenerate ART test Blueprint files.\n\nTest: atest --test-mapping art:all\nBug: 147814778\nChange-Id: Iff6b9f754f64639955924eb0808bf83231a8adcd\n"
    },
    {
      "commit": "720d71f0808f0842b5a7f35daa81e7a0fee59dad",
      "tree": "857bfda65d605fd00af621904a7b05e783aa4f23",
      "parents": [
        "9d6864f5892b5b4b4d9156efddb240ff52a5ace4"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Dec 02 14:00:21 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 02 15:30:57 2020 +0000"
      },
      "message": "Disable 2232-write-metrics-to-log on target\n\nFailing on go/art-buildbot.\n\nBug: 174632603\nTest: art/test/testrunner/testrunner.py --target -t 2232\nChange-Id: If8e392afb552c377ac991b807aba2258bf38a090\n"
    },
    {
      "commit": "9d6864f5892b5b4b4d9156efddb240ff52a5ace4",
      "tree": "8c2dc1afe0ae3c3ceb8eba9d44fa883d99e5375f",
      "parents": [
        "526569ac1e4939afeb15c5970e5e6e41e7cbfdcd"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Nov 11 13:29:28 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Dec 02 14:50:29 2020 +0000"
      },
      "message": "Add early documentation for ART Testing support in Atest and TradeFed.\n\nIntroduce file `test/README.atest.md`, providing some initial\ndocumentation about ART run-tests and ART gtests support in the Trade\nFederation test harness, the Atest command line tool, and test\nmapping.\n\nTest: Render `README.atest.md` as HTML and check the output manually\nBug: 140373913\nBug: 147818031\nBug: 147820692\nChange-Id: If1a7027a7b2cc15536b81e615118e77c5177fd80\n"
    },
    {
      "commit": "59d4b53e70bc1e0589ce05428c945b4585e28d0f",
      "tree": "f7ca666fa879e98e89956053911c5d206b09787d",
      "parents": [
        "de60ef3f91af06a3b8ef24f4bab5c547dc65e10d"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Wed Oct 21 17:49:39 2020 -0700"
      },
      "committer": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Tue Dec 01 09:19:19 2020 -0800"
      },
      "message": "[metrics] Add -Xwrite-metrics-to-log option\n\nThis CL adds a -Xwrite-metrics-to-log command line option, which causes\nART to write metrics to logcat at shutdown. At the moment, this is\nmostly useful for tests, but this change also lays some of the\nfoundation for more flexible metrics reporting.\n\nTest: test/run-test --host 2232-write-metrics-to-log\nBug: 170149255\nChange-Id: Ie4db70b9be83b2dc82e62798aa9977120a6e4ac5\n"
    },
    {
      "commit": "2ecdbc45535f7594dc1684a06b47624aaeff8502",
      "tree": "0183e9d51006d721dcdfbe174a1fdaa2c65e36aa",
      "parents": [
        "01ee0f9e9b7852a51d362718080648a0847edaf7"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Nov 30 18:33:20 2020 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Dec 01 13:59:16 2020 +0000"
      },
      "message": "Don\u0027t run 175-alloc-big-bignums for prebuild config\n\nPrebuild configs use profiles that do not include key methods for\nBigInteger so do not run for now:\n\n* Ljava/math/BigInteger;-\u003eadd([IJ)[I\n* Ljava/math/BigInteger;-\u003eadd([I[I)[I\n* Ljava/math/BigInteger;-\u003esubtract([IJ)[I\n\nBug: 174470490\nTest: art/test/testrunner/testrunner.py --32 -j1 --verbose --host -t 175\nChange-Id: Ibb25c06a5633218bdac9509aed47ba8d744a9c53\n"
    },
    {
      "commit": "dd406c3da681ad716a23890e8a95a82fef26e5b2",
      "tree": "509a0e90cf7a9a301a30eb09dfd42275040a395f",
      "parents": [
        "d6bd107ed83502eb0bbaf66911ab036ecf74612d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Nov 22 22:53:18 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 01 10:00:07 2020 +0000"
      },
      "message": "Add an arm32 port of nterp.\n\nCurrently using arm32, will try thumb once this CL lands to compare\nperformance.\n\nTest: test.py, run-libcore-tests, device boots\nBug: 112676029\n\nChange-Id: I6535e2982a3ceed83eba6664fc8ba8609974bc08\n"
    }
  ],
  "next": "d6bd107ed83502eb0bbaf66911ab036ecf74612d"
}
