)]}'
{
  "log": [
    {
      "commit": "eac404b341e40bb72f8d79ee1d1a7173862b438e",
      "tree": "2681b43b60f8eec774e04b7200764f6bb885c8a5",
      "parents": [
        "109039edbdcf1bc9eb0b0ced334041292746526c"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Feb 05 16:27:43 2020 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Feb 25 16:37:33 2020 +0000"
      },
      "message": "Support ART\u0027s target gtests in atest.\n\nThis is first simple approach which relies on installing\nthe ART testing apex on the device and rebooting it.\nThis is not ideal if bugs prevent the device from booting.\n\nThe next goal is to run the tests in chroot without reboot.\nWe should also introduce dedicated ART gtest runner.\n\nTest: atest ArtGtestsTarget --rebuild-module-info\nTest: run on device using forrest\nBug: 147817606\nChange-Id: I3b7f66dc27a665a6971fc688f220103c6b842b57\n"
    },
    {
      "commit": "109039edbdcf1bc9eb0b0ced334041292746526c",
      "tree": "c7420aa7f0cac4556a00338a85e55cc884892673",
      "parents": [
        "84b1d5539517d6b6fb0a32a3a871971e5120866c"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 19 19:46:51 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Feb 25 15:54:05 2020 +0000"
      },
      "message": "Remove legacy ART APEX linker configuration file.\n\nThis file is no longer needed, as the ART APEX linker configuration\nfile is now generated by `linkerconfig` in all environments.\n\nTest: Run ART tests on device in chroot environment\nBug: 149376737\nChange-Id: I79135e4ce92eb1cae69a8f5f3c2b41e05c321f51\n"
    },
    {
      "commit": "84b1d5539517d6b6fb0a32a3a871971e5120866c",
      "tree": "1ce43e32c03725bb0839d8813fcc18fa06a50cd1",
      "parents": [
        "b2ffe4b7593c3f07d0891378a4f05785e9db8eed"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Feb 21 13:53:00 2020 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Feb 25 15:24:09 2020 +0000"
      },
      "message": "art: Extend sun.misc.Unsafe presence in the Core Platform API\n\nThese methods are used by platform and generate warnings for which\nno fix is coming any time soon.\n\nBug: 144502743\nTest: art/test.py --host --64\nTest: boot device \u0026\u0026 adb logcat | grep \"Core platform\"\n\nChange-Id: I6b3783f6b96eae90e49b0d0a520138a823416404\n"
    },
    {
      "commit": "b2ffe4b7593c3f07d0891378a4f05785e9db8eed",
      "tree": "da89b15ed5483dd8d59d6c3a81a2287bd18163d7",
      "parents": [
        "7744056d0ed02535be60e8ed3f13a2b53939fb46"
      ],
      "author": {
        "name": "Evgeny Astigeevich",
        "email": "evgeny.astigeevich@linaro.org",
        "time": "Tue Feb 25 12:30:45 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Feb 25 15:19:59 2020 +0000"
      },
      "message": "ART: Add workaround of 4.14 kernel bug to 137-cfi\n\n4.14 kernel has a bug: missing final null byte in /proc/$pid/cmdline.\nThis causes 137-cfi to fail on Pixel 4. The test creates a command based\non /proc/self/cmdline. Because of the bug the created command is\ninvalid.\n\nThe CL adds a workaround of the bug by adding the final null byte if it\nmisses.\n\nBug: https://issuetracker.google.com/issues/150189787\nTest: Pixel 2/3/4\nTest: 137-cfi\nChange-Id: If161b0b37df4a691a502e95eda7697c81334a7f1\n"
    },
    {
      "commit": "7744056d0ed02535be60e8ed3f13a2b53939fb46",
      "tree": "cb056345f96a4aa5b8a2fed70faa353f4a147b70",
      "parents": [
        "2246a4ebf1d262c1db190f3073fb1402d417a390"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Feb 21 20:23:05 2020 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Feb 25 13:01:34 2020 +0000"
      },
      "message": "Extend manifest to switch to autogenerated linker config.\n\n- Provide ICU libs that are required for app compat. The ICU libs don\u0027t\n  have stubs, so must be listed explicitly in the manifest.\n- Require libneuralnetwork. This might not be necessary; it is\n  grandfathered in from the old hardcoded config to minimize diffs.\n\nTest: Flash and boot\nTest: system/linkerconfig/rundiff.sh\nBug: 147082642\nBug: 120786417\nChange-Id: I0ef823dce367b63091e133f081ee4b7bb70c5b31\n"
    },
    {
      "commit": "2246a4ebf1d262c1db190f3073fb1402d417a390",
      "tree": "8cc5b96e48a07c4f0997cb9d44c1d0270f982f0b",
      "parents": [
        "ada8536c19e57cbfe55dcb3c72aa95e79365ed21"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Mon Feb 24 16:16:41 2020 +0000"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Tue Feb 25 12:24:54 2020 +0000"
      },
      "message": "perfetto_hprof: be smarter about splitting packets\n\nWe now keep track of how much we have already written.\n\nTest: grab profile and look at in ui.perfetto.dev.\n\nBug: 149378918\nBug: 143874090\nChange-Id: I76c491fe3738611d012294169ee7c77541a6d8cb\n"
    },
    {
      "commit": "ada8536c19e57cbfe55dcb3c72aa95e79365ed21",
      "tree": "7d9a4d2e3565d106220ac5b2f96933375f5b7ecb",
      "parents": [
        "b96479447d38e3d1e035d384897cf984516f1c2d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 20 14:17:39 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 25 11:39:16 2020 +0000"
      },
      "message": "If generating an image, run initialization and other optimizations.\n\nThe biggest reason for this CL is to ensure a boot image and a boot\nimage extension always have their conflict tables filled.\n\nTest: test.py\nBug: 149894949\nChange-Id: I7bada1b3697322ce78b4f352dec854651c0e995c\n"
    },
    {
      "commit": "b96479447d38e3d1e035d384897cf984516f1c2d",
      "tree": "f612aeda854436dcde47ddc7c1b6a7c39339df8f",
      "parents": [
        "de7f878d640003402a0b3a921fa3bf978377bf26"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Feb 20 13:20:44 2020 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Feb 25 10:15:38 2020 +0000"
      },
      "message": "Add more sdk/module_exports needed by conscrypt\n\ncore-platform-api-stubs-system-modules is needed by targets outside\nexternal/conscrypt but which are in repositories that provide something\nthat is needed by conscrypt, e.g. development/ is needed by the build\nand contains the Development target which depends on this. There are\nother targets too.\n\nhiddenapi - needed to build conscrypt.\n\ndex2oat/dex2oatd - the dexpreopt/config.go panics if it cannot find it.\n\nBug: 142935992\nTest: m art-module-sdk art-module-host-exports art-module-test-exports\nChange-Id: I16ade2f7a63de2a3b3e5c4334694c26715cd2119\n"
    },
    {
      "commit": "de7f878d640003402a0b3a921fa3bf978377bf26",
      "tree": "518ca65ac4508ae0a38c824b2dd5c6ca57e1b315",
      "parents": [
        "ffd067c6e248a602f244c8536fce8177566858bb"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Feb 24 10:14:22 2020 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Feb 24 18:16:02 2020 +0000"
      },
      "message": "Fix minor code-style error\n\nA line was too long and some arguments were misaligned.\n\nTest: None\nChange-Id: I2c35698a88baca35bba4c23b1ade2272c776d56d\n"
    },
    {
      "commit": "ffd067c6e248a602f244c8536fce8177566858bb",
      "tree": "1ffaf4557d80f3f80fe76987559623ede8d79f59",
      "parents": [
        "09c23c60aee38b1ff1b47d334e3dcf85cf8adf9c"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Feb 20 15:25:31 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Feb 24 17:45:58 2020 +0000"
      },
      "message": "Make the Host ART APEX have similar requirements w.r.t. dex2oat and dex2oatd.\n\nRecent changes in the build system have made `dex2oat` more similar to\n`dex2oatd` w.r.t. build rules. Echo these changes in the definition of\nthe Host ART APEX (`com.android.art.host`).\n\nTest: art/build/apex/runtests.sh\nBug: 148372405\nBug: 149749169\nChange-Id: I125083af7752ed41b5af89e8cc384bab7cc9d48d\n"
    },
    {
      "commit": "09c23c60aee38b1ff1b47d334e3dcf85cf8adf9c",
      "tree": "2b8771957468894d530b463faed9c8192656710f",
      "parents": [
        "15c622d385ec46b4fc236b7445d016bc2ad699ef"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Feb 24 13:08:24 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Feb 24 14:45:14 2020 +0000"
      },
      "message": "Update ART chroot-based testing instructions w.r.t. JDWP tests.\n\nUpdate `test/README.chroot.md` to mention\n`art/tools/run-libjdwp-tests.sh` instead of using\n`art/tools/run-jdwp-tests.sh` directly. The old JDWP implementation\nwas retired in\nhttps://android-review.googlesource.com/c/platform/art/+/1216803/.\n\nTest: Run JDWP tests in ART chroot environment.\nBug: 34729697\nBug: 119034743\nChange-Id: Ib83f241bb4866948074224184a63952e4b7766f7\n"
    },
    {
      "commit": "15c622d385ec46b4fc236b7445d016bc2ad699ef",
      "tree": "2393fe9be38e0d3487fce8381df9251e29959d54",
      "parents": [
        "b59f5fba91459ecf58a40b9b240ad99f30305939"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 19 16:24:10 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Feb 24 14:40:11 2020 +0000"
      },
      "message": "Revert \"Use 32 or 64 bit dex2oat explicitly depending on HOST_PREFER_32_BIT.\"\n\nThis reverts commit 8aa6a82003ce7ece4511996341021e7084d40b3a.\n\nReason for revert: Original issue is fixed by\nhttps://android-review.googlesource.com/c/platform/art/+/1239726\n\nTest: art/tools/buildbot-build.sh --host \\\n        \u0026\u0026 art/test/testrunner/testrunner.py --host --optimizing \\\n             -t 640-checker-integer-valueof\nBug: 149749169\nChange-Id: I77d2c1c66fb91b079452f29c40dfce26e7224f8a\n"
    },
    {
      "commit": "b59f5fba91459ecf58a40b9b240ad99f30305939",
      "tree": "d595d072a3c5f41ff9dada08dcc8f1e9341ea083",
      "parents": [
        "f639bf4c6b542553f727dc1a3262d9a4fd887fe5"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 19 16:22:48 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Feb 24 14:40:11 2020 +0000"
      },
      "message": "Revert \"Only append suffixes to dex2oat(d) on host.\"\n\nThis reverts commit f8f51c9697b1f2a41ea750703087e98c46402f08.\n\nReason for revert: Original issue is fixed by\nhttps://android-review.googlesource.com/c/platform/art/+/1239726\n\nTest: art/tools/buildbot-build.sh --host \\\n        \u0026\u0026 art/test/testrunner/testrunner.py --host --optimizing \\\n             -t 640-checker-integer-valueof\nBug: 149749169\nChange-Id: I2b2561b2889cfff6dce36ec24749953bde3ea733\n"
    },
    {
      "commit": "f639bf4c6b542553f727dc1a3262d9a4fd887fe5",
      "tree": "3f9b226a7a546665a7da18a375e48576251fcd53",
      "parents": [
        "26f7d102394748f8ec5f8c5342bf55e21bfb8ba5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Feb 20 17:07:55 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 24 14:16:09 2020 +0000"
      },
      "message": "Avoid dex2dex initialization if not compiling.\n\nReduces the compilation time for the boot image extension\nin memory by ~0.1s.\n\nAlso record timing for ImageWriter::PreloadDexCaches() and\nand fix naming for CompilerDriver::SetVerifiedDexFile()\ntiming to not be confused with VerifyDexFile().\n\nTest: aosp_taimen-userdebug boots;\n  adb root \u0026\u0026 \\\n  adb shell stop \u0026\u0026 \\\n  adb shell setprop dalvik.vm.boot-image \\\n    \u0027boot.art:/nonx/boot-framework.art!/system/etc/boot-image.prof\u0027 \u0026\u0026 \\\n  adb shell \u0027setprop dalvik.vm.extra-opts \\\n    \"-Ximage-compiler-option --dump-timings\"\u0027 \u0026\u0026 \\\n  adb shell start  # Starts correctly\n  # Check dex2oat timing in logcat\nBug: 119800099\nChange-Id: I72d1916164906cab593c1437eeb4b3aa094b8493\n"
    },
    {
      "commit": "26f7d102394748f8ec5f8c5342bf55e21bfb8ba5",
      "tree": "e23223c9e2f1a4037fba92594fae0c9e34c0eb63",
      "parents": [
        "6a8e66c753abdb53847107c1cb2f13e9114c811d"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Sat Feb 22 23:39:23 2020 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Sun Feb 23 02:41:17 2020 +0900"
      },
      "message": "Use {llndk,vndksp}.libraries.txt from VNDK APEX\n\n/system/etc/{llndk,vndksp}.libraries.txt files will be deprecated.\nThese files can be read from VNDK APEX.\n\nBug: 145184886\nTest: build / boot\n\nChange-Id: If96fe7c75538e7fa94542e9b4d1d68a16cfa5f62\n"
    },
    {
      "commit": "6a8e66c753abdb53847107c1cb2f13e9114c811d",
      "tree": "ea8ca2171ca63818e4d9c3dcdd1d9d80af16d96e",
      "parents": [
        "725da8fb9665abfb9c9c6aaca147120e46381b2d"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Feb 20 19:15:49 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 22 07:24:40 2020 +0000"
      },
      "message": "Remove JIT native debug info on failed commits.\n\nThis could happen if single-implementation assumptions are invalid,\nand would result in temporary double entries in JIT debug info.\n\nTest: ./art/test.py -b -r --host --gcstress --jit --32 -t 068\nChange-Id: I765c9310b6cc4fa440e4121780f8b9053388bd3d\n"
    },
    {
      "commit": "725da8fb9665abfb9c9c6aaca147120e46381b2d",
      "tree": "3d9540b88534e6ef8f049cd0935bb8f644362cde",
      "parents": [
        "e3de71cbb21332904316c37f00682e2f03e04783"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Feb 19 14:46:33 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 22 02:35:07 2020 +0000"
      },
      "message": "Fix race between dex-file registration and class-loader deletion\n\nWe keep track of class-loaders by having a list with jweak references\nto the dex-caches. When we register a new dex-file we check that the\ndex-cache hasn\u0027t already been registered with a different\nclass-loader. We decoded the jweak and performed this check this\nwithout any locks however meaning we could race with class-loader\ncleanup. This could cause CHECK failures as we try to decode a deleted\njweak.\n\nBug: 147206162\nTest: ./art/test/run-test --create-runner   --host --prebuild --compact-dex-level fast --optimizing --no-relocate --runtime-option -Xcheck:jni  2001-virtual-structural-multithread\n      ./art/tools/parallel_run.py\nChange-Id: Ibeb12ec3d42f7972d09b155b7c24743266897a54\n"
    },
    {
      "commit": "e3de71cbb21332904316c37f00682e2f03e04783",
      "tree": "147642170f03c6c8009316c7c812772314c08b93",
      "parents": [
        "8e2c036791eddae4894f32af5e57cc904639f641"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Tue Feb 18 15:52:56 2020 -0500"
      },
      "committer": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Fri Feb 21 21:16:14 2020 +0000"
      },
      "message": "Copy ubsan runtime prebuilt when building tests.\n\nThe UBSan runtime might be required if sanitizers with diagnostics\nare enabled in components. This adds the prebuilt to the out path such\nthat the built binaries can depend on it.\n\nBug: 148289941\nTest: art/test/testrunner/run_build_test_target.py art-linux-bionic-x64\nChange-Id: Ibf8d4a38781838690bd1211550925700ea3d57f3\n"
    },
    {
      "commit": "8e2c036791eddae4894f32af5e57cc904639f641",
      "tree": "453e64924baa33491088b7713d6217ada447cc60",
      "parents": [
        "1868de9c954e057c30ff9a086a213c86a75d7fb6"
      ],
      "author": {
        "name": "Joshua Duong",
        "email": "joshuaduong@google.com",
        "time": "Sun Feb 09 22:33:59 2020 -0800"
      },
      "committer": {
        "name": "Joshua Duong",
        "email": "joshuaduong@google.com",
        "time": "Fri Feb 21 21:07:49 2020 +0000"
      },
      "message": "[adbwifi] Add adbd apex exported libs to system namespace.\n\nThese libs will be used by system_server (libandroid_servers.so).\n\nBug: b/149181583\nBug: b/111434128\n\nTest: boots, adbd is not crashing.\nTest: cat /proc/`pidof system_server`/maps | grep libadb\nTest: cat /proc/`pidof adbd`/maps | grep libadb\nChange-Id: I3b62c24fee548a5d26d38004b375772bfbec1a54\n"
    },
    {
      "commit": "1868de9c954e057c30ff9a086a213c86a75d7fb6",
      "tree": "cea533316ad0d1605a62620571426c28fbae147b",
      "parents": [
        "5b768893456ca3a998b7a2a93490229febbec1cf"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Wed Feb 12 09:10:21 2020 -0800"
      },
      "committer": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Fri Feb 21 18:51:23 2020 +0000"
      },
      "message": "Refactor inliner\n\nThis change rearranges some of the inliner code. The main goal is to\nmake some of the larger functions more readable and make clearer how to\nmodify the inliner in the future.\n\nSome of the specific changes include:\n\n* Code to find the actually call target has been factored into a\n  separate method.\n\n* The call to TryInlineFromEarlyCache has been made into an early exit\n  rather than a fall through case. This lowers the indentation level for\n  the main inline case.\n\n* Split the initial checks for whether inlining is possible into\n  IsInliningAllowed, IsInliningSupported, and\n  IsInliningBudgetAvailable. This is to make it more clear why these\n  restrictions are in place. Note that some of these checks are now in a\n  different order.\n\n* Factor the checks that come after the inlined body has been optimized\n  into a separate method. These haven\u0027t been further broken down yet,\n  but this would be worthwhile future work.\n\n* Remove CanAllocateRegistersFor. We should be able to allocate\n  registers for any compiler we support, and if not, this should be\n  caught when we try to allocate registers instead.\n\nBug: 149392334\nTest: ./test/testrunner/testrunner.py --host --optimizing --no-jvmti --ndebug \\\n      \t\t\t\t      --64\nChange-Id: Ic1b919e306b7b93944ee5686e2a487b2190c087c\n"
    },
    {
      "commit": "5b768893456ca3a998b7a2a93490229febbec1cf",
      "tree": "4c88c226cd01758dccd0bbbeeca4d415c069813e",
      "parents": [
        "3cd802e4b80973b2c3893590c90d4bd5859d6dea"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 19 15:49:02 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Feb 21 13:05:33 2020 +0000"
      },
      "message": "Make `libart(d)-disassembler` a requirement of `libart(d)-compiler`.\n\nThe constructor of `art::HGraphVisualizerDisassembler` (which is part\nof `libart(d)-compiler.so`) may dynamically load\n`libart(d)-disassembler.so`; add `libart(d)-disassembler` to the\n`runtime_libs` property of module `libart(d)-compiler` to make sure\nthe former can be found.\n\nAlso promote the failure to dynamically load\n`libart(s)-disassembler.so` in\n`art::HGraphVisualizerDisassembler::HGraphVisualizerDisassembler` from\n`WARNING` to `ERROR`.\n\nTest: art/tools/buildbot-build.sh --host \\\n        \u0026\u0026 art/test/testrunner/testrunner.py --host --optimizing \\\n             -t 640-checker-integer-valueof\nBug: 149749169\nChange-Id: I307bdf8b71e47ed8da1d6d62ab688c500b3f9c80\n"
    },
    {
      "commit": "3cd802e4b80973b2c3893590c90d4bd5859d6dea",
      "tree": "dbccc5a561e591fb040104e36d5ff2e8fd16ff26",
      "parents": [
        "7fd13c925f1076cc75f69f032198d18de1def501"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Feb 20 15:31:20 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Feb 21 13:02:51 2020 +0000"
      },
      "message": "Better handle symlinks in flattened APEXes in `art_apex_test.py`.\n\nAPEXes can contain symlinks which appear broken on host, as they may\nreference files located under `/system` on device. For this reason,\navoid reading the size of a symlink\u0027s target present in a flattened\nAPEX in script `build/apex/art_apex_test.py`; instead, report the\nlength of the symlink\u0027s target\u0027s path as file size, like `ls`.\n\nTest: art/build/apex/runtests.sh -l -t -s\nChange-Id: I60dc53d94aa585e1ffa8633e775cb1a324ee5242\n"
    },
    {
      "commit": "7fd13c925f1076cc75f69f032198d18de1def501",
      "tree": "1ecb9e485064abcc3ab3492075a6adeb06dc2c58",
      "parents": [
        "eb4f08c577ca3d39d14ada321ea5f9c7444bd06a"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Feb 20 15:30:32 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Feb 21 10:12:41 2020 +0000"
      },
      "message": "Don\u0027t check the Host ART APEX when `HOST_PREFER_32_BIT` is `true`.\n\nThe Host ART APEX (`com.android.art.host`) is not built when\n`HOST_PREFER_32_BIT` equals `true`; remove it from the list of ART\nAPEXes verified by the `build/apex/runtests.sh` script.\n\nTest: env HOST_PREFER_32_BIT\u003dtrue art/build/apex/runtests.sh\nTest: env HOST_PREFER_32_BIT\u003dfalse art/build/apex/runtests.sh\nChange-Id: I4984212b70d8c231884bd85682a213532c7e5407\n"
    },
    {
      "commit": "eb4f08c577ca3d39d14ada321ea5f9c7444bd06a",
      "tree": "0018cd8ff6e7d0705d0662be909e0ff61b4d84f2",
      "parents": [
        "272b36d1b5cbab951239b32ed679a9dbc4ffdf1a"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Tue Feb 18 11:29:07 2020 +0900"
      },
      "committer": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Fri Feb 21 10:40:23 2020 +0900"
      },
      "message": "Use a different VNDK namespace for product apps\n\nAs product partition may have a different VNDK version than that of\nvendor partition, they may not share the same VNDK namespace for\ntheir apps.\nDefine a new vndk_product namespace in the system section for product\napps that uses ro.product.vndk.version.\n\nBug: 149063221\nTest: atest libnativeloader_test\nChange-Id: I1bb76617104a49b0d11af13d2f116959a18390a3\n"
    },
    {
      "commit": "272b36d1b5cbab951239b32ed679a9dbc4ffdf1a",
      "tree": "07e82dbd51885c2ff453da524fa2a46e48adf3ef",
      "parents": [
        "2ad7c98dda05b0c8a049895cd68b3d2850156912"
      ],
      "author": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Wed Feb 19 16:08:47 2020 +0900"
      },
      "committer": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Fri Feb 21 01:04:32 2020 +0000"
      },
      "message": "Rename APEX Namespace\n\nCurrent APEX Namespace is named with APEX name itself, which also uses\n.(dot) so linker configuration can keep the syntax safe.\n\nFor example, if there are APEX modules named \u0027A\u0027 and \u0027A.link.A\u0027, then\n\u0027namespace.A.link.A.link.A \u003d a.so\u0027 phrase can be ambiguous from the\nlinker. To allow any additional linker syntax in the future, we should\navoid dot separator from the namespace name.\n\nBug: 148826508\nTest: m -j passed\nTest: boot succeeded from cuttlefish and walleye\nChange-Id: I11b6da1b59b4ebf3016f1d783636c7e5d0f8309a\n"
    },
    {
      "commit": "2ad7c98dda05b0c8a049895cd68b3d2850156912",
      "tree": "57d33c8d60aeabc37bc364b0989b047f09b3c273",
      "parents": [
        "4d125afe9c92bc1d58da74355de80c4c38377eae"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 20 22:40:41 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 20 22:41:05 2020 +0000"
      },
      "message": "Revert \"Always put the framework profile in the boot image location.\"\n\nThis reverts commit 5265419a52ad11cea4771891c1269feaf56d7e40.\n\nBug: 143126914\nBug: 119800099\nBug: 149859910\n\nReason for revert: Odd messages from trace in b/149859910 leading to 20ms regression:\nDex file open from Zip Archive /system/framework/framework.jar\n\nChange-Id: I6f74d384fcd709f91d847a5360eb91498c1fa5fe\n"
    },
    {
      "commit": "4d125afe9c92bc1d58da74355de80c4c38377eae",
      "tree": "1fb6bb01da089787f22f3bdd59d9194d4f003667",
      "parents": [
        "5aa42926cf7728e34399847e81f3886d9cc7616f"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Oct 31 14:51:44 2019 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Feb 20 21:06:03 2020 +0000"
      },
      "message": "JIT mini-debug-info: Insert application entries at the head.\n\nSimpleperf expects that new entries will be added at the head.\nIt is easier to maintain that property than adjust simpleperf.\n\nBug: 143375574\nTest: test.py --host -b -r --jit --64\nChange-Id: Ib7aaa10d79791464b8233cacffd7c40070565f34\n"
    },
    {
      "commit": "5aa42926cf7728e34399847e81f3886d9cc7616f",
      "tree": "8e812a65f2acad56d8a4f52300cc79644d1acd75",
      "parents": [
        "ef46e101be0afb84898a9ac37af1f1f6c1677cf4"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Feb 20 17:20:12 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 20 19:02:13 2020 +0000"
      },
      "message": "Fix iteration in RemoveNativeDebugInfoForJit\n\nGet the next pointer before deletion clears it.\n\nChange-Id: Ic471d88a9a79e6b1b84e063f61c78bd2870eb76c\n"
    },
    {
      "commit": "ef46e101be0afb84898a9ac37af1f1f6c1677cf4",
      "tree": "fd0de3e4973695b8b36904607e003f7d26a8732d",
      "parents": [
        "e78b50eb15898ceae461ef016d510f7c941f9158"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Feb 20 13:44:11 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Feb 20 16:04:52 2020 +0000"
      },
      "message": "Do not verify dex files for --compiler-filter\u003dassume-verified.\n\nReduces the compilation time for the boot image extension\nwith said filter by over 0.5s (comparing the best observed\ntiming \"before\" to the worst observed timing \"after\").\n\nTest: aosp_taimen-userdebug boots;\n  adb root \u0026\u0026 \\\n  adb shell stop \u0026\u0026 \\\n  adb shell setprop dalvik.vm.boot-image \\\n    \u0027boot.art:/nonx/boot-framework.art!/system/etc/boot-image.prof\u0027 \u0026\u0026 \\\n  adb shell \u0027setprop dalvik.vm.extra-opts \\\n    \"-Ximage-compiler-option --compiler-filter\u003dassume-verified\"\u0027 \u0026\u0026 \\\n  adb shell start  # Starts correctly\n  # Check dex2oat timing in logcat\nBug: 119800099\n\nChange-Id: I3fc82c9485385ff5e0ccc5031e1141a685ee6c19\n"
    },
    {
      "commit": "e78b50eb15898ceae461ef016d510f7c941f9158",
      "tree": "3d93f9f6f0ae4682f56665384f495be174e036a5",
      "parents": [
        "b0ec679b1a5fc0c9e06f58212739d8e1fd97efa2"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Feb 18 12:25:40 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 20 14:10:54 2020 +0000"
      },
      "message": "Reuse factory methods for art extensions of cc module types\n\nPreviously, art created its own module types by using lower level\nmethods in cc such as cc.NewLibrary(...) and module.Init(), essentially\nduplicating the contents of factory methods like cc.LibraryFactory().\nAs a result when additional functionality was added to those factory\nmethods (e.g. sdk member support) the art module types did not benefit.\n\nThis changes switches the art soong types to use the factory methods\ninstead, removing the duplicated code and allowing them to be used as\nsdk members.\n\nTest: m checkbuild\nChange-Id: Ib12fe2e776c948c2b56f993562b8165fd867ab9b\n"
    },
    {
      "commit": "b0ec679b1a5fc0c9e06f58212739d8e1fd97efa2",
      "tree": "8782bb48a37f626498635e7a12ec39f49527e4e4",
      "parents": [
        "be0d3cff84c69c497487d39c4022d604a7907d5b"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Feb 06 20:18:17 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 20 13:11:22 2020 +0000"
      },
      "message": "Fix mini-debug-info generation for JIT tests\n\nThe info was missing if prebuilds were disabled and JIT was used.\n\nTest: Fixes some missing backtraces in gcstess test.\nChange-Id: I024e2d5be1a1274808739951ef6f0108c83bf9ff\n"
    },
    {
      "commit": "be0d3cff84c69c497487d39c4022d604a7907d5b",
      "tree": "15364a8eb252f9645bb1cf3f9fe9d2017f1ed5fa",
      "parents": [
        "5945de03b6f6b35bcf6a575b2291e29ae7a2b1ee"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 12 10:52:22 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 20 07:15:30 2020 +0000"
      },
      "message": "Remove remaining MIPS support.\n\nWith the exception of dwarf support in libelffile.\n\nTest: aosp_taimen-userdebug boots.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 147346243\nChange-Id: Ib25acbc98aa7f63ce49a7ed2f81a4a64d48eac39\n"
    },
    {
      "commit": "5945de03b6f6b35bcf6a575b2291e29ae7a2b1ee",
      "tree": "41b6e3ec202b198a2d55aedfd8181b9aa6b0555d",
      "parents": [
        "761ee217562c6c9615af0b73df137ecadcaca303"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 19 16:23:01 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 19 22:06:09 2020 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Add consistency CHECKs around ArtMethod fields.\"\"\"\n\nThis reverts commit f994025d8ebc8ef63d2083436daffc7f94363c80.\n\nReason for revert: Still hitting the failure.\n\nBug: 146765723\nChange-Id: Ie07300e9d2e605cd0281fb313d017680e77e8740\n"
    },
    {
      "commit": "761ee217562c6c9615af0b73df137ecadcaca303",
      "tree": "5fa7543c9fd5edd0e950b19a70412002e10bba47",
      "parents": [
        "0007e7305b8e1cb10b78504c6dfd14e50efb26b1"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Feb 19 20:47:43 2020 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Feb 19 20:47:43 2020 +0000"
      },
      "message": "Revert \"Remove non-required build targets from buildbot-build.sh\"\n\nThis reverts commit 0007e7305b8e1cb10b78504c6dfd14e50efb26b1.\n\nReason for revert: Breaks test-libcore step.\n\nChange-Id: Icb26b3181becb01a1a6850944df43e5a808a8b2c\n"
    },
    {
      "commit": "0007e7305b8e1cb10b78504c6dfd14e50efb26b1",
      "tree": "57a74df7fb92a9a22568bce12274f98678b6f55b",
      "parents": [
        "fa458ac21af98b3bdde2c62ed86b9c192b994372"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 19 08:57:05 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 19 16:11:35 2020 +0000"
      },
      "message": "Remove non-required build targets from buildbot-build.sh\n\nTest: run-libjdwp-tests, run-libcore-tests\nChange-Id: I91fd2be05c44fd4f69e2036da4fc38ea2e90eebb\n"
    },
    {
      "commit": "fa458ac21af98b3bdde2c62ed86b9c192b994372",
      "tree": "5fa7543c9fd5edd0e950b19a70412002e10bba47",
      "parents": [
        "99d91d18f9f73427eced2f22642520d50c3c3b83"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 12 14:08:07 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 19 16:08:34 2020 +0000"
      },
      "message": "Allow late lookup for @CriticalNative methods.\n\nTest: Add and enable tests in 178-app-image-native-method\nTest: Add and enable tests in jni_compiler_test\nTest: Manually step through the new stub in GDB and check\n      that backtrace works at various points.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: aosp_taimen-userdebug boots.\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing\nBug: 112189621\nChange-Id: If094e5062acbb99eefa88f2afb4815f93730cb82\n"
    },
    {
      "commit": "99d91d18f9f73427eced2f22642520d50c3c3b83",
      "tree": "e24e45f9e21734cf1fa8de69cc2108f5a44f0765",
      "parents": [
        "5265419a52ad11cea4771891c1269feaf56d7e40"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Tue Feb 18 07:22:05 2020 -0800"
      },
      "committer": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Tue Feb 18 07:22:05 2020 -0800"
      },
      "message": "Avoid implementation-defined behavior\n\nOn platforms where \u0027int\u0027 is 32 bits, shifting an \u0027int\u0027 by 31 bits\nis implementation-defined behavior.  While our toolchain is almost\ncertainly doing what we expect here, we switch to shifting an\nunsigned to assure it always does the right thing.\n\nTest: TreeHugger\nChange-Id: Ied2b5c98a27a43e091bf5819d1b37cc7b43b2906\n"
    },
    {
      "commit": "5265419a52ad11cea4771891c1269feaf56d7e40",
      "tree": "dc0da41c345264747c5a78865c4a4c35fad8d09c",
      "parents": [
        "58cc76d2102383b7474415b651a83b7551ab7f39"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 18 10:03:50 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 18 13:39:14 2020 +0000"
      },
      "message": "Always put the framework profile in the boot image location.\n\nThis enables testing an update of the ART module on the device.\n\nThis CL also removes the \"always compile native methods in JIT zygote\nconfiguration\" as it is now expensive to check, and in the future we\nshould get native methods in the profile.\n\nBug: 143126914\nBug: 119800099\n\nTest: boots, adb install com.android.art.apex works\nChange-Id: I6c67344c5081749b4b19d52acddd0d2a196adf4a\n"
    },
    {
      "commit": "58cc76d2102383b7474415b651a83b7551ab7f39",
      "tree": "e96515725411cfef116f73dad0b152763e24d6f1",
      "parents": [
        "641f155fa4433e2ec5b63be33bf4d7efdd6f1188"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 18 10:18:54 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 18 13:37:03 2020 +0000"
      },
      "message": "Fix braino in Jit::PostZygoteFork.\n\nThe logic for mapping boot image methods after fork is for a child\nzygote, so we should check as such (just as the comment mentions).\n\nNot doing the check leads to a race for a forked process with a child\nzygote, which if the boot image methods are not yet mapped, it would try\nto map them twice.\n\nTest: boots and no crashes in webview forked processes.\nBug: 119800099\nChange-Id: I19767d8e3b992e51274e232b41e10a0fe363f284\n"
    },
    {
      "commit": "641f155fa4433e2ec5b63be33bf4d7efdd6f1188",
      "tree": "1c8a172b2f9f20109912000469d0f10e90f287f7",
      "parents": [
        "f497663553ac861758ee9160798f8206a6b3563d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 18 06:26:24 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 18 12:51:31 2020 +0000"
      },
      "message": "Blacklist 096-array-copy-concurrent-gc on debuggable \u0026 gcstress \u0026 debug \u0026 host.\n\nIt has been consitently timing out lately.\n\nBug: 149708943\nTest: 096-array-copy-concurrent-gc\nChange-Id: I1659d6a0a2b822088a2e01a87b37ff8af033a838\n"
    },
    {
      "commit": "f497663553ac861758ee9160798f8206a6b3563d",
      "tree": "0db051d7b280c8b65631d21eb8cbd15ac01f1ced",
      "parents": [
        "a871d84c081114e73a2d5e5fe770d6f1d247669e"
      ],
      "author": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Wed Feb 12 07:42:48 2020 +0900"
      },
      "committer": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Tue Feb 18 00:52:56 2020 +0000"
      },
      "message": "Deprecate sys.linker.use_generated_config\n\nThis property is set from the script but there is no effective code to\nuse this property. Removing this property as it is no longer in use.\n\nBug: 149335054\nBug: 147737840\nTest: m -j passed\nTest: art/test/testrunner/testrunner.py --target --64\n      --optimizing -t 525 passed\nChange-Id: I2721bbd7794c7b7ff21bee21e64a1f91d18db57a\n"
    },
    {
      "commit": "a871d84c081114e73a2d5e5fe770d6f1d247669e",
      "tree": "7da8e358510bdc42e02674dda203e34bf3c2c6fe",
      "parents": [
        "f994025d8ebc8ef63d2083436daffc7f94363c80"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Feb 14 15:37:12 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Feb 17 17:32:03 2020 +0000"
      },
      "message": "Document symbols setup w.r.t. the Runtime APEX in `tools/buildbot-build.sh`.\n\nTest: n/a\nChange-Id: I40960c05e86ab7ec10726775a16a8b88fec5e2f8\n"
    },
    {
      "commit": "f994025d8ebc8ef63d2083436daffc7f94363c80",
      "tree": "e91c8b1beb52459d933bef97a2bef76587dcd3f8",
      "parents": [
        "2925311f957f50bbec2b034c98877d22f702ee76"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 06 16:23:15 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 17 15:31:37 2020 +0000"
      },
      "message": "Revert \"Revert \"Add consistency CHECKs around ArtMethod fields.\"\"\n\nThis reverts commit eeae32ba02c7d3785a8d195e967febfaa0b1113b.\n\nBug: 146765723\n\nReason for revert: Change can now land after:\nhttps://android-review.googlesource.com/c/platform/art/+/1236946\n\nChange-Id: I082c1cd20b8af4f83a5c7bb7853badcbe2ecb38b\n"
    },
    {
      "commit": "2925311f957f50bbec2b034c98877d22f702ee76",
      "tree": "31c6bd25134b287622c9998e016606ab2d84607b",
      "parents": [
        "f8f51c9697b1f2a41ea750703087e98c46402f08"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 17 09:40:14 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 17 14:09:02 2020 +0000"
      },
      "message": "Prevent entering IMT conflict trampoline with j.l.Object methods.\n\nThis ensures that only interface methods enter the trampoline.\n\nTest: 725-imt-conflict-object\nChange-Id: Id730d921f213ee0f6d927dea5df69d57be431df0\n"
    },
    {
      "commit": "f8f51c9697b1f2a41ea750703087e98c46402f08",
      "tree": "585dc76744f0c31aad46fb068ca4693e621ee8a5",
      "parents": [
        "303d8c28493e2011c806acdd328eedd34610fad4"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Sat Feb 15 03:48:42 2020 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Feb 17 12:23:32 2020 +0000"
      },
      "message": "Only append suffixes to dex2oat(d) on host.\n\nAmends https://r.android.com/1235151 which broke target testing.\n\nAlso move the logic for the --host argument out of the argument parsing\nloop to work correctly if it\u0027s specified multiple times.\n\nTest: art/test/testrunner/testrunner.py --target --64 -t 641-checker-arraycopy\n  (in ART test chroot)\nTest: lunch sdk-eng \u0026\u0026 art/tools/buildbot-build.sh --host \u0026\u0026 \\\n  art/test/run-test --host --optimizing 641-checker-arraycopy\n  (with and without HOST_PREFER_32_BIT\u003dtrue)\nBug: 148372405\n\nChange-Id: I64277db1a99ed409696dc8aae2f1982fc2a14c9d\n"
    },
    {
      "commit": "303d8c28493e2011c806acdd328eedd34610fad4",
      "tree": "0f755263f8fc6afb7fae6fa3a74d01d85208cea5",
      "parents": [
        "517e5cd243a544479de8712814dd67435eb74e5d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 14 15:44:22 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 17 09:24:34 2020 +0000"
      },
      "message": "Remove MIPS support from dexfuzz.\n\nTest: m dexfuzz\nBug: 147346243\nChange-Id: I135326516f5013e02fc0fc0d35986fc9e3b640c0\n"
    },
    {
      "commit": "517e5cd243a544479de8712814dd67435eb74e5d",
      "tree": "36ff28b169b362d04629cbe8fe86d738fc4bd485",
      "parents": [
        "5257503fa58c8c9d79051a7c691bfba3a9ef1c02"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 14 13:01:29 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 17 09:21:32 2020 +0000"
      },
      "message": "Filter image classes in RecordImageClassesVisitor.\n\nWe were previously filtering them only in ClinitImageUpdate.\nHowever, for --compiler-filter\u003dassume-verified we take an\nearly exit from CompilerDriver::PreCompile() and do not\nreach that code, so we need to filter in both places.\n\nTest: Manual, extract the dex2oat command for the framework\n      extension compilation from build logs and run it with\n      --compiler-filter\u003dassume-verified.\nBug: 119868597\nChange-Id: If82bc433828fc825cf5792e125a55bbc42cfccbb\n"
    },
    {
      "commit": "5257503fa58c8c9d79051a7c691bfba3a9ef1c02",
      "tree": "800e6efcf9258a32af1eeb10688854f233d96da3",
      "parents": [
        "0a5cad39cd1dbbfd6f335c5ff6f307a903bc5bf7"
      ],
      "author": {
        "name": "Jeffrey Huang",
        "email": "jeffreyhuang@google.com",
        "time": "Tue Feb 11 17:33:45 2020 -0800"
      },
      "committer": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Sun Feb 16 16:59:58 2020 -0800"
      },
      "message": "Add libstats_jni to linkerconfig/namespace\n\nAs part of statsd becoming a Mainline module, moving libstats_jni to the\napex requires adding it to the linker namespace here.\n\nBug: 145922701\nTest: m -j\nChange-Id: Ifcbea47cc36604e4a86df9af711d678b23012724\n"
    },
    {
      "commit": "0a5cad39cd1dbbfd6f335c5ff6f307a903bc5bf7",
      "tree": "940aa8d886fed28e76d0af813d75fe4df49b8cdc",
      "parents": [
        "8aa6a82003ce7ece4511996341021e7084d40b3a"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Feb 14 20:29:26 2020 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Sat Feb 15 01:18:01 2020 +0000"
      },
      "message": "Revert \"Revert \"Make class loader context fail for unknown class loaders\"\"\n\nThis reverts commit e9818ddd70565d52cc1cc93d6991d7e7ec2bc275.\n\nMake class loader context fail for unknown class loaders\n\nUpdate OatFileAssistant to fail the class loader check when getting an\nunknown (null) class loader. The code is only use in GetDexoptNeeded paths\nand does not affect the runtime behaviour.\n\nThis will enable dexoptanalyzer to provide the right answer for dex files\nwhose class loader changes often.\n\nTest: test-art-host\nBug: 147208643\n\nChange-Id: I2f8229fc25c018436c17439bdc9ac0899af25758\n"
    },
    {
      "commit": "8aa6a82003ce7ece4511996341021e7084d40b3a",
      "tree": "0693a1c8530183e0e88ccfe02ebdc246cae9f70c",
      "parents": [
        "e9818ddd70565d52cc1cc93d6991d7e7ec2bc275"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Feb 14 22:05:51 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 15 00:40:49 2020 +0000"
      },
      "message": "Use 32 or 64 bit dex2oat explicitly depending on HOST_PREFER_32_BIT.\n\nSince dex2oat(d) binaries now always are multilib\u003dboth, we need to pick\nthe right variant explicitly.\n\nTest: lunch sdk-eng \u0026\u0026 art/tools/buildbot-build.sh --host \u0026\u0026 \\\n  art/test/run-test --host --optimizing 641-checker-arraycopy\n  (with and without HOST_PREFER_32_BIT\u003dtrue)\nBug: 148372405\nChange-Id: I7edbff69c3a21d872aa02413718500410c6d1786\n"
    },
    {
      "commit": "e9818ddd70565d52cc1cc93d6991d7e7ec2bc275",
      "tree": "c2deb578605ebfa0511532b8d7ca908fa4c71092",
      "parents": [
        "1d852c36ad84e6f32132b215af079546300bfc28"
      ],
      "author": {
        "name": "Stefania Halac",
        "email": "shalac@google.com",
        "time": "Fri Feb 14 17:58:26 2020 +0000"
      },
      "committer": {
        "name": "Stefania Halac",
        "email": "shalac@google.com",
        "time": "Fri Feb 14 19:36:44 2020 +0000"
      },
      "message": "Revert \"Make class loader context fail for unknown class loaders\"\n\nThis reverts commit 2d3de3a40015af07f7645a298f77b398af0c6c2c.\n\nReason for revert: 8s regression in boot time b/149517940\n\nChange-Id: I81365d1bd63c691d715b8f970dac9da64ab419ff\n"
    },
    {
      "commit": "1d852c36ad84e6f32132b215af079546300bfc28",
      "tree": "a16b15d65bdc54e384bc42f594d9f28ed104ce42",
      "parents": [
        "250a6e70fdf278f4881da36653c147503bb13ade"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Feb 14 16:38:11 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Feb 14 18:46:05 2020 +0000"
      },
      "message": "Ensure `adbd` has root permissions before pushing files to ART\u0027s chroot dir.\n\nRun `adb root` at the beginning of `tools/buildbot-sync.sh` to make\nsure `adb` is able to push files to ART\u0027s chroot testing\nenvironment. This is just a precaution, as we expect\n`tools/buildbot-setup-device.sh` to perform this action beforehand.\n\nTest: art/tools/buildbot-build.sh --target \\\n        \u0026\u0026 art/tools/buildbot-setup-device.sh\n        \u0026\u0026 art/tools/buildbot-sync.sh\nBug: 34729697\n\nChange-Id: I14b072e43cc0b004aacf00488a7ca313227e038d\n"
    },
    {
      "commit": "250a6e70fdf278f4881da36653c147503bb13ade",
      "tree": "f3c83d639fa468b68594012f3daa659fa2956c68",
      "parents": [
        "67e4a4db302b69fe6e2242aef56f5512bfa8cb34"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Feb 13 17:53:30 2020 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Feb 14 15:45:00 2020 +0000"
      },
      "message": "Revert \"Temporarily disable AddMoreDexFileThanLimitBoot.\"\n\nThis reverts commit 09bc077001af2a071e4afb85fbe6a9bbfa9ed3d1.\n\nReason for revert: Original test fixed.\n\nBug: 149481706\n\nChange-Id: I6f173b351f1a40c268ede4bb77c325cc23ccfd6b\n"
    },
    {
      "commit": "67e4a4db302b69fe6e2242aef56f5512bfa8cb34",
      "tree": "e52dc2c6fd6f8b97e00604307c547ecf35f8df0b",
      "parents": [
        "41b605c5ad4b06ea127ac56c6e3a4c92e8913efd"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Feb 06 15:11:36 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 14 15:31:47 2020 +0000"
      },
      "message": "ART: ARM64: Improve FP IsInfinity intrinsic.\n\nImprove instruction choice; the change brings 4.5%\nperf improvement on a simple microbenchmark.\n\nTest: test-art-target.\nTest: 082-inline-execute.\nChange-Id: I5117d9740caf788d7f0170d3f90a3631e6e57c1b\n"
    },
    {
      "commit": "41b605c5ad4b06ea127ac56c6e3a4c92e8913efd",
      "tree": "f7b28eb11051f3faada99c11dc594cccd34a5786",
      "parents": [
        "30b38f8d01cdb4c80092638f23c61d73e0d287f4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 12 10:52:22 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 14 12:01:58 2020 +0000"
      },
      "message": "Remove MIPS support from runtime/.\n\nTest: aosp_taimen-userdebug boots.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 147346243\nChange-Id: If1fc8be94caa69f734438d7a1f4c715addfd8876\n"
    },
    {
      "commit": "30b38f8d01cdb4c80092638f23c61d73e0d287f4",
      "tree": "c1c37ea305aabd3a81cff52d76eda386724288de",
      "parents": [
        "013e208bddd2ea316390429113ca1f43b3924ac2"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Feb 13 15:17:32 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 14 11:29:23 2020 +0000"
      },
      "message": "Remove MIPS mterp.\n\nTest: aosp_taimen-userdebug boots\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 147346243\nChange-Id: Ie2509fd87f302bb370d759db0ee205a6dd3ac54f\n"
    },
    {
      "commit": "013e208bddd2ea316390429113ca1f43b3924ac2",
      "tree": "86b7c6136adae543040c874bc703dc37a236267f",
      "parents": [
        "e1a445158f65ad7eb47deee7f0fa580e34e836df"
      ],
      "author": {
        "name": "Flash Liu",
        "email": "flash.liu@mediatek.com",
        "time": "Thu Oct 31 11:18:55 2019 +0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 13 23:16:48 2020 +0000"
      },
      "message": "Make AdbConnectionState statically\n\nAsan detected UAF on runtime-callbacks.\nThis makes AdbConnectionState allocated on plugin-init\nand does not remove on callback.\n\nBug: 143739105\nTest: boot device with adbconnection on asan load\nTest: atest CtsJdwpTunnelHostTestCases\nChange-Id: Ia5a547235f23ad12ead97186b4d1dfa2f08abb63\n"
    },
    {
      "commit": "e1a445158f65ad7eb47deee7f0fa580e34e836df",
      "tree": "d3948eede8c2b54b5dc3349995564a71b8b12631",
      "parents": [
        "71dfc9cfcf3bf6ddd9292d21f3569a62660c5d63"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Jan 31 22:43:43 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 13 22:21:42 2020 +0000"
      },
      "message": "Compile host dex2oat for 64 bit even when HOST_PREFER_32_BIT is set.\n\nBug: 148312086\nBug: 148372405\nTest: env OUT_DIR\u003dout-buildbot HOST_PREFER_32_BIT\u003dtrue TARGET_BUILD_TYPE\u003drelease TARGET_BUILD_VARIANT\u003deng TARGET_PRODUCT\u003dsdk build/soong/soong_ui.bash --make-mode SOONG_ALLOW_MISSING_DEPENDENCIES\u003dtrue TEMPORARY_DISABLE_PATH_RESTRICTIONS\u003dtrue build-art-host-tests vogar core-tests apache-harmony-jdwp-tests-hostdex jsr166-tests libartpalette-system mockito-target dx-tests junit-host libjavacoretests-host libjdwp-host libwrapagentproperties-host libwrapagentpropertiesd-host\nTest: lunch sdk-eng \u0026\u0026 art/tools/buildbot-build.sh --host \u0026\u0026 m test-art-host-gtest\nTest: m art-job-images\nChange-Id: I81a812ef5e9324156fd2dcc8abe5bff4097dacb9\n"
    },
    {
      "commit": "71dfc9cfcf3bf6ddd9292d21f3569a62660c5d63",
      "tree": "084b468a5c2cef6466fec921e199a86531804d93",
      "parents": [
        "c1375633bce5b5fa5df650541fb551368180cb9b"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Jan 09 15:57:18 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 13 22:21:42 2020 +0000"
      },
      "message": "Reland: Make dex2oat(d) visible for use as implicit dexpreopt tool deps.\n\nThis relands https://r.android.com/1205787.\n\nBug: 145934348\nTest: m\nChange-Id: I16d4fd22395041448a0a1eecb013771e13fd7bb7\n"
    },
    {
      "commit": "c1375633bce5b5fa5df650541fb551368180cb9b",
      "tree": "c18b0f9c5e51c29fac7cbd2d28ccb3eecf05dc42",
      "parents": [
        "8ee6d8fa7071d60c0db95181603f9317b48bda3e"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Thu Feb 13 10:37:03 2020 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 13 19:37:40 2020 +0000"
      },
      "message": "One more missing Result::ok() in native_loader_test.cpp\n\nTest: m checkbuild\nChange-Id: Ic7725afd2d0fd97ea0ced59e48455b92ae433047\n"
    },
    {
      "commit": "8ee6d8fa7071d60c0db95181603f9317b48bda3e",
      "tree": "9266554b6d9765e523e3bd0905094dd0a96f3e3d",
      "parents": [
        "09bc077001af2a071e4afb85fbe6a9bbfa9ed3d1"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Fri Feb 07 09:46:12 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 13 18:47:06 2020 +0000"
      },
      "message": "Add script to compile Java Language to odex files\n\nThis is a simple script to generate optimized arm64 odex files from Java\nLanguage source files. It is meant for compiling small Java Language\nsnippets to inspect the quality of the generated assembly. The script\nalso produces a CFG file to investigate the effect of individual\ncompiler passes.\n\nBug: 148973719\nChange-Id: Iaefb2e6cfb49b6cbbf04f70dc97dc7dfb934511b\n"
    },
    {
      "commit": "09bc077001af2a071e4afb85fbe6a9bbfa9ed3d1",
      "tree": "3b2983b6ed0dc77639943843905aacd285a3ff26",
      "parents": [
        "2c8123c1480dcd42e31963697264fca7ad6fa154"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Feb 13 09:20:00 2020 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Feb 13 09:20:00 2020 -0800"
      },
      "message": "Temporarily disable AddMoreDexFileThanLimitBoot.\n\nBug: 149481706\n\nTest: Ran the gtests and verified the test doesn\u0027t run.\nChange-Id: I3e9d2c0e37e2b58763a2d89c00dfd358e5f2dbb5\n"
    },
    {
      "commit": "2c8123c1480dcd42e31963697264fca7ad6fa154",
      "tree": "9599252703d41b43ac973c38032385b303bcb9c8",
      "parents": [
        "c3f2fe95ef4f3a51039e497b02b978e7d85ee3fa"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 12 10:52:22 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Feb 13 15:07:15 2020 +0000"
      },
      "message": "Remove MIPS support from JNI/trampoline compiler.\n\nAlso remove MIPS assembler/disassembler support.\n\nTest: aosp_taimen-userdebug boots.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 147346243\nChange-Id: Id736074b97cd04987a7902741828b119508df1c0\n"
    },
    {
      "commit": "c3f2fe95ef4f3a51039e497b02b978e7d85ee3fa",
      "tree": "ff710750b8ce62472337def9453439011ffdc885",
      "parents": [
        "54f4fbd1a6834f06dc9b644b865423fdc03afb15"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 12 19:40:20 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Feb 13 13:17:30 2020 +0000"
      },
      "message": "Use `eval` instead of re-executing `bash` in `tools/buildbot-build.sh`.\n\nWhen evaluating a string to run it as a command in Bash script\n`tools/buildbot-build.sh`, use the `eval` builtin instead of executing\nanother instance of the shell via `bash -c`.\n\nTest: art/tools/buildbot-build.sh\nChange-Id: Ia33c2fca7b94d41505107659724c18c5cb1b6ef9\n"
    },
    {
      "commit": "54f4fbd1a6834f06dc9b644b865423fdc03afb15",
      "tree": "4f55b2a196453a8a197a1787a688cc299682e55d",
      "parents": [
        "2d3de3a40015af07f7645a298f77b398af0c6c2c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 12 10:52:22 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Feb 13 09:14:02 2020 +0000"
      },
      "message": "Remove MIPS support from Optimizing.\n\nTest: aosp_taimen-userdebug boots.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 147346243\nChange-Id: I97fdc15e568ae3fe390efb1da690343025f84944\n"
    },
    {
      "commit": "2d3de3a40015af07f7645a298f77b398af0c6c2c",
      "tree": "360b130e574af9a5e837ebd9d2585de29db34f65",
      "parents": [
        "c55032774cfec4b5222b362a81a3b8b69e133710"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Feb 11 16:49:47 2020 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Feb 12 19:22:17 2020 +0000"
      },
      "message": "Make class loader context fail for unknown class loaders\n\nUpdate OatFileAssistant to fail the class loader check when getting an\nunknown (null) class loader. The code is only use in GetDexoptNeeded paths\nand does not affect the runtime behaviour.\n\nThis will enable dexoptanalyzer to provide the right answer for dex files\nwhose class loader changes often.\n\nTest: test-art-host\nBug: 147208643\nChange-Id: I869109e669e68afe094e7703ed574575b98d7cc6\n"
    },
    {
      "commit": "c55032774cfec4b5222b362a81a3b8b69e133710",
      "tree": "f925d517eec0d7c00a8d4a421fd6c83818cec155",
      "parents": [
        "e0ac2f36724e15f3e328ede92877fb9e512d3fc6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 11 10:01:18 2020 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 12 19:15:04 2020 +0000"
      },
      "message": "Use stack for first scope in VariableSizedHandleScope\n\nVariableSizedHandleScope commonly doesn\u0027t have that many handles,\navoid doing an allocation for those cases.\n\nTest: test-art-host\nChange-Id: Iaf6c502723a239b1a2e861152efa37f4ef66431b\n"
    },
    {
      "commit": "e0ac2f36724e15f3e328ede92877fb9e512d3fc6",
      "tree": "531e7346cfa802a4bdc426da3df8e7532b0acb03",
      "parents": [
        "8bc5991a4452b64df84fbfba139a168ce6d46ccb"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 12 17:19:25 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 12 18:56:58 2020 +0000"
      },
      "message": "Show linker configuration files generated in the ART chroot environment.\n\nHave `tools/buildbot-sync.sh` display the list of generated linker\nconfiguration files after running `linkerconfig` within the on-device\nchroot environment.\n\nTest: art/tools/buildbot-build.sh --target \\\n        \u0026\u0026 art/tools/buildbot-setup-device.sh\n        \u0026\u0026 art/tools/buildbot-sync.sh\nBug: 149376737\n\nChange-Id: Id7103a528562aa15f40594c9dddec09fb444a1de\n"
    },
    {
      "commit": "8bc5991a4452b64df84fbfba139a168ce6d46ccb",
      "tree": "3956a7cca51cdcb5c1c4d5de2cd2e7569200ff8e",
      "parents": [
        "f0e99bd50f2010e93a63d5675d3646afac73b37f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 12 10:52:22 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 12 16:57:26 2020 +0000"
      },
      "message": "Remove MIPS support from dex2oat.\n\nTest: aosp_taimen-userdebug boots.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 147346243\nChange-Id: Id29631ca0344d5bd4fcc8df7605580c9ed628f72\n"
    },
    {
      "commit": "f0e99bd50f2010e93a63d5675d3646afac73b37f",
      "tree": "b710502c0734728ab7b2660f87fe848954ccfc4d",
      "parents": [
        "b584ea49a29150cb76e07648d683fde1828faed5"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Feb 11 22:57:14 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 12 16:45:29 2020 +0000"
      },
      "message": "Remove old \"platform\" namespace name in a few remaining places.\n\nFollow-up to https://r.android.com/1220299.\n\nTest: atest libnativeloader_test\nBug: 147987608\nChange-Id: Ib5849c9a9f5dbde1bf2a85aad2fe96cc2a394f31\n"
    },
    {
      "commit": "b584ea49a29150cb76e07648d683fde1828faed5",
      "tree": "3d0e3992d33260bef423ff2f7d7d0eb50fdab7c4",
      "parents": [
        "2d348670be819733a9b5e08a6753f4f6a72c79ac"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Feb 12 12:28:37 2020 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Feb 12 14:47:59 2020 +0000"
      },
      "message": "Relax the check for dexpreopt files in the ART apex.\n\nThis is to fix builds that set WITH_DEXPREOPT\u003dfalse variable in Make.\n\nTest: aosp_walleye-userdebug builds.\nTest: aosp_walleye-eng builds with a temporary patch in\n  build/make/core/board_config.mk that disables dexpreopt:\n    -ifeq ($(HOST_OS),linux)\n    -  WITH_DEXPREOPT :\u003d true\n    -endif\n    +# ifeq ($(HOST_OS),linux)\n    +#   WITH_DEXPREOPT :\u003d true\n    +# endif\n\nBug: 149273451\n\nChange-Id: I376e01760ea238b1f45f7e236d3c391c1d068c23\n"
    },
    {
      "commit": "2d348670be819733a9b5e08a6753f4f6a72c79ac",
      "tree": "275268a767cac98b9ae99cd841e4a47e4325c12e",
      "parents": [
        "6e043bbc1d9abd1d1d3247040f6cdc82a79f47be"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Wed Feb 12 15:14:15 2020 +0900"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 12 14:05:30 2020 +0000"
      },
      "message": "Generate linker config after apex activation\n\nSince linkerconfig relies on acivated apex, apex activation should be\nperformed before calling linkerconfig.\n\nBug: N/A\nTest: art/tools/run-gtests.sh (art/test/README.md)\nChange-Id: Ibde1dbe95b751ad6237642c1fc91f59b8d7d97a6\n"
    },
    {
      "commit": "6e043bbc1d9abd1d1d3247040f6cdc82a79f47be",
      "tree": "02470465a0426e02d15525e171c6b3bbef3d60a6",
      "parents": [
        "ac5ae3cf5dc4c5f87293c45a1d6999f8d1515b39"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 10 16:56:54 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 12 13:21:28 2020 +0000"
      },
      "message": "Rewrite GenericJNI frame setup.\n\nMove the handle scope out of the managed frame, move the\nregister values to load to the bottom of the reserved area\nand pass the hidden argument to @CriticalNative methods to\nprepare for implementing late lookup.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing --interp-ac\nTest: aosp_taimen-userdebug boots.\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing --interp-ac\nBug: 112189621\nChange-Id: I4672176f9627bcbebafebb3dda0d02b8108e1329\n"
    },
    {
      "commit": "ac5ae3cf5dc4c5f87293c45a1d6999f8d1515b39",
      "tree": "17a467da0e6fad3ad0fe90ddcc5ff23e9cfe313a",
      "parents": [
        "af322429596b744d611aeebe3bbaa1003ff64717"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Wed Feb 12 10:43:42 2020 +0900"
      },
      "committer": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Wed Feb 12 10:43:42 2020 +0900"
      },
      "message": "Convert native_loader_test.cpp to Result::ok()\n\nTest: m checkbuild\nChange-Id: I9feb590e37174fa5021f69bf55dbfffba957584d\n"
    },
    {
      "commit": "af322429596b744d611aeebe3bbaa1003ff64717",
      "tree": "5fee634834ffda7f35396270f09be8768744cb62",
      "parents": [
        "e6e634e98e03af93ee367bbdf6cfaf3673d94d14"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Feb 11 13:45:53 2020 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Feb 12 00:50:07 2020 +0000"
      },
      "message": "Do not check for collision if we only extracted the apk\n\nThere is no need to check for collisions or verify the class loader\ncontext if the verification is not enabled for the oat file.\n\nThis prevents the collision checks or dex2oat reruns when we only\nextracted the dex files from apk and fixes.\n\nTest: test-art-host\nBug: 147208643\nChange-Id: I84e77baa89fe36705cc650ff21f95b244e7941d4\n"
    },
    {
      "commit": "e6e634e98e03af93ee367bbdf6cfaf3673d94d14",
      "tree": "76e04418401432f4cabb7739690dedc5e174d15b",
      "parents": [
        "5e251ead219d8e9f4bb1e8c53f222f91d798d653"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Feb 10 13:50:42 2020 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Feb 12 00:02:04 2020 +0000"
      },
      "message": "Remove test 1944\n\nThis test checked that we would not crash due to an interaction\nbetween atexit handlers and thread suspension. The bug was fixed but\nthis test is actually rather flaky due to the inherently\nmulti-threaded nature of library unloading. Since this test isn\u0027t very\nuseful on its own and to quiet the noisy flakes we are removing the\ntest entierly.\n\nBug: 76081508\nTest: ./test.py --host\nChange-Id: I7951c671c412b6148f4c1ae54ec6c739a4aa70a2\n"
    },
    {
      "commit": "5e251ead219d8e9f4bb1e8c53f222f91d798d653",
      "tree": "6f7c571e468f07de198f5a8021f702ee40010c45",
      "parents": [
        "8206ae846173c98b386d56ff3f290ad74a30b291"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 09 10:55:49 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 11 23:39:56 2020 +0000"
      },
      "message": "Change j.l.r.Field to use ArtField index instead of dexFileIndex\n\nUsing the dexFileIndex to determine the ArtField a\njava.lang.reflect.Field object points to requires us to use a\ndex-cache and to update all existing Field objects if this index\nchanges (for example due to class redefinition). This could be rather\nslow. This replaces the dex-file index with the index into the\ndeclaring class\u0027s SFields/IFields arrays where the specified ArtMethod\nis stored.\n\nBug: 149236640\nTest: ./test.py --host\n\nChange-Id: I9a7d69903ece0ea94e3b3e93b4c8a872ac4073e8\n"
    },
    {
      "commit": "8206ae846173c98b386d56ff3f290ad74a30b291",
      "tree": "85c8ab98f5ec81addce43be6b3fd7f4297a35c9c",
      "parents": [
        "98cf82f227fa8fab694674e72a9a2ca95face4b5"
      ],
      "author": {
        "name": "satayev",
        "email": "satayev@google.com",
        "time": "Tue Feb 11 02:33:31 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 11 22:11:46 2020 +0000"
      },
      "message": "Revert \"Fix Core Platform API JNI check\"\n\nThis reverts commit 6c56db31b8a6424680ad3836022a1d81e83dc4a9.\n\nReason for revert: potential culprit b/149238651\n\nBug: 144502743\nBug: 149238651\n\nChange-Id: I719ecaff2c9486776b165918607a2df2ee23d56d\n"
    },
    {
      "commit": "98cf82f227fa8fab694674e72a9a2ca95face4b5",
      "tree": "104b438ec54707e44648ad2e26a65a9774a0a50f",
      "parents": [
        "089c1357c6e5457a7bd5e76f70cead52517d9b0b"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Sat Feb 08 03:53:54 2020 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 11 19:00:38 2020 +0000"
      },
      "message": "Use apex name for apex linker namespace\n\nLinkerconfig now uses apex_names to automatically generate linker\nnamespaces from apexes.\n\nBug: 148826508\nTest: build / boot\nChange-Id: Id7fa68531033124727e618284af4fd2a61bdd85f\n"
    },
    {
      "commit": "089c1357c6e5457a7bd5e76f70cead52517d9b0b",
      "tree": "6dcf1a604aa163515b5e04280bfe6188dab93eec",
      "parents": [
        "860ab3748c3d112eec41abb57c801bb4f150521d"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Thu Feb 06 16:53:08 2020 +0900"
      },
      "committer": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Mon Feb 10 19:14:58 2020 +0000"
      },
      "message": "Use product vndk version for product apps\n\nro.vndk.version is only for vendor modules. Product modules use\ndifferent vndk version that is set in ro.product.vndk.version.\nUse product vndk version for creating namespaces for product apps.\n\nBug: 148823287\nTest: atest libnativeloader_test\nChange-Id: Iade4b3ca846f1e47e5138f2ceda81bf188276a91\n"
    },
    {
      "commit": "860ab3748c3d112eec41abb57c801bb4f150521d",
      "tree": "433b4132fdcaa55d48acef6c146038d5f1ed8e21",
      "parents": [
        "18dc023800c1c3f751bb5a11208d176a6d9a7c78"
      ],
      "author": {
        "name": "Christoffer Quist Adamsen",
        "email": "christofferqa@google.com",
        "time": "Mon Feb 10 10:33:02 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 10 17:13:22 2020 +0000"
      },
      "message": "Add bootclasspath elements to bootclasspath when dexing tests\n\nChange-Id: I04c77f9772d4eb20f7e305b97758a80cecfb7b5f\nTest: art/test/testrunner/testrunner.py -b --host\n"
    },
    {
      "commit": "18dc023800c1c3f751bb5a11208d176a6d9a7c78",
      "tree": "1acde77854f4bd510970167bae4570f65b5a1df3",
      "parents": [
        "8c8f148bdde5eeb799dd802d861149b3e0f538c5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 10 14:29:45 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 10 16:40:02 2020 +0000"
      },
      "message": "Remove obsolete CHECKs for image dex file location.\n\nThese checks are not valid for --single-image extensions or\nfor extensions after boot class path components without\ncorresponding images. Instead of updating these checks,\nrely on the checks done by the ImageSpace::LoadBootImage().\n\nTest: aosp_taimen-userdebug boots when built with\n      `DEXPREOPT_USE_ART_IMAGE\u003dtrue`. Then\n      adb root \u0026\u0026 \\\n      adb shell setprop persist.sys.dalvik.vm.lib.2 libartd.so \u0026\u0026 \\\n      adb reboot  # Starts correctly.\nTest: adb root \u0026\u0026 \\\n      adb shell stop \u0026\u0026 \\\n      adb shell setprop dalvik.vm.boot-image \\\n          \u0027boot.art:/nonx/boot-framework.art!/system/etc/boot-image.prof\u0027 \u0026\u0026\n      adb shell start  # Starts correctly; no tombstones.\nBug: 119800099\nChange-Id: Id6615a8ac6b423c5f0784f3c0f621bcc016073b7\n"
    },
    {
      "commit": "8c8f148bdde5eeb799dd802d861149b3e0f538c5",
      "tree": "c060009c0ee265f196c7b39edc2f2a6aa2696dab",
      "parents": [
        "5c33d35bf3bd0d824e94784312fe3ddb823028d1"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Feb 05 20:17:10 2020 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Feb 10 16:05:59 2020 +0000"
      },
      "message": "Add blueprint modules to generate jar files for gtests.\n\nThis will be needed to run gtests under atest.\nThe output is unused for now.\n\nSome of the tests in makefile were renamed for consistency.\n\nTest: m test-art-host-gtest\nBug: 147819342\nBug: 147817606\nChange-Id: I96db24406881a2adeeec7889f04681ae18352b16\n"
    },
    {
      "commit": "5c33d35bf3bd0d824e94784312fe3ddb823028d1",
      "tree": "a6056e5f6a9009da93355dd00fd73caf66f1f6fc",
      "parents": [
        "b5a78564d66c903c0073e429d71241be60f51bdf"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 10 12:29:13 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 10 15:48:15 2020 +0000"
      },
      "message": "Reinstate exception check in GenericJni stubs.\n\nThe error check was erroneously removed in\n    https://android-review.googlesource.com/1178884\nwhere we removed the native method lookup from the\nartQuickGenericJniTrampoline(). As the locking is now the\nonly remaining operation that can fail, update the comment\nfor the check. Regression test would be rather difficult to\nadd as we would need to force OOME during lock inflation.\n\nAlso clean up unlocking code in GenericJniMethodEnd().\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: aosp_taimen-userdebug boots.\nBug: 112189621\nChange-Id: I598d5f86a58c0b6171f0b2528504aba495f1b6d8\n"
    },
    {
      "commit": "b5a78564d66c903c0073e429d71241be60f51bdf",
      "tree": "bc0ea6d7e1807a59764969a3062184b05d08ad2c",
      "parents": [
        "15ff34d6e8b3e8ba3f29a53ecd90439055d90964"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Feb 07 12:33:24 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Feb 10 15:12:20 2020 +0000"
      },
      "message": "No longer adjust the linker configuration file in ART chroot environments.\n\nThe linker configuration file adjustment logic is no longer needed in\nAndroid R builds, now that `/linkerconfig/ld.config.txt` is:\n1. always generated by `/system/bin/linkerconfig`;\n2. always being picked up by Bionic\u0027s linker before alternatives\n   linker configuration files.\n\nTest: Run ART tests in a chroot environment on an Android R \"host device\"\nTest: Run ART tests in a chroot environment on an Android Q \"host device\"\nBug: 34729697\nBug: 147737840\nBug: 148171362\nChange-Id: Ic9142a4ce0f9b7098fbcf336494369166ae4c935\n"
    },
    {
      "commit": "15ff34d6e8b3e8ba3f29a53ecd90439055d90964",
      "tree": "b18ae5bfeb3e5231991895d982d529895c1e3686",
      "parents": [
        "f0eaada43679ea9d0c9258904bf84e411fbadee9"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 05 19:55:34 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Feb 10 15:12:20 2020 +0000"
      },
      "message": "Generate a linker configuration file for chroot-based ART testing.\n\nBuild `/system/bin/linkerconfig` as part of ART chroot-based target\ntesting builds, include it in sync\u0027d files, and invoke it in\n`tools/buildbot-sync.sh` to generate a linker configuration file for\nthe chroot environment. Adjust the linker configuration file path\nlogic in `tools/buildbot-sync.sh` to match the one in top-of-tree\nBionic linker code.\n\nTest: Run ART tests in a chroot environment on an Android R \"host device\"\nTest: Run ART tests in a chroot environment on an Android Q \"host device\"\nBug: 34729697\nBug: 147737840\nBug: 148171362\nChange-Id: I457d8c75988b6a9254b7ac9db3642f40f4271f1d\n"
    },
    {
      "commit": "f0eaada43679ea9d0c9258904bf84e411fbadee9",
      "tree": "5492312b67b716b410f5725994c882eb64f6b370",
      "parents": [
        "f7e99d5ba0d55effc03986815a41f5d3ea703537"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Feb 09 22:21:26 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Feb 09 22:24:50 2020 +0000"
      },
      "message": "Revert \"[art] Enable compilation of secondary dexes by default i...\"\n\nRevert \"[dexopt] Allow secondary dex files to generate app images\"\n\nRevert submission 1210624-secimg\n\nBug: 149098478\nBug: 149168708\n\nReason for revert: Tests fail on device\nReverted Changes:\nI87a0c2698: [art] Fix, re-enable and expand 596-app-images\nI73592c597: [art] Enable compilation of secondary dexes by def...\nI6cff0c8f2: [art] Expand test coverage of secondary app images...\nIaa04175ee: [dexopt] Allow secondary dex files to generate app...\n\nChange-Id: I4ac5963e892ab8808312966884a5491d9d9e817b\n"
    },
    {
      "commit": "f7e99d5ba0d55effc03986815a41f5d3ea703537",
      "tree": "dd7795f5fba033ff90c95a780be4757b3f722419",
      "parents": [
        "439c752186f5d5d21837f105e6ac86d68030a6b2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Feb 09 22:21:26 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Feb 09 22:24:50 2020 +0000"
      },
      "message": "Revert \"[art] Fix, re-enable and expand 596-app-images\"\n\nRevert \"[dexopt] Allow secondary dex files to generate app images\"\n\nRevert submission 1210624-secimg\n\nBug: 149098478\nBug: 149168708\n\nReason for revert: Tests fail on device\nReverted Changes:\nI87a0c2698: [art] Fix, re-enable and expand 596-app-images\nI73592c597: [art] Enable compilation of secondary dexes by def...\nI6cff0c8f2: [art] Expand test coverage of secondary app images...\nIaa04175ee: [dexopt] Allow secondary dex files to generate app...\n\nChange-Id: Ibfcf6e050346f525585fc9678c49abbb753538a8\n"
    },
    {
      "commit": "439c752186f5d5d21837f105e6ac86d68030a6b2",
      "tree": "ca635da5a2202861f903b13c4cbaa2d6e3ce74b3",
      "parents": [
        "630966bd41a2f2151d89bae6155903ccc72b9820"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Feb 09 22:21:26 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Feb 09 22:24:50 2020 +0000"
      },
      "message": "Revert \"[art] Expand test coverage of secondary app images\"\n\nRevert \"[dexopt] Allow secondary dex files to generate app images\"\n\nRevert submission 1210624-secimg\n\nBug: 149098478\nBug: 149168708\n\nReason for revert: Tests fail on device\nReverted Changes:\nI87a0c2698: [art] Fix, re-enable and expand 596-app-images\nI73592c597: [art] Enable compilation of secondary dexes by def...\nI6cff0c8f2: [art] Expand test coverage of secondary app images...\nIaa04175ee: [dexopt] Allow secondary dex files to generate app...\n\nChange-Id: I8616e3962e7834a15bd9d83c635b50b556ab9a76\n"
    },
    {
      "commit": "630966bd41a2f2151d89bae6155903ccc72b9820",
      "tree": "30149eeceb01cbb3ec78171152d07e96b825c03c",
      "parents": [
        "4b7183e61bb5efb4d6a694ef4ed682fd6801b5f6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Feb 09 22:23:37 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Feb 09 22:23:37 2020 +0000"
      },
      "message": "Revert \"Blacklist test failing on debuggable.\"\n\nThis reverts commit 4b7183e61bb5efb4d6a694ef4ed682fd6801b5f6.\n\nReason for revert: Test also fails on target - reverting original change instead.\n\nBug: 149168708\nChange-Id: I4cc44f1d7b4eafe47e4866e059964eaac410b829\n"
    },
    {
      "commit": "4b7183e61bb5efb4d6a694ef4ed682fd6801b5f6",
      "tree": "4dae10d460026d669f01364c501e34f181ec2dd8",
      "parents": [
        "c2c5b06499979517330d8180e3f938210c34d18c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Feb 09 21:59:53 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Feb 09 22:03:00 2020 +0000"
      },
      "message": "Blacklist test failing on debuggable.\n\nBug: 149168708\nTest: 596-app-images\nChange-Id: Ic0c790c6707df0c9784e9436abc2b94bd2db6c5b\n"
    },
    {
      "commit": "c2c5b06499979517330d8180e3f938210c34d18c",
      "tree": "30149eeceb01cbb3ec78171152d07e96b825c03c",
      "parents": [
        "b68b7cb9f1396108695f95c1882499587e3b2ba2"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Feb 07 18:01:56 2020 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Sun Feb 09 17:09:57 2020 +0000"
      },
      "message": "Rename \"platform\"  to \"system\" namespace in the ART linker config.\n\nThis is a follow-up for I23d865ac71a80619f291eb9ae0761a2cad5df352,\nwhich broke ART tests with a lot of errors like this:\n\n  Exception in thread \"main\" java.lang.UnsatisfiedLinkError: dlopen failed: library \"libc.so\" not found: needed by /data/nativetest64/art/arm64/libarttest.so in namespace classloader-namespace\n         at java.lang.Runtime.loadLibrary0(Runtime.java:1087)\n         at java.lang.Runtime.loadLibrary0(Runtime.java:1008)\n         at java.lang.System.loadLibrary(System.java:1665)\n         at Main.main(Main.java:42)\n\nTest: aosp_walleye-userdebug builds\nTest: test 461-get-reference-vreg passes (failed before the fix)\n  Instructions to run test in chroot:\n    unset ART_TEST_ANDROID_ROOT\n    unset CUSTOM_TARGET_LINKER\n    unset ART_TEST_ANDROID_RUNTIME_ROOT\n    unset ART_TEST_ANDROID_TZDATA_ROOT\n    export ART_TEST_CHROOT\u003d/data/local/art-test-chroot\n    export OVERRIDE_TARGET_FLATTEN_APEX\u003dtrue\n    . ./build/envsetup.sh\n    lunch aosp_walleye-userdebug\n    m adb -j72\n    art/tools/buildbot-build.sh --target -j72\n    art/tools/buildbot-cleanup-device.sh\n    art/tools/buildbot-setup-device.sh\n    art/tools/buildbot-sync.sh\n    art/test/run-test --chroot  $ART_TEST_CHROOT --always-clean -O --prebuild --compact-dex-level fast --optimizing --no-relocate --runtime-option -Xcheck:jni --64  461-get-reference-vreg\n    art/tools/buildbot-teardown-device.sh\n    art/tools/buildbot-cleanup-device.sh\n\nChange-Id: If40e6ea9cfc12051db493ee28b2c24538a023e00\n"
    },
    {
      "commit": "b68b7cb9f1396108695f95c1882499587e3b2ba2",
      "tree": "57e9e9453b9252e68e5ea83369ee2c7b7a5cb81b",
      "parents": [
        "c9fa770b6eedcf0cfe05b2449423f5494eecfce0"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Sun Feb 09 15:50:56 2020 +0900"
      },
      "committer": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Sun Feb 09 15:50:56 2020 +0900"
      },
      "message": "One more missing Result::ok() call in art/libnativeloader\n\nNo functionality change.\n\nTest: m\nChange-Id: I3056596785447c5fb7410bcfc7d037eb295affc4\n"
    },
    {
      "commit": "c9fa770b6eedcf0cfe05b2449423f5494eecfce0",
      "tree": "684657b011f8980da10cbdc89ca6288d933a2734",
      "parents": [
        "a7d98b9560166eddaeb78d0f19402ee80ec9df06"
      ],
      "author": {
        "name": "Dan Zimmerman",
        "email": "danzimm@fb.com",
        "time": "Fri Jan 31 13:35:12 2020 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Sat Feb 08 02:41:12 2020 +0000"
      },
      "message": "Introduce VMRuntime.isValidClassLoaderContext\n\nIn the PackageManager server we need to validate class loader contexts\nthat we receive from an untrusted process. In order to keep class loader\ncontext parsing logic centralized within the runtime let\u0027s create an API\nwhich returns whether or not the runtime can parse the encoded class\nloader context.\n\nTest: Build system image, open app using secondary dex\nTest: atest atest com.android.server.pm.dex.DexManagerTests\nTest: m test-art-host-gtest-class_loader_context_test\nChange-Id: Ied676e3239f70a8ab9d066df79f377b7036b28b7\n"
    },
    {
      "commit": "a7d98b9560166eddaeb78d0f19402ee80ec9df06",
      "tree": "b131f670516bc725d8c5d249e12861ec0b0db4c5",
      "parents": [
        "b682ea4d1f9f88ef41589007f385398033d61b65"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jan 13 16:29:13 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 08 00:12:02 2020 +0000"
      },
      "message": "Add java_system_modules to ART SDK\n\nBug: 142940300\nTest: m art-module-sdk art-module-host-exports art-module-test-exports\nChange-Id: If8bb92426982700cc47b8e0c4346eb4827f02177\n"
    },
    {
      "commit": "b682ea4d1f9f88ef41589007f385398033d61b65",
      "tree": "b843077f05e2fe37ce5f566dfc823552f289f562",
      "parents": [
        "77aa6807053a830fe5c951c7cb700813d7e2e27b"
      ],
      "author": {
        "name": "Dan Zimmerman",
        "email": "danzimm@fb.com",
        "time": "Mon Dec 23 06:59:06 2019 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Sat Feb 08 00:01:36 2020 +0000"
      },
      "message": "Introduce BaseDexClassLoader.computeClassLoaderContextsNative\n\nThis will be used to compute the contexts that should be sent over to\nthe dex load reporter. See associated changes in libcore \u0026\nframeworks/base.\n\nMotivation: At the moment of committing there are two classloader\ncontext encoders- one in ART and one in the package manager. The\nduplicate logic is susceptible to divergences. For example at the moment\nif a package uses shared libraries and has secondary dex files then the\ncontext encoded for secondary dex files will be incorrect[1]. In order to\neliminate this bug and future possible bugs lets centralize where all\nclassloader context computation is done.\n\n[1]: The context will be incorrect because it doesn\u0027t take into account\nthe shared libraries that are loaded at runtime.\n\nTest: m test-art-host-gtest-class_loader_context_test\nTest: m test-art-host-gtest\nTest: ./test/testrunner/testrunner.py --host -b\nTest: Introduced a set of tests for the new API(s)\nTest: See tests in associated libcore \u0026 framework/base commits\n\nBug: 148494302\nChange-Id: Id39293a2e1d3d05194f2864f4febb3e652bce075\n"
    },
    {
      "commit": "77aa6807053a830fe5c951c7cb700813d7e2e27b",
      "tree": "a1bd8404cf0b50c1c076d076c98966df2a3aaf45",
      "parents": [
        "7c918ee21f9d7c191e1e080265706847a55b00e9"
      ],
      "author": {
        "name": "Dan Zimmerman",
        "email": "danzimm@fb.com",
        "time": "Thu Jan 02 07:44:37 2020 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Feb 07 22:37:33 2020 +0000"
      },
      "message": "[art] Expand test coverage of secondary app images\n\nThis CL introduces a new test that verifies loading secondary app images\ninto a classloader that has already been initialized works as expected.\n\nTest: ./test/testrunner/testrunner.py -b --host -t 597-app-images-same-classloader\nBug: 149098478\nChange-Id: If06f4c286e090569821d77d26f7fffce50473614\n\nChange-Id: I6cff0c8f2fd8e40546d28674c0324cb11a29bbf7\n"
    },
    {
      "commit": "7c918ee21f9d7c191e1e080265706847a55b00e9",
      "tree": "1fb5a84e032d11e096deb09da5f9409219c5883e",
      "parents": [
        "73b6aa9fd182603cee4baad16adab66d2f63ef78"
      ],
      "author": {
        "name": "Dan Zimmerman",
        "email": "danzimm@fb.com",
        "time": "Thu Jan 02 06:18:17 2020 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Feb 07 22:37:33 2020 +0000"
      },
      "message": "[art] Fix, re-enable and expand 596-app-images\n\nPreviously the test was failing because the app image didn\u0027t contain any\npreloaded classes. This CL introduces a profile which includes all the\nclasses we need pre-optimized for the test. Beyond fixing the test I\nexpanded the test coverage to include:\n\n- Verifying classes that aren\u0027t in the profile aren\u0027t in the app image\n  (i.e. this verifies that if a class isn\u0027t used during startup it won\u0027t\n  be included in the app image)\n- Verifying loading second app images works\n\nAdditionally I broke out each block of tests into individual test functions\nand reformatted the Main.java file so that navigating it is a bit\neasier.\n\nIt looks like 660-clinit depends on the same JNI code, so I made a\nchange there too.\n\nTest: test/testrunner/testrunner.py -b --host -t 596-app-images -t 660-clinit\nBug: 149098478\nChange-Id: I87a0c26989f045f8086df0a179ed0ddeeb11a471\n"
    },
    {
      "commit": "73b6aa9fd182603cee4baad16adab66d2f63ef78",
      "tree": "e15be5d2a68ac7f3f238cca9785f2f61f960aac8",
      "parents": [
        "4cbb51a0c057249a500ca7fe3947401978f165d2"
      ],
      "author": {
        "name": "Dan Zimmerman",
        "email": "danzimm@fb.com",
        "time": "Sun Dec 22 15:26:39 2019 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Feb 07 22:37:33 2020 +0000"
      },
      "message": "[art] Enable compilation of secondary dexes by default in tests\n\nPreviously tests used unoptimized secondary dex files (if they used a\nsecondary dex file). After this change all tests will use optimized\nsecondary dex files unless they explicitly opt out.\n\nRight now the only tests that opt out of optimized secondary dex files\nare:\n- 130-hprof\n  - At the moment unloading app images is not implemented (or it is and\n    I couldn\u0027t find it / it\u0027s not working for this test), and this test\n    relies on dex files properly getting unloaded.\n- 141-class-unload\n  - See explanation for 130-hprof\n- 674-hiddenapi\n  - Compilation skirts hidden API checks\n- 719-dm-verify-redefinition\n  - This test seems to compile secondary dex files itself, so we should\n    disable the \"automatic\" compilation\n\nTest: test/testrunner/testrunner.py -b --host\nBug: 149098478\n\nChange-Id: I73592c597df629717db6d75eb977bf943bb6de72\n"
    },
    {
      "commit": "4cbb51a0c057249a500ca7fe3947401978f165d2",
      "tree": "af626569243ce560c45fe5c653ca61fae0cd6a0b",
      "parents": [
        "5d24c3d43152b36181fbf9819bfbe5589572f16b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 07 11:25:54 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 07 18:21:11 2020 +0000"
      },
      "message": "Fix ART code around JIT zygote.\n\n- The right image location for it now ends with a profile\n- Add profile locations to image spaces, so the JIT knows what to\n  compile\n- Remove now deprecated ApexImage related code.\n\nBug:119800099\nTest: boots, methods from framework gets compiled by zygote\nChange-Id: Ie31b62d0a25f1b50e266c1537c43307d7b29e138\n"
    }
  ],
  "next": "5d24c3d43152b36181fbf9819bfbe5589572f16b"
}
