)]}'
{
  "log": [
    {
      "commit": "84e5bb990d48263849bab132d80d753495bc7204",
      "tree": "4c14da40ad65b10759c81892849e69119fbdaf53",
      "parents": [
        "acb12378f91cc96183b999721d2875e504bb8762"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Sep 05 19:56:46 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 06 15:31:38 2019 +0000"
      },
      "message": "Rename some build variables and targets for the ART APEX.\n\nTest: m\nBug: 135753770\nChange-Id: I66273981013710500e5e57c0a3c40a5fdc61e3d0\n"
    },
    {
      "commit": "d6be5da75294d29060440a10e77f5d3461ed8d74",
      "tree": "2a92b0c53c3b40ef36cb8a81c4326b323d63b80c",
      "parents": [
        "ad909af6c4be163bf2d5f4ca1e0487cc619a5041"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Jul 16 17:14:46 2019 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Sep 02 10:28:27 2019 +0000"
      },
      "message": "Update references to the ART APEX for tests.\n\nTest: art/tools/buildbot-build.sh --host \u0026\u0026 art/test.py --host --64 --optimizing\nTest: art/tools/run-gtests.sh in chroot\nTest: art/test/testrunner/testrunner.py --target --64 in chroot\nTest: art/tools/run-libcore-tests.sh --mode\u003ddevice --variant\u003dX64 in chroot\nTest: art/tools/run-jdwp-tests.sh --mode\u003ddevice --variant\u003dX64 in chroot\nBug: 135753770\nChange-Id: I876c5a2931970d6a75c1812e0f87bc65ab7bde0f\nMerged-In: I876c5a2931970d6a75c1812e0f87bc65ab7bde0f\n"
    },
    {
      "commit": "6461124331de7707f3b109cec38337d851be997e",
      "tree": "551fe08dc46d71f903244080f90df751d648adb5",
      "parents": [
        "3cb59a4e22bff5a06f5bcd1deb86e2580dd36de3"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Fri Jul 05 16:32:41 2019 +0100"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Thu Aug 08 11:06:51 2019 +0000"
      },
      "message": "Remove icu .dat file from Runtime module\n\nBug: 137009149\nBug: 130295968\nTest: device boots\nTest: m out/target/common/obj/JAVA_LIBRARIES/ahat-test-dump_intermediates/test-dump.hprof\nTest: art/build/apex/runtests.sh fails due to bug 138103882\nTest: art/tools/buildbot-build.sh\nTest: m test-art-host-gtest\nChange-Id: I0501fd6dd02dac3cf9780f5f1c0103e4b0475e1f\n"
    },
    {
      "commit": "8d5a215a7e879d8aa9c7d9d2791ed107ecc41f59",
      "tree": "65c0f2ca31665dee941681339aa51759eda92f08",
      "parents": [
        "118ce36aa0568842283fbe79772fd9de73ec9cd7"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jul 02 19:40:28 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Aug 07 13:29:48 2019 +0000"
      },
      "message": "Build and install the Testing Runtime APEX in ART device testing.\n\nReplace the Debug Runtime APEX with the Testing Runtime APEX for ART\ndevice testing.\n\nThis change does not change the behavior of ART device testing per se,\nas test rules have not been updated (yet) to make use of the\nadditional files (ART gtests) included only in the Testing Runtime\nAPEX.\n\nTest: ART (chroot-based) device testing\nBug: 129534335\nChange-Id: I1b9dfcb9fe483584b4065908c1b2e24d19703b52\n"
    },
    {
      "commit": "f0b1de829bfa96d7d52a57bf5fb2d84b7657e141",
      "tree": "9d8d46ba8dd33fce50e5856e87ba3fc4f66b1ee6",
      "parents": [
        "6a0b657a1875b4fbb020b806169e2f73fcb2578b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jul 02 19:25:58 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Aug 02 14:51:00 2019 +0000"
      },
      "message": "Introduce Make variables for the various Runtime APEX names.\n\nTest: make systemimage (with user lunch target)\nTest: make systemimage (with userdebug/eng lunch target)\nTest: art/build/apex/runtests.sh\nBug: 129534335\nChange-Id: I69a06acc777acba17deb5e32061d1099ae82beaf\n"
    },
    {
      "commit": "672c08092a7d95bb504bceb712812f72524d90da",
      "tree": "e539c269d8733b13e43c41f9784d0c6c8200a9d6",
      "parents": [
        "e91d787c2de859789ec6e467bd04ee28b22a8c4e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jul 26 13:03:13 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 29 12:33:14 2019 +0000"
      },
      "message": "Update Transaction for boot image extension.\n\nAnd clean up transaction-related code to keep test code\nout of the production binaries.\n\nTest: Add TransactionTest#Constraints to transaction_test.\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nTest: aosp_taimen-userdebug boots.\nChange-Id: Iefe5f1cfde95f564069249148f9e7d71564d7a10\n"
    },
    {
      "commit": "a0fc13a97a22604c5587a30d3b92cf22e68079a7",
      "tree": "509b1c4a795d08f5b8fcdf793f20fbc41a54362d",
      "parents": [
        "92db59bdb2c0154a1bec0c1e70c50f5f13d462a7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 23 15:48:39 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 25 13:46:03 2019 +0000"
      },
      "message": "Add support for a profile listing methods in compilation order.\n\nWill be used for jit zygote. Currently naive implementation separate\nfrom the regular profiles.\n\nTest: profile_boot_info_test\nBug: 119800099\nChange-Id: I30c49dcd80f6bcdc4c020e11cf2cd9cc0a46bebe\n"
    },
    {
      "commit": "b5204f4216557b1f7bfd72be1fd49ec9d0960ecb",
      "tree": "95ca743a14876cda3e8e185ef4613220aba196ce",
      "parents": [
        "4bd5234a05db801892ce28ea0504aebb46d06a25"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 25 12:39:15 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 16 22:13:40 2019 +0000"
      },
      "message": "ART: Add interface class join heuristic\n\nDo not treat interfaces as regular classes. This will always\nlead to a join of java.lang.Object, rejecting semantically\nvalid programs.\n\nWe want to retain IMT dispatch, forcing us to verify interface\nassigment. In the absence of set types, the result is ambiguous\nand not well defined. In a best effort, attempt to find a joint\ninterface by walking the interface tables of the join arguments\nbackwards.\n\nIn the case of two non-interface classes, we still prefer the\nclass hierarchy.\n\nBug: 69826014\nTest: m test-art-host-gtest-reg_type_test\nChange-Id: I7e0086f045e5bb2a7c3ee3464de45fc5b02f4d3f\n"
    },
    {
      "commit": "72f6774bf65222b7c93c3e4d706938635cacf050",
      "tree": "e121e3ce1f5b0e5215b7054fb8689e8e4ceded45",
      "parents": [
        "2c029f35eebe7d8b0d00979342d64b2f2dad5a94"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Mar 06 15:48:08 2019 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jun 24 13:13:42 2019 +0000"
      },
      "message": "Use flattened Runtime APEX contents in ART chroot-based device testing.\n\nCopy the contents of the flattened Debug Runtime Module\ndirectory (`/system/apex/com.android.runtime.debug`) to\n`/apex/com.android.runtime` within the chroot directory on the device.\n\nAvoid generating artifacts that are not expected in the `system`\ndirectory (`TARGET_OUT`) of a \"normal\" build.\n\nAdjust the chroot environment to have it use the system linker\nconfiguration of the built target (\"guest system\") and the linker\nconfiguration of the Runtime APEX, even if the linker configuration\nflavor of the \"guest system\" (e.g. legacy configuration) does not\nmatch the one of the \"host system\" (e.g. full-VNDK configuration).\nThis is done by renaming the configuration file provided by the \"guest\nsystem\" (created according to the build target configuration) within\nthe chroot environment, using the name of the configuration file\nexpected by the linker (governed by system properties of the \"host\nsystem\").\n\nTest: ART chroot-based on-device testing using the master-art branch\nTest: ART chroot-based on-device testing using the master branch (with\n      `TARGET_FLATTEN_APEX` set to `true` before building).\nBug: 124425036\nBug: 121117762\nChange-Id: Ied3f6ee8b2d68c3473fab864d1bbed9e88df59d3\n"
    },
    {
      "commit": "0df2aba868ca2f808f73e75e248a036b161088f6",
      "tree": "6b7ecde53d4169d42a35727979656ee6e05b87bf",
      "parents": [
        "148c1609b165e79a2e30161bf8148786f3eee307"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 10 16:53:55 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 11 21:50:02 2019 +0000"
      },
      "message": "ART: Use SIGTERM for timeout dumping\n\nSwitch to using SIGTERM (15), the timeout default.\n\nBug: 134837513\nTest: m test-art-host\nTest: manual (change timeout)\nChange-Id: Ic962d0a59c1636dffe742a2cbea06099ab567791\n"
    },
    {
      "commit": "148c1609b165e79a2e30161bf8148786f3eee307",
      "tree": "fac06a80d58ac9d48bc8eb4c09caecaa5fd22ebf",
      "parents": [
        "298dc0f0475ce9753f3ba105c48ed74d124c668a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 10 16:47:46 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 11 21:50:02 2019 +0000"
      },
      "message": "ART: Rename timeout_dumper to signal_dumper\n\nTo reflect the more broad applicability.\n\nBug: 134837513\nTest: m test-art-host\nTest: manual (change timeout)\nChange-Id: I1206bd7b2be351ca2efae3564b677c28ea484766\n"
    },
    {
      "commit": "917cfdb915bd7674e27d6fe353274318862e0d8b",
      "tree": "7ab243b4350e69528f15d15069ad1b707fff3380",
      "parents": [
        "0d54cfb1a696bfe9795bdee3653c130747b97fcc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 02 10:53:22 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri May 03 12:23:21 2019 +0000"
      },
      "message": "Fix build rules.\n\nThe (dir $@) is a shared directory that could collide with another\nrule. So instead prefix temporary files with $@_.\n\nAlso remove verbose flag to the zipalign command.\n\nTest: m\nChange-Id: Ie93e2b486095ee7d8a007dc15dd393f26bab03e8\n"
    },
    {
      "commit": "c36a8ccf44454f1a4b8b57420205faf11dec7046",
      "tree": "189c0baf0cf748669712b0fc3c734d229386d8ab",
      "parents": [
        "5fe1b23d54303a1adf91b644f26f6df066e175ed"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Apr 29 13:37:42 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Apr 29 15:29:38 2019 +0000"
      },
      "message": "Handle empty uncompressed and aligned dex file in an archive.\n\nReturn an error message for it. Callers expect it.\n\nTest: dex2oat_test\nBug: 131175467\nChange-Id: I55c05f0a9c48cea252869f88740c6338b5b28b1f\n"
    },
    {
      "commit": "3b19de27a40924b60d456a3016d324e8328cad77",
      "tree": "3061391bed405344b10634cb6a633eeaf95ffff6",
      "parents": [
        "5a0622ae24b6b07be4d720827fb5570710cea2bc"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Apr 12 16:07:51 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sat Apr 13 06:51:12 2019 +0000"
      },
      "message": "Fix oatdump_test build dependencies.\n\noatdump_test requires dex2oat.\n\nTest: m test-art-host-gtest-oatdump_test64\nChange-Id: If836100ddf24634562ca092fe2e37cc35709b4f1\n"
    },
    {
      "commit": "3e8aae03770a4acceff2f7fb7d6db68e05602d84",
      "tree": "297b7f7cfeb82f352da84333f7fd584b8d0f8718",
      "parents": [
        "40594870058427d6d1090f18c216f9dd155421e2"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Mar 26 18:48:02 2019 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Apr 11 06:57:08 2019 +0000"
      },
      "message": "Fix dex location of boot oat files during preopt\n\nDex location should reflect the path on target when preopting\non host. This previously did not hold and this patch fixes the\nissue. Other paths remain the same as before. A DCHECK is added\nto class linker to guarantee that -Xboot-classpath-locations is\nnot ignored.\n\nSimultaneously it refactors the logic for resolving a relative\npath to make it clearer which path is used for opening files\n(dex file name) and which reflects the location on target (dex\nlocation), as these differ when preopting.\n\nThe patch also adds a missing dex2oat dependency for oat_file_test.\n\nTest: test-art-gtest-{host,target}-oat_file_test\nTest: compiles, no DCHECK crashes\nChange-Id: I0629c7ee505b5fd50649800bb3e08efc1ee44102\n"
    },
    {
      "commit": "4f215d1b1ceba9dfc8d8f3d8644da81302b2cd86",
      "tree": "34ee009a807d394ab7e1bb7f9ab3b1d36e3c7269",
      "parents": [
        "774232ae5a825ad4a366edc57081bff265e0ac32"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Apr 03 09:28:21 2019 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Apr 04 15:28:48 2019 +0000"
      },
      "message": "Rename dexdump2 to dexdump\n\nComplete the migration from dalvik/dexdump to art/dexdump.\n\nBug: 22322814\nTest: make checkbuild test-art-host-dexdump\nChange-Id: I95d5b83d9855b440f2fe4073f1e1d746fe807888\n"
    },
    {
      "commit": "975b77427413977665f3be66d02e1d164df1efbc",
      "tree": "5f4fea939264fe245d3df9a052d5551736f802fe",
      "parents": [
        "340eff4ef043a58934304b33d0656ee3741b2f94"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 21 17:37:38 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 22 08:30:24 2019 +0000"
      },
      "message": "Fix two_runtimes_test dependencies.\n\nTest: two_runtimes_test\nChange-Id: I79b34ed0a7bcccdce78a761533155588236bf213\n"
    },
    {
      "commit": "26a5dd6fd1d65de29ba85e4bb61d9267dd428238",
      "tree": "952cdd73cefa3be7554e35dc2e9651b3054b7c29",
      "parents": [
        "d0430bfe6e08f932fa15b159457a5430f5b3ec25"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Mar 13 15:16:35 2019 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Mar 18 16:08:05 2019 +0000"
      },
      "message": "Add support for ANDROID_TZDATA_ROOT\n\nSoon, code in the Android Core Library / ICU4C library will depend on the\nANDROID_TZDATA_ROOT environment variable being set. On device this points\nto the root of the com.android.tzdata module.\n\nUnlike ANDROID_RUNTIME_ROOT, ANDROID_TZDATA_ROOT it doesn\u0027t have to point to\nanything that exists because the code will fall back to looking in\nANDROID_RUNTIME_ROOT if it can\u0027t find the files it is looking for. Most\nof the changes in this commit are plumbing to make sure the environment\nvariable is set to benign defaults or passed through to the runtime.\n\nThis commit has been put together by looking for usages of\nANDROID_RUNTIME_ROOT and duplicating the logic.\n\nBug: 128422035\nTest: build only\nChange-Id: I2fd73fe16f5022742aaf634be158765cac8759e6\n"
    },
    {
      "commit": "a5c3a808020d81447bc19d07a99288e9d28a6e6c",
      "tree": "83a9b1eac0a7209e6e407c0462d0b1ba8f95f62c",
      "parents": [
        "98fb083a30e9b37685f943e2923e65e60e0a0971"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Mar 08 14:59:41 2019 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Mar 14 14:34:20 2019 +0000"
      },
      "message": "hiddenapi domain: Use oat dex file location if available\n\nTo determine the caller and callee domains of a hidden API access check,\nthe logic will test the dex location against several known system\nlocations. However, DexFile instances backed by an OatFile have relative\ndex locations to avoid need to rewrite the .oat file when moving files\nbetween folders. The canonical dex location is stored in the OatDexFile\ninstead.\n\nBecause the OatDexFile data structure is not available in libdexfile,\nmove the domain resolution logic to hidden_api.cc and resolve when dex\nfiles is first registered with the class linker.\n\nTest: m test-art-gtest\nTest: camera does not crash\nBug: 126901248\nBug: 127852529\nChange-Id: Id494b1c47a2199c227dec046174e08320b9cbc3b\n"
    },
    {
      "commit": "70ae00d6b9aefb285b8c8427d59cd5d1c296cecf",
      "tree": "ebb0a76aa207a7a801de8a02c798713820c6100b",
      "parents": [
        "42d9967a2417fe08987c152e40cebeb88851ec44"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Feb 15 22:41:14 2019 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Feb 19 15:22:35 2019 +0000"
      },
      "message": "Fix missing entry for the static libdexfile_support test in the gtest list.\n\nAlso comment on the lack of test_per_src for those tests, and update the\nfind predicate in run-gtests.sh to handle these test binaries that end with\n_tests instead of _test.\n\nBug: 123186083\nTest: m test-art-host-gtest-art_libdexfile_support_tests\nTest: m test-art-host-gtest-art_libdexfile_support_static_tests\nTest: Buildbot style device test:\n  art/tools/buildbot-build.sh -j8 --target \u0026\u0026 \\\n  art/tools/cleanup-buildbot-device.sh \u0026\u0026 \\\n  art/tools/setup-buildbot-device.sh \u0026\u0026 \\\n  art/tools/buildbot-sync.sh \u0026\u0026 \\\n  art/tools/run-gtests.sh\nChange-Id: I2c103f760dde1154f44b1c90ff3ab9ae356d6318\n"
    },
    {
      "commit": "676e00a12f4b42a6ab572f4e0ae6fcb1e647bb1c",
      "tree": "0518e3b3292351d0c5ea662cc236ae1146b52fa6",
      "parents": [
        "edd96398d8562ae2adcd41962e69440c244148fc",
        "2da3cbb4af20a64108e474c0bbbe0cc5d3af2aa2"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Sat Feb 02 12:08:21 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 02 12:08:21 2019 +0000"
      },
      "message": "Merge \"hiddenapi: Fix class hierarchy traversal\""
    },
    {
      "commit": "2da3cbb4af20a64108e474c0bbbe0cc5d3af2aa2",
      "tree": "8cbdf50aab2183c701f1dc7c9ac17d1129fb5238",
      "parents": [
        "0518af4e87d484b10e785aff9b030b688926cd7f"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 30 16:17:50 2019 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Feb 01 14:59:57 2019 +0000"
      },
      "message": "hiddenapi: Fix class hierarchy traversal\n\n`hiddenapi` builds and traverses the class hierarchy, visiting all\nclass members that methods/fields in stubs may resolve to.\n\nThe algorithm wouldn\u0027t work when:\n* an interface declares a method which is in stubs, and\n* a class implements the interface by inheriting the method from its\n  superclass; neither the class nor its superclass are in stubs.\nThe problem was that once a matching method was found, only subclasses\nwould be traversed. In this case, the method would be found in the\ninterface, the class which implements it would be traversed but its\nsuperclass would not.\n\nThis patch simplifies the algorithm and partially reverts a performance\noptimization which caused the problem. As a result, there is a build\ntime regression from 5s to 8s.\n\nThe patch also adds gtests which test this behaviour. There were no\ntests until now because stubs are not present in master-art manifest.\nGet around this issue by using the actual core JARs as stubs but test\nthe behaviour on other classes.\n\nBug: 122551864\nTest: m test-art-host-gtest-hiddenapi_test\nChange-Id: I63751c5ef517c8e9d3a157dfbec8de01bd99c2d4\n"
    },
    {
      "commit": "119733d87242414100df7b9eedb6d1672a03ead6",
      "tree": "19ba75bd42d3c94a4de0684ae66f4078da1546a6",
      "parents": [
        "8a64e773d4d1221166c6a8206315b450e448705a"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jan 30 15:14:41 2019 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jan 31 15:39:55 2019 +0000"
      },
      "message": "Revert \"Revert \"ART: introduce PALette abstraction layer\"\"\n\nThis reverts commit e6e01a0a00de80704ccb21c48d5d8bdee4470b77.\n\nBug:  122824298\nTest: art/test/testrunner/run_build_test_target.py -j50 art-test-javac\nTest: m out/target/common/obj/PACKAGING/hiddenapi-stub-flags.txt\nTest: frameworks/rs/build_rs.py\nChange-Id: If7b9ddca3daa80b75b3541abd283bf47d5b81118\n"
    },
    {
      "commit": "e6e01a0a00de80704ccb21c48d5d8bdee4470b77",
      "tree": "8f9cc651764686140accaadcfb8f77bf7572c24b",
      "parents": [
        "4b9d00aca9b025b545c9633b4605334c22fc4d2d"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jan 30 14:02:30 2019 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jan 30 14:02:30 2019 +0000"
      },
      "message": "Revert \"ART: introduce PALette abstraction layer\"\n\nThis reverts commit 4b9d00aca9b025b545c9633b4605334c22fc4d2d.\n\nReason for revert: breaks renderscript mac and run_host_tests in master.\n\nChange-Id: I6024894a384c65f3e7d81b9c5bba8ebe8ce1b420\n"
    },
    {
      "commit": "4b9d00aca9b025b545c9633b4605334c22fc4d2d",
      "tree": "7984bf247f908d145b7c6b48df99f3f0a80ae148",
      "parents": [
        "4ee4561f2153f3b0bc3be2e781488a97c73ca58e"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jan 03 17:04:02 2019 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jan 30 09:00:27 2019 +0000"
      },
      "message": "ART: introduce PALette abstraction layer\n\nThis change decouples direct dependencies on system libraries.\n\nBug: 122824298\nTest: art/test.py --host --64\nTest: art/test.py --target -j8\nTest: m -j100 \u0026 flashall -w \u0026 device boots\nTest: art/build/apex/runtests.sh\nChange-Id: Iae927ed9aaa228a941cd444cef04e6ec53955299\n"
    },
    {
      "commit": "3ad2c2b66db119bc406d812b983e7acb9c00fe1e",
      "tree": "b846ad9e705fee33e7e7b6f513fbfdcff4818311",
      "parents": [
        "3aac63bd0f727c8ba2d707cf97a245b1b35872cb"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Jan 26 00:19:38 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Jan 26 00:20:48 2019 +0000"
      },
      "message": "Fix oatdump_test.\n\nThe ExportDex variants stopped working now that core-oj.jar is\nuncumpressed and the vdex file doesn\u0027t contain the dex code.\n\nUse an app dex file instead.\n\nChange-Id: Ib7c09a7180a62007a67de5062575ad07dcce4944\nTest: oatdump_test\n"
    },
    {
      "commit": "8baa11a3626a8230a55e2e32b2d1281995a27ae4",
      "tree": "4dcab53f983682e4da30146fcd7f68803fe34d21",
      "parents": [
        "26e2eb689f595e2f1d3cd436198bc1233c4179db"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 24 10:30:03 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 24 18:52:14 2019 +0000"
      },
      "message": "Adjust ResolveRelativeEncodedDexLocation.\n\nNow that jar files are in the apex, relax the prefix check between\nthe absolute location of the oat file and the jar location for host\ncompilation.\n\nFor example we now have:\n- /system/framework/boot-core-oj.art\n- /apex/com.android.runtime/core-oj.jar\n\nWhereas before, the jar and the art file had the same prefix path.\n\nTest: m\n\nChange-Id: Ic216229dab7a853c64c98a36e32b387559f9cc0d\n"
    },
    {
      "commit": "7c777f8fe8311dfd88d87da0c89d351a7f3e5af2",
      "tree": "b152477f68eebef701bf4408550dbad505652d78",
      "parents": [
        "f6c84a4f32290acd1bf3680ca579b4cafcc95af2"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jan 10 18:00:37 2019 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jan 11 17:18:00 2019 +0000"
      },
      "message": "Honor `ART_TEST_ANDROID_RUNTIME_ROOT` when running ART gtests on target.\n\nWhen this environment variable is defined, use its value to define\n`ANDROID_RUNTIME_ROOT` when running ART gtests on device.\n\nThis is a generic change, but its first intended use is to point\n`ANDROID_RUNTIME_ROOT` to \"/system\" when running gtests on target, so\nthat ICU can find ICU .dat files in \"/system/etc/icu\", until the\nRuntime APEX is available in target testing on the ART Buildbot.\n\nTest: Rely on the ART Buildbot.\nBug: 121117762\nBug: 119293618\nBug: 113373927\nChange-Id: I96e12e237d3c722609a042aaf1a946b654f9544f\n"
    },
    {
      "commit": "750bf0415258435202aaadba51375f8b63b49c78",
      "tree": "d5559366283424f43cfdf44640b8401966fc6f42",
      "parents": [
        "fdb2f60e7ad3d676ec55286e29e11bc7506b1973"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Jan 09 22:51:12 2019 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Jan 10 15:48:31 2019 +0000"
      },
      "message": "Add unit tests for libdexfile external API.\n\nThis prompted a fix to ExtDexFileMakeString in the C API to make it fully\nsupport strings with NUL chars. That\u0027s currently not expected to be\nrequired; it\u0027s for the sake of API completeness.\n\nTest: m test-art-{host,target}-gtest-dex_file_supp_test\nTest: art/test/testrunner/run_build_test_target.py -j80 art-test\nBug: 119632407\nChange-Id: Ibd3ef6e3ea7ae196f541e926a4a7665be1c91819\n"
    },
    {
      "commit": "fdb2f60e7ad3d676ec55286e29e11bc7506b1973",
      "tree": "103339655651dbcdaa89baf949f0a098dd7a647c",
      "parents": [
        "2ccc9c3f2a6318e15a7a1d63ece206a6a075fa19"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Jan 09 14:47:00 2019 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Jan 10 15:48:13 2019 +0000"
      },
      "message": "Separate libdexfile external C ABI from the C++ header file.\n\nAlso add a test to compile it with C.\n\nTest: m\nTest: m test-art-{host,target}-gtest-dex_file_ext_c_test\nTest: art/test/testrunner/run_build_test_target.py -j80 art-test\nBug: 120978655\nChange-Id: I6e9944a2051bef9a2775bc2072df4e0ed81dc833\n"
    },
    {
      "commit": "4bdcf5dd5f65e2e3d40ecc35ede1450dd9c86a6f",
      "tree": "b59439c9bef57ce5066f768a057fb06a08dac051",
      "parents": [
        "d406b621c41330593ad69bad4eb9517116da284e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Dec 14 10:48:53 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Dec 18 15:02:41 2018 -0800"
      },
      "message": "ART: Use timeout --foreground\n\nDo not propagate the timeout signal to the runtime.\n\nTest: manual\nChange-Id: I51ebaa383f240828f0c9a3cf2255b235dd09ed9b\n"
    },
    {
      "commit": "0ace5633680af8864b76b4f45d63b3407e4dcdf5",
      "tree": "526435a2877d3d04eaa471238b4efd37a347d05d",
      "parents": [
        "d97e00c4f6e8735a854f4443b8bd08fc5a251ce5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 14 11:11:47 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 14 13:12:15 2018 +0000"
      },
      "message": "Revert^2 \"Allow boot image for a part of the boot classpath.\"\n\nThis reverts commit fb83d76a8b186df05f874216b535f5ad57e7bd02.\n\nFixed host run-test dependencies, cleaned up target run-test\nand gtest dependencies.\n\nTest: rm -f out/host/linux-x86/framework/conscrypt-hostdex.jar\n      testrunner.py -b --host --optimizing -t 660-clinit\nBug: 119868597\nChange-Id: Ia0a5aba0223ae6616bf3e109daf0af7b8355d048\n"
    },
    {
      "commit": "1b2ae58925bc2c3f9e1853b7bcae8860906f62ed",
      "tree": "53cdce92aeb394da9d68391015b635326448bbc5",
      "parents": [
        "fcf213c38229e8bb16798954442920b402b16e53"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 13 13:27:14 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 13 13:27:14 2018 -0800"
      },
      "message": "ART: Fix missing \\ in Android.gtest.mk\n\nFollow-up to commit 28fd62af6fcce33c83488e1f0e5876c1cdab8f15\n\nTest: m test-art-host-gtest\nChange-Id: I6b879f8372e27c18273aa1e23756388a94d4a233\n"
    },
    {
      "commit": "28fd62af6fcce33c83488e1f0e5876c1cdab8f15",
      "tree": "43618472c99d2dd8b6e320ba05628e347a7cc2e1",
      "parents": [
        "6cd9314c7fea1f1f0c4fdb8126018483f68925e6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 12 15:15:22 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 12 15:15:50 2018 -0800"
      },
      "message": "ART: Add timeout to host gtests\n\nAdd the same timeout code as host run-tests.\n\nTest: m test-art-host-gtest\nChange-Id: I1fe673e8d5f9d25a25c236bbc265b2f13a63216c\n"
    },
    {
      "commit": "7a85e70b2bf646d1d7a226fbb4e7fafb66871dd5",
      "tree": "790ee4c1cee812535c856a08355c50c2032c5cd4",
      "parents": [
        "6a98f89c4ad645b04d6c80d3d7e260c59bf6f193"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Dec 03 18:47:23 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 04 17:17:19 2018 +0000"
      },
      "message": "Reduce core image to 6 modules.\n\nThis was\n    Revert^2 \"Reduce core image to core-{oj,libart,simple}.\"\nbut we\u0027re now keeping three additional modules, namely\nconscrypt, okhttp and bouncycastle. And we fix the boot\nclass path used by vogar with the companion change\n    https://android-review.googlesource.com/840810 .\n\nThis reverts commit 00fe35e4021e9a8679eca3ffaede48fd89b56258.\n\nChange-Id: I6137edd91c03c17be50de200267eb9adc971e8fb\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 3 XL boots.\nTest: m test-art-target-gtest\nTest: testrunner.py --target --optimizing\nTest: art/tools/run-libcore-tests.sh --mode\u003ddevice --variant\u003dX64\nBug: 119868597\n"
    },
    {
      "commit": "26c43778589d1c7598cbe6203b6545c9d3ab220a",
      "tree": "474167d306678366b1c90c7a9e6f824308ec7f7a",
      "parents": [
        "c89a28730fb8dff57c6cb5b18295fec45fe85d09"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Nov 23 17:56:43 2018 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Dec 03 20:05:09 2018 +0000"
      },
      "message": "Add support for ANDROID_RUNTIME_ROOT variable\n\nThis commit introduces the ANDROID_RUNTIME_ROOT environment\nvariable in preparation for its use within the runtime module.\n\nAs a module, ART must no longer use the Android-wide\nANDROID_ROOT environment variable as the base of default\npaths for module content. ANDROID_RUNTIME_ROOT will take over\nthe responsibility. It remains a variable to unify host\nand device treatment.\n\nSome test methods (SetUpAndroidData, TearDownAndroidData\nSetUpAndroidRoot) have been renamed to clarify their purpose.\n\nBug: 119935277\nTest: build / treehugger\nChange-Id: I7c7de52911cbfa56cef90270425ed369176c4767\n"
    },
    {
      "commit": "d79b37b054cc7de5be093790408208a07bb799ec",
      "tree": "16ea9f25662be0670d4f02f5a03d42e56fc0ce33",
      "parents": [
        "fd35c6862a2417d4765f65a4b81459c09a2f70ae"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 02 13:06:22 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 02 13:34:49 2018 +0000"
      },
      "message": "ART: Throw on soft verify failure in InitializeClass().\n\nAvoid a CHECK() failure in ClassLinker::EnsureInitialized()\nwhen the transactional interpreter tries to initialize a\nclass with soft verification failures.\n\n(When desired, compilation can be forced to fail for such\nfailures with the --abort-on-soft-verifier-error option.)\n\nTest: Added a regression test to image_test.\nTest: m test-art-host-gtest\nTest: Pixel 2 XL boots.\nTest: m test-art-target-gtest\nChange-Id: Ibb8cf6ade81b5a2944c7e484251a67aba1f1fbeb\n"
    },
    {
      "commit": "0ef9457ba1b635b3242a7dde965349ec200cd7de",
      "tree": "37fd69b213218fb730f400f2b9179356fedf21d0",
      "parents": [
        "fdd3790cd0ac299479f7b658e0ca1866c32fbb80"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sun Oct 21 19:00:56 2018 +0000"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sun Oct 21 19:00:56 2018 +0000"
      },
      "message": "Revert \"Remove dist-for-goals call for gtests.\"\n\nThis reverts commit fdd3790cd0ac299479f7b658e0ca1866c32fbb80.\n\nReason for revert: fixed by https://android-review.googlesource.com/c/platform/build/+/796536\n\nChange-Id: I96d6551b14b9b241a08ee6a9c6557c0de10a60fc\nTest: m test-art-host-gtest\n"
    },
    {
      "commit": "fdd3790cd0ac299479f7b658e0ca1866c32fbb80",
      "tree": "7c7b084db134c0f6130199493e8ee7d9018d0342",
      "parents": [
        "fa9abc28c7825040812101210ccf9b99ef3d565a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Oct 21 14:17:27 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Oct 21 14:17:27 2018 +0100"
      },
      "message": "Remove dist-for-goals call for gtests.\n\nSeem to break with:\nFAILED: ninja: \u0027_dist_test-art-host-gtest-cmdline_parser_test32\u0027, needed by \u0027test-art-host-gtest-cmdline_parser_test32\u0027, missing and no known rule to make it\n\nAfter:\nhttps://android-review.googlesource.com/c/platform/build/soong/+/796458\n\nTest: test-art-host-gtest\nChange-Id: I041545b65517afd8deb11873af917bef238499db\n"
    },
    {
      "commit": "cd0f38fcbda3e578ac27e483a1ffb7718f83fb7a",
      "tree": "5a8a89ca8cb04ae22d2c43aff38ab50717801581",
      "parents": [
        "8677e4bd3a091588c3b8058439f7022edab57f6e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 15 09:44:35 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 16 13:13:26 2018 -0700"
      },
      "message": "Add logic to eagerly resolve const-string for startup methods\n\nAdded dex2oat option --resolve-startup-const-strings\u003d\u003ctrue|false\u003e\n\nIf true, this option causes the compiler driver to resolve all\nconst-strings that are referenced from methods marked as \"startup\" in\nthe profile.\n\nBug: 116059983\nTest: test-art-host\nChange-Id: I61cf9e945c125671fc4ab4b50458a911318a837f\n"
    },
    {
      "commit": "17b1dcba9e4dc956d88a0235307471b8ba7c4591",
      "tree": "7b4b686d8dc77a69e01d301b7831617ef4c76fb0",
      "parents": [
        "231a9538fcf96b016f8bea211f0c09359c4a182f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 12 15:09:42 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 12 15:12:56 2018 +0100"
      },
      "message": "Add target gtest dependencies to build-art-target-tests.\n\nNow that we\u0027re not using makefile for syncing, we\u0027ve lost\nthat dependency.\n\nTest: test-art-target-gtest\nChange-Id: If0e4c9e332c34b5ceb1667945cc5c1a8eedc8768\n"
    },
    {
      "commit": "db72e5ec7ca18282fe03bba20494b021fbdaa7c6",
      "tree": "b44b533354acb58f882061ee67b1bc21a92eb891",
      "parents": [
        "432d280f68d1649b79246228f51188fbee984af3"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Oct 02 14:09:21 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Oct 09 06:07:52 2018 +0000"
      },
      "message": "Stop using DIST_DIR directly, use dist-for-goals\n\nWe\u0027re moving DIST_DIR handling outside of the Kati instance that reads\nthese makefiles. As such, the dist file actually needs to be represented\nin the build graph, not as a side effect of a phony rule. All of the\ndependencies of that phony rule must be actual files in that graph now\ntoo, not other phony rules.\n\nBug: 117463001\nTest: DIST_DIR\u003ddist ./art/test/testrunner/run_build_test_target.py -j50 art-gtest\nChange-Id: I15d5a2c28321ff7f0f8d7d99dc697bd0393380cb\n"
    },
    {
      "commit": "a39a8978d2da1830a480d1a097e31e0607558b46",
      "tree": "37ada104e29bb6576f0f16d80c56f7263efb4af0",
      "parents": [
        "ad38634064bccb072e2fdff776a05d1131e9eca6",
        "44078f92b96ec7111b606b73f0af86b1a57093e4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 03 10:22:15 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 03 10:22:15 2018 +0000"
      },
      "message": "Merge \"Setup profiling_info_test dependencies.\""
    },
    {
      "commit": "a497a39fe8830fe7b1c1c23b413753fe4e12923b",
      "tree": "c1f02f404feefb94fa105a563f0e6c1146ab22b8",
      "parents": [
        "d6266f3292eab5b043262c6366ed6b8131e152c5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Sep 26 10:52:50 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 02 08:54:11 2018 +0100"
      },
      "message": "Remove patchoat.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nBug: 77856493\nChange-Id: I6686ce9d23e02aa8b8ef4081b302dbd860d07718\n"
    },
    {
      "commit": "44078f92b96ec7111b606b73f0af86b1a57093e4",
      "tree": "722341e2b807e0796b95c0794668f32188ff0245",
      "parents": [
        "f4180000ce79d2b360fad00fc1369c533f337124"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 01 12:57:55 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 01 12:57:55 2018 +0100"
      },
      "message": "Setup profiling_info_test dependencies.\n\nbug: 116847787\nTest: profiling_info_test\nChange-Id: Ib8121d9f05b2683bf07d50d023c7694ff0c8c4f5\n"
    },
    {
      "commit": "64c2d77138f65bb7fae00aa8802055062c368fd9",
      "tree": "408d916a5888cc64acc93ee13b7cc0e017656e3c",
      "parents": [
        "4a25727eba333c19dc6eacc35950c526c11041d4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 31 09:22:44 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 31 10:14:07 2018 +0100"
      },
      "message": "Define $(ADB) in ART makefiles instead of hard-coding adb.\n\nFollow-up after restrictions put in place by the build, see:\nhttps://android.googlesource.com/platform/build/+/master/Changes.md#PATH_Tools\n\nTest: test-art-target-sync, test-art-target-gtest\nChange-Id: Ibd01be9c348ef1cc24d53d0d4c30c64eb1d9eac7\n"
    },
    {
      "commit": "1391390a775ca54fa1dd22ceccf211eae84073ea",
      "tree": "6d722ffc3480bf93bf9ce71b9dfe1437b5ac1dc5",
      "parents": [
        "75eec5d14039d4cbc4ec9b96485b743573665627"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Aug 24 14:19:06 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Aug 28 14:21:35 2018 +0100"
      },
      "message": "Add core-simple to the standard boot classpath\n\nTrack changes in build/make to add core-simple to the\nruntime boot classpath.\n\nBug: 113148576\nTest: Treehugger / build / boot\nTest: CTS: run cts-dev -m vm-tests-tf\nChange-Id: I649acd3e354948e5b1a56d0531aceb45f244aa9d\n"
    },
    {
      "commit": "928567baee62129525b1717f61afe23bc1e18666",
      "tree": "da9d7c28e9a4e732028326ea9f6c94959157408f",
      "parents": [
        "ca182f2c81e7102d3ccd1c4ec5c96e602ad343fe"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 01 10:21:12 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 01 10:21:12 2018 +0100"
      },
      "message": "Fix jni_internal_test dependency.\n\nbug: 111935423\nTest: jni_internal_test\nChange-Id: I4e5af07337fdf2b08b6975ca8f6b2873f347e600\n"
    },
    {
      "commit": "64fe3be84105db1a8f35550ae0a3c06f1092d436",
      "tree": "22f91ab45b3c8b1d940e83a0fd24b851be32949c",
      "parents": [
        "cca7cb9ffa56d8ab8fd0c5997c8bfd965d7426c1"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jun 15 12:50:22 2018 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Jun 26 14:08:29 2018 +0000"
      },
      "message": "ART: Retire desugar and dx in run-tests\n\nRun-tests now use d8 for desugaring and dexing.\n\nBuild scripts no longer have hand written dexer invocations.\n\nBug: 110150973\nBug: 73711890\nTest: art/test.py --host --64 -r\nTest: art/test.py --target --prebuild --optimizing -r\nChange-Id: Iae2199cf756624c1f045de7777c5ee6432398bd2\n"
    },
    {
      "commit": "05e34f4cb8c9db165d1008721e874b9dd3db024b",
      "tree": "c41d397ef5cfb9d7918fceadcda3195a0d0d91de",
      "parents": [
        "428d80e3a49f732b39bb0c71cfde26451e3fdf4d"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 24 13:19:05 2018 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jun 11 14:03:37 2018 +0100"
      },
      "message": "Revert^2 \"Remove support for Valgrind in ART.\"\n\n- Disable test configuration art-gtest-valgrind64\n  (art-gtest-valgrind32 was already disabled).\n- Remove Makefile logic regarding testing with Valgrind.\n- Remove occurrences of `TEST_DISABLED_FOR_MEMORY_TOOL_VALGRIND`.\n- Replace occurrences of `TEST_DISABLED_FOR_MEMORY_TOOL_ASAN` with\n  `TEST_DISABLED_FOR_MEMORY_TOOL`.\n- Replace the potentially dynamically evaluated\n  `RUNNING_ON_MEMORY_TOOL` expression with constant\n  `kRunningOnMemoryTool`.\n- Simplify and fold the logic of\n  `art::ArenaAllocatorMemoryToolCheckImpl` and\n  `art::ArenaAllocatorMemoryToolCheck` into\n  `art::ArenaAllocatorMemoryTool`.\n- Adjust comments regarding memory tools.\n- Remove Valgrind suppression files.\n- Remove `--callgrind` option from tools/art.\n\nThis reverts commit 8b362a87d52a6668ffd2283ef6ffc274315f41c8.\n\nChange-Id: I23c76845e6ccf766f19b22b58a0d5161f60842a9\nTest: art/test.py\nTest: art/test/testrunner/run_build_test_target.py art-asan\nBug: 77856586\nBug: 29282211\n"
    },
    {
      "commit": "c6d02fd9d27429d8940b04b1d60f2497c4eeb776",
      "tree": "2f2a55696b5191dc87532909129cdeb1b5189453",
      "parents": [
        "aaebb1468cc95838aa58ed537d03de000c9cfe28"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed May 23 14:31:46 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed May 23 16:59:33 2018 +0100"
      },
      "message": "Fix gtest Makefile rules with respect to chroot support.\n\nTest: make test-art-target-gtest\nBug: 34729697\nChange-Id: I751b138b39a5f77306940ca2114a30e9c2757dd4\n"
    },
    {
      "commit": "197f1ef6f4f2411d011d7e8f696775c3fbcffd86",
      "tree": "eacc720024479e75b03d12ac6764f2cd2ba945b3",
      "parents": [
        "04f0eaffa70e0384c07bb3680aa0724144358330",
        "8b362a87d52a6668ffd2283ef6ffc274315f41c8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 22 23:00:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 22 23:00:40 2018 +0000"
      },
      "message": "Merge \"Revert \"Remove support for Valgrind in ART.\"\""
    },
    {
      "commit": "8b362a87d52a6668ffd2283ef6ffc274315f41c8",
      "tree": "14b187cd0b4afde501b9cc7a9dc82c997362e888",
      "parents": [
        "8268cb677bd92bfbcfec7e803775c29687494e53"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 22 20:54:14 2018 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 22 20:54:14 2018 +0000"
      },
      "message": "Revert \"Remove support for Valgrind in ART.\"\n\nThis reverts commit 8268cb677bd92bfbcfec7e803775c29687494e53.\n\nReason for revert: ASAN failures\n\nChange-Id: I7e66d3f3fb461ae4f6dea6ec7d506b7dface3402\nTest: SANITIZE_HOST\u003daddress m test-art-host\nBug: 77856586\nBug: 29282211\n"
    },
    {
      "commit": "f31343f1eab771010b3f293366149d2524f30902",
      "tree": "5187b2bceee4c7d5347750dc6ba0020172d5ef51",
      "parents": [
        "e816389b61d17b9a82d8e61426ddfcce20e1238c",
        "8268cb677bd92bfbcfec7e803775c29687494e53"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue May 22 16:46:43 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 22 16:46:43 2018 +0000"
      },
      "message": "Merge \"Remove support for Valgrind in ART.\""
    },
    {
      "commit": "0226c1d40d6532757fc258cb0586a338a8cd2931",
      "tree": "f18dd1bf1359ae76c5d029a3b0d00c425b1bb8af",
      "parents": [
        "a7d37cf735f05cfc3a3585a5c44eb65d8a279874"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 17 00:19:12 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 17 10:09:55 2018 -0700"
      },
      "message": "Add some extra dexanalyze tests\n\nBased on dexdump tests, test for:\n- Missing arguments\n- Invalid input\n- Using core dex as input\n\nTest: test-art-host-gtest-dexanalyze_test\nBug: 77721545\n\nChange-Id: I8ce0607b6d3d60171de00a83047536195a81e26f\n"
    },
    {
      "commit": "8268cb677bd92bfbcfec7e803775c29687494e53",
      "tree": "b63ca42dcd440117187e3c859b4b311b11b8137e",
      "parents": [
        "004b8875b291af5001d384fb1eb76ae0660ff056"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri May 11 15:06:17 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon May 14 18:40:49 2018 +0100"
      },
      "message": "Remove support for Valgrind in ART.\n\n- Disable test configuration art-gtest-valgrind64\n  (art-gtest-valgrind32 was already disabled).\n- Remove Makefile logic regarding testing with Valgrind.\n- Remove occurrences of `TEST_DISABLED_FOR_MEMORY_TOOL_VALGRIND`.\n- Replace occurrences of `TEST_DISABLED_FOR_MEMORY_TOOL_ASAN` with\n  `TEST_DISABLED_FOR_MEMORY_TOOL`.\n- Replace the potentially dynamically evaluated\n  `RUNNING_ON_MEMORY_TOOL` expression with constant\n  `kRunningOnMemoryTool`.\n- Simplify and fold the logic of\n  `art::ArenaAllocatorMemoryToolCheckImpl` and\n  `art::ArenaAllocatorMemoryToolCheck` into\n  `art::ArenaAllocatorMemoryTool`.\n- Adjust comments regarding memory tools.\n- Remove Valgrind suppression files.\n- Remove `--callgrind` option from tools/art.\n\nTest: art/test.py\nBug: 77856586\nBug: 29282211\nChange-Id: Ifdcbfccc1830104c455760457df66ede4a4cd135\n"
    },
    {
      "commit": "e11945792a98282c5383bf514d466e6346adb3a2",
      "tree": "0a5a80fdc465ff901b088a8d408eaeef84d43263",
      "parents": [
        "57b1bcd19934b447eda315dc1b612ab91a87b2fd"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 10 17:57:20 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 10 17:59:17 2018 +0100"
      },
      "message": "Fix the target gtest witness filename expansion in Makefile rules.\n\nAlso fix the path to the valgrind binary in target valgrind\ngtest rules.\n\nTest: Run ART gtests with chroot\nTest: Run ART gtests without chroot\nBug: 34729697\nChange-Id: I164185ea63eee1b19f039436f99933c040f4c66e\n"
    },
    {
      "commit": "76cfe61b0c20f7c9d9ba9b60b188f483d81c5f68",
      "tree": "7ac27f14dedefc355c9f890d339397b8fdcb3e52",
      "parents": [
        "b865d9af3bb5f4777dbe9cbd60cdb2a8fe5f0557"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Oct 30 13:14:28 2017 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue May 08 13:55:56 2018 +0100"
      },
      "message": "Support ART on-device testing in a chroot environment.\n\nThis change updates the ART test rules and scripts to allow\ninstallation and ART testing in a chroot directory on device.\n\nAll existing ART testing is supported:\n- ART gtests (with and without Valgrind).\n- ART run-tests.\n- libcore tests (with companion CL in external/vogar).\n- JDWP tests (with companion CL in external/vogar).\n\nTest: Run ART tests (gtest, run-tests, libcore tests, JDWP tests) in chroot\nBug: 34729697\nBug: 68125496\nChange-Id: I398e9bafee61eccd98d827ab8d9b8f6395aaa853\n"
    },
    {
      "commit": "d5f8de8bc61160bb2cecdcc0f5aa54d151b6176a",
      "tree": "efecd6d3dffd3a1d768b87a111d9e60335d9108c",
      "parents": [
        "9417b6b81393253a56b1b9bb4c7d8a2a2966707e"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Apr 27 14:12:03 2018 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Tue May 01 16:23:42 2018 -0700"
      },
      "message": "Add CommonArtTest\n\nAdd a test framework that does not start up a Runtime object.\n\nBug: 78651010\nTest: make -j 40 test-art-host\nChange-Id: I6c8af384af5fe1289c6cf137635e94934ac3795d\n"
    },
    {
      "commit": "c523600ec234e00dfdc31149e9bda9c4f27addf7",
      "tree": "8e74dcaffb303a1dc640a9209ead5f02ef37f878",
      "parents": [
        "550ea7bd03005e6b416e31b36fcf9626504aad37",
        "5d2dbf8958857d139e5f7e06940b2f6b713bc522"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 14 01:29:02 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Apr 14 01:29:02 2018 +0000"
      },
      "message": "Merge \"Fix build warnings for x86+arm targets\""
    },
    {
      "commit": "0be7fa708455e2ffbf3779166269acee7a4a6791",
      "tree": "dc85326d5d93a11d12fd48a05feef43f9001f724",
      "parents": [
        "fe6cf7cb0865cc1710d14ff8a41817794e965ea5"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 12 10:13:29 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 12 10:32:14 2018 -0700"
      },
      "message": "Fix typo in clean vars for dexanalyze_test\n\nBug: 77721545\nTest: make\n\nChange-Id: If408ffc115ae998000ab00305706d06536be75a5\n"
    },
    {
      "commit": "2e0478a62e314ff4ce2334da7608543fa93e7c68",
      "tree": "871b75216bf0fd227fb17a0c738289edffaf0a82",
      "parents": [
        "dc83dea435e059b7ff0969636d0a6bec689e60f6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 06 14:33:25 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 11 14:47:01 2018 -0700"
      },
      "message": "Add dexanalyze tool\n\nUsed to gather statistics about dex files.\n\nSample output:\nCumulative analysis for 240 DEX files\nNum string ids: 9809636\nNum method ids: 11334990\nNum field ids: 8281881\nNum type ids: 2291729\nNum class defs: 1604550\nSame class direct: 1577080\nOther class direct: 5114002\nSame class virtual: 2118445\nOther class virtual: 15998142\nSame class static: 693507\nOther class static: 6496367\nNum strings accessed from code: 5832974\nUnique(per class) method ids accessed from code: 15169103\nUnique(per class) string ids accessed from code: 4279695\nSame class invoke: 4389032\nOther class invoke: 27608511\nInvokes from code: 31997543\n\nBug: 77709234\nBug: 77721545\nTest: time dexanalyze -count-indices \u003cAPKS\u003e\nTest: mm test-art-host-gtest-dexanalyze_test -j64\nTest: mm test-art-target-gtest-dexanalyze_test -j64\n\nChange-Id: I3cd3fd10a9c540c7780942fc33f4eb4c7ff5d914\n"
    },
    {
      "commit": "5d2dbf8958857d139e5f7e06940b2f6b713bc522",
      "tree": "48fcb1b3177ba69988171adb8c10d99839958fbb",
      "parents": [
        "dc83dea435e059b7ff0969636d0a6bec689e60f6"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Apr 11 12:31:11 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Apr 11 13:44:48 2018 -0700"
      },
      "message": "Fix build warnings for x86+arm targets\n\nThis likely doesn\u0027t fix all of the issues, but it at least removes the\npages of overriding command warnings for these configurations.\n\nTest: lunch aosp_x86_arm-eng; m nothing\nTest: build-aosp_arm.ninja is identical\nTest: build-aosp_arm64.ninja is identical\nChange-Id: Iacdfd56d098eec08cf588c98ca00c7c7e10c6261\n"
    },
    {
      "commit": "cf767de732a63afb03622c694cd40c01538d67ed",
      "tree": "848525d6efdda02b89b40a47f89a2ec8f6a7d66d",
      "parents": [
        "8d2e70ae234d53f825f6876f5b5e75bdfe6729b5"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Apr 10 16:40:10 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Apr 10 16:40:10 2018 -0700"
      },
      "message": "Fix RUNTIME_TARGET_GTEST_MAKE_TARGETS\n\nThis was including only the \u003cfilename\u003e, while Soong test_per_src tests\nare exposed to make as \u003cname\u003e_\u003cfilename\u003e. So deconstruct the path, which\nuses .../\u003cname\u003e/\u003cfilename\u003e, instead of just taking the basename.\n\nThis has been causing warnings on some internal branch builds, about how\nwe were asking for these modules, but that they didn\u0027t exist. This\nchange removes those warnings.\n\nTest: Check warnings on internal branches\nChange-Id: I4b8559961f51cc32f2fac0bf6fb15ee34ba72bdd\n"
    },
    {
      "commit": "177696278224434829b6a7a7bc0a3cdebe7ae19d",
      "tree": "ca5a708d38bd43943629e5ab7993c1418e7f45b4",
      "parents": [
        "faa7b29f1e0c311e42ab5a265cb1b17036ca5a10"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Apr 06 13:26:36 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Apr 06 13:49:06 2018 -0700"
      },
      "message": "Fix overriding commands warnings/error\n\nOn mac, where the x86_64 architecture is disabled, and on linux when the\nART_BUILD_HOST_[N]DEBUG\u003dfalse flags are set (or even the TARGET versions),\nthe modules referenced here aren\u0027t defined. Due to the text processing,\nwe end up with multiple rules defining the \u0027Uncompressed\u0027, \u0027Stripped\u0027,\netc targets:\n\nart/build/Android.gtest.mk:97: error: overriding commands for target\n`Stripped\u0027, previously defined at art/build/Android.gtest.mk:93`\n\nThese are becoming errors in this CL:\n\nhttps://android-review.googlesource.com/c/platform/build/+/657896\n\nBug: 77611511\nTest: on mac: m nothing\nTest: on linux: ART_BUILD_HOST_DEBUG\u003dfalse ART_BUILD_HOST_NDEBUG\u003dfalse \\\n  ART_BUILD_TARGET_DEBUG\u003dfalse ART_BUILD_TARGET_NDEBUG\u003dfalse m nothing\nTest: out/build-aosp_arm.ninja is the same (on linux with no args)\nChange-Id: I0fec90398839fb6e3cc6443e2e37f934401dc177\n"
    },
    {
      "commit": "567dc6f16fd8d399b19e5c9f6199ba5be82374d9",
      "tree": "9e9410ba879db760e26b6f29491e6e042560d638",
      "parents": [
        "6fcf35bc06b1eb88080863b3bd8f7e16ca099910"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 05 16:37:14 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 05 16:39:33 2018 -0700"
      },
      "message": "Revert \"Revert \"Write shared data section for oatdump export dex\"\"\n\nTest: test-art-target-gtest-oatdump_test64 -j64\nBug: 77469384\n\nThis reverts commit 4b670183dcc5173c19922b3f3d87c2fbddbb7a34.\n\nChange-Id: Ic727a005436753ea58ee5d10cd1aca5fbd532c6a\n"
    },
    {
      "commit": "4b670183dcc5173c19922b3f3d87c2fbddbb7a34",
      "tree": "440b7f5f212c0e3b61f2b366d2d06bd671ba3930",
      "parents": [
        "fdca4cb565c25a4a05078b2afc3f7abb374309e3"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Apr 04 12:54:15 2018 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Apr 04 12:54:15 2018 +0000"
      },
      "message": "Revert \"Write shared data section for oatdump export dex\"\n\nThis reverts commit fdca4cb565c25a4a05078b2afc3f7abb374309e3.\n\nReason for revert: CHECK failure in device testing (bad checksum).\n\nChange-Id: I43bd3ada4853022728d217ff8b79c32026fc4974\n"
    },
    {
      "commit": "fdca4cb565c25a4a05078b2afc3f7abb374309e3",
      "tree": "0d022efa40d6ac742389d81a8aea1b83dce7928f",
      "parents": [
        "bc444ffaaa51fe3be38d4037929d7755a6ffb6c7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 03 13:29:13 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 03 13:31:00 2018 -0700"
      },
      "message": "Write shared data section for oatdump export dex\n\nWrite this out so that the resulting dex can be dumped and inspected.\n\nBug: 77469384\nTest: test-art-host-gtest-oatdump_test\n\nChange-Id: Iadeaca0eaaf7c75a938dfc776801cf94c89d07f6\n"
    },
    {
      "commit": "7d74ef585063ca2adc0ba9c18008b7c1671ff699",
      "tree": "eba7606a42ed036ca560564a939da1528aa8ba54",
      "parents": [
        "e8a4e378c5a928d5de07bee6db99150a57dabcd8"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri Mar 16 14:18:33 2018 +0000"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Tue Mar 27 16:28:57 2018 +0100"
      },
      "message": "Support for API exemptions from API blacklisting.\n\nAdd support to VMRuntime for setting a list of exemptions from the hidden\nAPI enforcement. The list is used as a prefix match against the signature\nof a field/method. Any signatures that match are treated as being on the\nlight grey list, rather than the dark grey list or blacklist.\n\nRefactor some code in hidden_api.h that deals with field/method signatures,\nto encapsulate the signature in a new class MemberSignature. This allows us\nto avoid building the entire signature in member, instead just using its\nconstituent parts.\n\nTest: $ make test-art-host-gtest-hidden_api_test\nTest: $ adb shell settings put global hidden_api_blacklist_exemptions \\\nTest:    Landroid/view/RemoteAnimationDefinition\\\\\\;:Landroid/app/ActivityManager\\\\\\$TaskDescription\\\\\\;\nTest: Manually verify logcat output from app which uses named APIs\nBug: 73337509\nChange-Id: Id608743d1b5a7a37059875d8991d0d4d65f5fc36\n"
    },
    {
      "commit": "1f130f16f8f8cedd61808a40c04ad1150898d268",
      "tree": "e582d0e5f65d97de8e1da83b67704d2e0b89c67e",
      "parents": [
        "68f0680e83179cfe0127fda54a8e02a8552bf619"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Mar 12 18:39:19 2018 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Mar 12 18:41:15 2018 +0000"
      },
      "message": "Add missing Dex file dependency for ART gtest oat_writer_test.\n\nTest: m test-art-host-gtest-oat_writer_test\nChange-Id: Iad604d0f282219759814c14dea8fd9253a68ff7f\n"
    },
    {
      "commit": "67bf42e89592c3a1c648f927f2ce3ccb189a1161",
      "tree": "054d5b7adf7cc62d4d2a2118a70c0fbdd1751610",
      "parents": [
        "d961043ff1dd6fddb68aa90c1f939cfafec24219"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Feb 26 16:43:04 2018 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Feb 28 15:08:21 2018 -0800"
      },
      "message": "Header library to remove dependence on runtime/\n\nAdd a new header library to remove libdexfile and others\u0027 dependence on\nruntime (typically runtime/base) includes in libdexfile.  Also a small step\nto tease dexlayout and profman away from relying on these as well.\n\nBug: 22322814\nTest: make -j 50 checkbuild\n      make -j 50 test-art-host-gtest\n\nChange-Id: I38e2fe399a75f4bc6318c77a71954c00ea73ec2b\n"
    },
    {
      "commit": "8352ecdf2054568284419e3103ae97412375a1d7",
      "tree": "9052306d27df3c66cc42439a914c95f6ccd6bd8a",
      "parents": [
        "5e5ec85f963766a2ca97aff5b15b6b4f6cc07655",
        "421087b06b44c66c8b3010ee5ea6c9a54461d38b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 28 17:36:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 28 17:36:21 2018 +0000"
      },
      "message": "Merge \"Fix oatdump for app with --boot-image and add test.\""
    },
    {
      "commit": "421087b06b44c66c8b3010ee5ea6c9a54461d38b",
      "tree": "efcbcf49af74d650c7084124bd2d42ecd1e5c42a",
      "parents": [
        "f70ea622cf22363ca7c2716714c2712faaf50238"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Feb 27 11:00:17 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 28 14:26:32 2018 +0000"
      },
      "message": "Fix oatdump for app with --boot-image and add test.\n\nTest: oatdump_app_test\nBug: 67081292\nChange-Id: I2e0bccac4ab866f6b54855f9795b16f2ea30c9bb\n"
    },
    {
      "commit": "ca881deb3ab80644f56c8c14e0c9e37c4bc350f7",
      "tree": "92bb548e4547c6ff154be2f47fc57f2b380b75f2",
      "parents": [
        "8dcb3527d416fb63f936a8fbeb7b59abfc2ac446"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Feb 27 21:26:32 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Feb 28 05:38:34 2018 +0000"
      },
      "message": "ART: Emit gtest xml during test runs\n\nLet the gtests emit xml reports.\n\nBug: 33456818\nTest: m test-art-host-gtest\nTest: DIST_DIR\u003d/tmp/random m test-art-host-gtest\nChange-Id: Ie21318fea530d3b33ffcf9fea3df4ca8136ac7c0\n"
    },
    {
      "commit": "1eac77e5f6306718c2c0e63f29228520b61371f9",
      "tree": "023bea45f8aa2f860227e24203203a9ec2fbb820",
      "parents": [
        "d32d79d76c0e2af7c65dc67f9322fc46b5677ee3"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Feb 26 15:54:41 2018 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Feb 26 18:31:45 2018 -0800"
      },
      "message": "sigchain: add test.\n\nAdd a gtest for the various sigchain wrappers.\n\nBug: http://b/73344857\nTest: adb shell /data/nativetest64/art/arm64/art_sigchain_tests/sigchain_test\n      (with several actual failures)\nChange-Id: I331da4f44008984723e2e2733e2a6dd66658e704\n"
    },
    {
      "commit": "d1652d14fbf477b3091eec3764b9890f2c072055",
      "tree": "59b421344a6148473d31ee733f120aebc515d594",
      "parents": [
        "d991e5119a2bb61542899da9708f794dc60677c4",
        "334b9d73482fba9c335d9b758041fc0865ef74d4"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Feb 15 16:21:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 15 16:21:21 2018 +0000"
      },
      "message": "Merge \"Move libdexfile out of runtime\""
    },
    {
      "commit": "6497ede52be6712619c06822ca43b37a8a0e6f84",
      "tree": "385b28b10aef97133c48dd0de67b43c58393b183",
      "parents": [
        "57207cd8a6cd5c2eb7ad0ec2094bf54973492322"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Feb 14 11:23:09 2018 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Feb 14 19:27:44 2018 +0000"
      },
      "message": "Fix dependencies on x86_64 valgrind\n\nx86_64 valgrind is called amd64, not x86_64.\n\nTest: lunch aosp_x86_64-eng \u0026\u0026 m checkbuild\nChange-Id: Ie529b9ca6cd12463d5604885c719438477a8c8a1\n"
    },
    {
      "commit": "334b9d73482fba9c335d9b758041fc0865ef74d4",
      "tree": "1e0d2050065110c37ee03ee8010ec24c8d31f32e",
      "parents": [
        "db8d9091bbab41060584ab80882b60df20337da7"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Feb 12 18:27:56 2018 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Feb 14 10:57:05 2018 -0800"
      },
      "message": "Move libdexfile out of runtime\n\nMove the files out of runtime, leaving unfortunate dependences still\nthere on runtime/base (for the moment).  Also separates the build logic\ninto two Android.bp files.\n\nBug: 22322814\nTest: make -j 50 test-art-host\nChange-Id: Ib0a1cda833b29ecfa4c8c50f23fab89ba666f491\n"
    },
    {
      "commit": "3bffbe8a8288cf01b7248fffdd320bf688529bcb",
      "tree": "cc613fa2990698024caf48ba695efcb6bca9a5fb",
      "parents": [
        "c6023e576f316cb22469b1cd150794521c086643",
        "b015529dcd9dac680b5c035d7ac52bca54061547"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 14 06:06:05 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 14 06:06:05 2018 +0000"
      },
      "message": "Merge \"Don\u0027t depend on x86 valgrind\""
    },
    {
      "commit": "b015529dcd9dac680b5c035d7ac52bca54061547",
      "tree": "9469a31bfb007b08ecb5187f212374a15fb5abf2",
      "parents": [
        "3d08bbd60aa255af99e575579e8fa78d12d77871"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Feb 12 16:50:49 2018 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Feb 13 13:53:51 2018 -0800"
      },
      "message": "Don\u0027t depend on x86 valgrind\n\nValgrind is not supported for x86+SSE4, so we don\u0027t build an x86\nversion.  Don\u0027t depend on it to avoid triggering dangling\ndependency checks.\n\nTest: lunch aosp_x86-eng \u0026\u0026 m checkbuild\nChange-Id: I156bcdf92d9a70ad7e796e1d7e69f5797c9f1738\n"
    },
    {
      "commit": "9b559574cbc3d565385acfbb01a6cc9027302b08",
      "tree": "70d2300db185260eb55bee6ab9f17a1702b89684",
      "parents": [
        "3a18549725e10b2be898e13659001d6694b39f08",
        "139512d4b110b087ea5439852f9f53e90e3d5a33"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 10 02:14:24 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 10 02:14:24 2018 +0000"
      },
      "message": "Merge \"Split dex_file_loader_test\""
    },
    {
      "commit": "fc604a7065142b61a4d2f468ddb46733a916b4cd",
      "tree": "b529fed07e9fd9518767dd8757154693d521a0aa",
      "parents": [
        "67a3d45c89c0e43f7206936a7438dfed79fea159"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Feb 08 15:43:37 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Feb 09 13:14:53 2018 -0800"
      },
      "message": "ART: Be more robust with multidex uncompressed-dex odex files\n\nReject odex/vdex files that mix embedded and uncompressed dex files.\nThis simplifies the code and allows early detection of mismatches\nand corruption.\n\nBug: 73086368\nTest: m test-art-host\nTest: m test-art-host-gtest-oat_file_test\nTest: manual (with bug\u0027s environment)\nChange-Id: Icccb3ca29b6c5f5adefe3735c91b8b6eac113af6\n"
    },
    {
      "commit": "139512d4b110b087ea5439852f9f53e90e3d5a33",
      "tree": "6372bda67a55ba5bc505def17eb87b942827cf4b",
      "parents": [
        "cd4ddeea1c33d5f9b7758d116451bd06f1b81aff"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Feb 08 15:44:50 2018 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Feb 09 10:59:57 2018 -0800"
      },
      "message": "Split dex_file_loader_test\n\nInto DexFileLoader and ArtDexFileLoader portions.  This is the last test\nrefactoring before moving libdexfile out of the runtime directory.\n\nBug: 22322814\nTest: make -j 50 test-art-host\nChange-Id: I7568a7b444fb110f64614f2066df6eb5ab3a5c69\n"
    },
    {
      "commit": "700a9851eb3271c00c537a865d74f2fe38419584",
      "tree": "8b6c0c0c95df62937eacb61285c4841f91b19209",
      "parents": [
        "5168173dd6e79341b4b1f0a349721a2c7aa2a846"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 06 18:27:38 2018 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 07 11:29:09 2018 -0800"
      },
      "message": "Fix potential null read for truncated dex files\n\nIn the case where a dex file is truncated, don\u0027t attempt to read the\nheader.\n\nAdded regression test.\n\nBug: 63756964\nBug: 72826975\nTest: mm test-art-host-gtest-dex2oat_test -j64\nTest: mm test-art-target-gtest-dex2oat_test -j64\nChange-Id: I9bd6bb445ef2eb1c961044f43ac71f04ef8c04a5\n"
    },
    {
      "commit": "b95eb37a04874a57046fba7fc09a8b197691e9a2",
      "tree": "547fb453899b546223dde08238e25cba3dc5fb0a",
      "parents": [
        "f60b4c80e01b21da2228d35bc20309913065565d",
        "f30752709e1131ae1a4c16f22cc7a0960c198e77"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 24 08:56:59 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 24 08:56:59 2018 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Don\u0027t embed the dex code in the oat file if dex is uncompressed.\"\"\""
    },
    {
      "commit": "c05fd3fe688239700baf205dfd2910338a534dcb",
      "tree": "31c451e7142b22637edd3c5877e85d968ed10e49",
      "parents": [
        "6650b0db52eee45f024652bae526ad64166ae02f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 23 14:22:07 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 23 14:22:07 2018 -0800"
      },
      "message": "ART: Fix gtest stack invocation\n\nEnsure that the stack tool always finds ANDROID_BUILD_TOP, even if\nenvsetup wasn\u0027t run. Follow-up to commit 6acebf451.\n\nBug: 31098551\nTest: m test-art-host-gtest\nTest: m SANITIZE_HOST\u003daddress test-art-host-gtest\nChange-Id: I63dc3f94c31dfc101d8ebfcf63c63684e9a92140\n"
    },
    {
      "commit": "f30752709e1131ae1a4c16f22cc7a0960c198e77",
      "tree": "c671f0ac704f7a702fed77295a1d5fe690425394",
      "parents": [
        "2e1791b74406fba9930bbe5dfa5358d2d2c07e1a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 08 12:41:19 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 23 14:38:35 2018 +0000"
      },
      "message": "Revert \"Revert \"Don\u0027t embed the dex code in the oat file if dex is uncompressed.\"\"\n\nBug: 63920015\nBug: 70854754\n\nTest: oat_writer_test.cc, test.py\n\nRevert was due to userdebug/user differences, which is fixed with:\nhttps://googleplex-android-review.googlesource.com/#/c/platform/build/+/3434091/\n\nThis CL also fixes oatdump when the dex code is not in the .vdex file.\n\nThis reverts commit e166e67666bf4b23e4ed0a98f5e2bb3cae9cee7d.\n\nChange-Id: Iec924be2ff8f03cf2ebe306e7a0018241f33beb0\n"
    },
    {
      "commit": "6acebf451acb86fc778c17ed2e129463e5b836ec",
      "tree": "0e57a935928c64933f18075fe423a582b35c33fa",
      "parents": [
        "b6d077aceb38922891a6b9e79714bad3072f9c15"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jan 22 22:15:43 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jan 22 22:33:53 2018 -0800"
      },
      "message": "ART: Add symbolization pass to host gtests\n\nWhen running under sanitization, add a symbolization pass to gtest\nfailures. This compensates for the disabled runtime symbolization,\nand brings gtest to parity with run-tests.\n\nThis pass is only enabled under sanitization as it incurs extra\nI/O for a temporary file, and loses the default coloration.\n\nBug: 31098551\nTest: m test-art-host-gtest\nTest: m SANITIZE_HOST\u003daddress test-art-host-gtest\nChange-Id: Id36d907f3ffe9c8480fa5b4af94807d5e6532fda\n"
    },
    {
      "commit": "2b9c35be35a759ba2032692648f5bbcb1e7e78c8",
      "tree": "4825fdb4a4ecd27922dc9c945b30423534e67010",
      "parents": [
        "6d4c343ee5db18f039aeb3e07ff8d3c1fd37c3a0"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Jan 12 15:44:43 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Jan 16 15:32:12 2018 +0000"
      },
      "message": "Introduce new build tool: hiddenapi\n\nNew tool `hiddenapi` iterates over all class members inside given\nDEX files and modifies their access flags if their signatures\nappear on one of two lists - greylist and blacklist - provided as\ntext file inputs. These access flags denote to the runtime that\nthe marked methods/fields should be treated as internal APIs with\nrestricted access.\n\nTwo bits of information are encoded in the DEX access flags. These\nare encoded as unsigned LEB128 values in DEX and so as to not\nincrease the size of the DEX, different modifiers were chosen to\ncarry the information under different circumstances.\n\nFirst bit is encoded as the inversion of visibility access flags\n(bits 2:0). At most one of these flags can be set at any given time.\nInverting these bits therefore produces a value where at least two\nbits are set and there is never any loss of information.\n\nSecond bit is encoded differently for each given type of class\nmember as there is no single unused bit such that setting it would\nnot increase the size of the LEB128 encoding.\n - Bit 5 for fields as it carries no other meaning\n - Bit 5 for non-native methods, as `synchronized` can only be set\n   on native methods\n - Bit 9 for native methods, as it carries no meaning and bit 8\n   (native) will make the LEB128 encoding at least two bytes long\n\nThis tool is meant to be applied on boot class path DEX files and\nas such, this encoding is not part of the DEX specification and may\nchange in the future. Access flags returned by ClassDataItemIterator\nare stripped of these hidden flags and thus fully transparent to the\nruntime.\n\nTest: m test-art-host\nBug: 64382372\nChange-Id: Ifc237ff8a35a8b470b7fc682a9cb879370d1e6e9\n"
    },
    {
      "commit": "f4bf58d9b13972117c640ea1d7bfa6e6dfc189ea",
      "tree": "a6bdf10f36796c1924e9dca6bfcf1477269c8073",
      "parents": [
        "d6b7e8c63f8eca25460f56f66dcae15eaa897ff0",
        "ec2cdf4286921131a5f9b3ed12060657ec40f636"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jan 10 13:57:04 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 10 13:57:04 2018 +0000"
      },
      "message": "Merge \"Try to mmap vdex file within the address range of the ELF file.\""
    },
    {
      "commit": "ec2cdf4286921131a5f9b3ed12060657ec40f636",
      "tree": "32f15162b6b74ed247e75eeb9b9cbe936760eca5",
      "parents": [
        "ee58c02b5959944a2db198a2d58355651ed29d53"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Dec 08 16:21:25 2017 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Jan 04 17:08:50 2018 +0000"
      },
      "message": "Try to mmap vdex file within the address range of the ELF file.\n\nAdd ELF section for the vdex file and mmap it there at runtime.\nThis ensures that the data is at predictable location, which\nis needed to be able to reference it from native debug-info.\n\nThis does not change the amount of memory allocated, or the\nlocation of the data on disk.  However, it does change how\nthe memory is allocated - it replaces two allocations\n(ELF and vdex) by just one (ELF which includes the vdex).\n\nBug: 71579677\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\n\nChange-Id: Ie2abd36c8b6617a527368e71f932998bbe5ad38c\n"
    },
    {
      "commit": "50173eb643bb1e9aa024e2fd11ac48d93e6bd786",
      "tree": "465c9e587a6fc19fde2941bd4a3804e56a3c27c3",
      "parents": [
        "90f20973356900e340998e8e2b34230e5c4c8fb0"
      ],
      "author": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Wed Dec 20 13:33:21 2017 -0800"
      },
      "committer": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Wed Jan 03 14:28:23 2018 -0800"
      },
      "message": "Make D8 Desugaring default.\n\nBug: 69329508\nTest: m checkbuild\nChange-Id: I25218efd33885a0b8c11858ccabeb4cfce4302bf\n"
    },
    {
      "commit": "a6615945258f003756ce7f344670a2802fad7037",
      "tree": "ebeb5b97ff910ec282c4d32104d73a4372979051",
      "parents": [
        "69b2560d6aa74b38cbbd22b8fdabbfb38e814835",
        "e166e67666bf4b23e4ed0a98f5e2bb3cae9cee7d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 19 22:55:03 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 19 22:55:03 2017 +0000"
      },
      "message": "Merge \"Revert \"Don\u0027t embed the dex code in the oat file if dex is uncompressed.\"\""
    },
    {
      "commit": "e166e67666bf4b23e4ed0a98f5e2bb3cae9cee7d",
      "tree": "c76c20d3f409cdc8bee26c03fd5e76356f150653",
      "parents": [
        "ae7e83817e546848ef6b2949dd9065b153e14316"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Dec 19 18:59:29 2017 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Dec 19 18:59:29 2017 +0000"
      },
      "message": "Revert \"Don\u0027t embed the dex code in the oat file if dex is uncompressed.\"\n\nThis reverts commit ae7e83817e546848ef6b2949dd9065b153e14316.\n\nReason for revert: Broken wrt/ preopted apps and stripping\n\nBug: 63920015\nBug: 70777774\nChange-Id: I39580684d46fa57bd780d2d8bedd65a47d58cf5e\nTest: m\n"
    },
    {
      "commit": "d1d5c95f5ae38ca194c251914da82371e0192b60",
      "tree": "1076af939f9be74665adfc244e7208b8a8fb06ba",
      "parents": [
        "bee510c94560703102ca553a08ec47119959c204"
      ],
      "author": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Fri Dec 15 12:57:33 2017 -0800"
      },
      "committer": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Fri Dec 15 22:18:17 2017 +0000"
      },
      "message": "Revert^4 \"Add patchoat test\"\n\nThis reverts commit 1fb8d5ee6c7f03269cf08b18a0af5b4e25924a27.\n\nSkip the patchoat test on the build server where the build is not\nusing read barriers. Read barriers (or CMS/MS garbage collector) are\nrequired for the --force-determinism feature used by the test.\n\nTest: ./art/test/testrunner/run_build_test_target.py art-gtest-debug-gc\nTest: make test-art-host-gtest-patchoat_test\nTest: make test-art-target-gtest-patchoat_test\nBug: 66697305\nChange-Id: I99da0111ca0e34d32473dfe721b7a2f49289e850\n"
    },
    {
      "commit": "ae7e83817e546848ef6b2949dd9065b153e14316",
      "tree": "e46ea86e925c4b2a4237f5ebba0c7ba3d61b0359",
      "parents": [
        "dc93cac66f1db225474cec5bf0350fd7a148085e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 20 15:10:28 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 13 22:23:12 2017 +0000"
      },
      "message": "Don\u0027t embed the dex code in the oat file if dex is uncompressed.\n\nTake uncompressed dex code as a signal that the app wants to\nopt into b/63920015.\n\nbug: 63920015\nTest: dex2oat_test, 071-dexfile-clean-map\n\nChange-Id: I878e7bb80fc895a2d9aafe81aa7666b86af1f808\n"
    },
    {
      "commit": "a4ba9b53d8c102369a316c93ff14eaa488493435",
      "tree": "1cb1cc7de1e9cf8ca26abff047384295168ff112",
      "parents": [
        "a5197fa69737f89ea92758420539f74a19bf8947"
      ],
      "author": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Thu Nov 16 00:19:18 2017 -0800"
      },
      "committer": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Thu Nov 16 01:06:26 2017 -0800"
      },
      "message": "Rename d8 to d8-compat-dx\n\nBug: 69368371\nTest: ./art/test/testrunner/run_build_test_target.py -j110 art-test\nChange-Id: If06113796469393682bc5cd376fac917850bf384\n"
    },
    {
      "commit": "693bfbfce9867f19573d352bd754c81c2f0f91a4",
      "tree": "3b5880a4073869fc34d258b0778350a7907d08f8",
      "parents": [
        "4720046dfa1c3f396ac7dbcd3fe6179c1230bed1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 10 12:23:31 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 10 12:25:30 2017 -0800"
      },
      "message": "ART: Fix test dependencies and code\n\nLet profman target test correctly depend on profmand.\n\nCreate a debug version of dexlayout to be used in dexlayout_test.\nFix a bug in ProfileCompilationInfo referring to a nonexisting\nelement.\n\nTest: m test-art-host\nChange-Id: If2220f26c37c25a600399b2637f081c62cae9718\n"
    },
    {
      "commit": "4720046dfa1c3f396ac7dbcd3fe6179c1230bed1",
      "tree": "1f671f78f69b26077862fba8ed4c34d442e86758",
      "parents": [
        "a16fec549253638268dda3d83e6e34a500cbfc1c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 09 11:40:03 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 10 09:54:28 2017 -0800"
      },
      "message": "ART: Fix test dependencies\n\nEnsure we only depend on (installed) target binaries, to avoid\nbuilding host dependencies when not necessary.\n\nUse module names plus -host/-target to refer to the installed\nfiles, simplifying the test Makefiles.\n\nTest: art/tools/buildbot-build.sh --mode host\nTest: art/tools/buildbot-build.sh --mode target\nChange-Id: If6299487284af0b160c67408f9da421c69ca0e85\n"
    },
    {
      "commit": "cac31ad4c43a24a959a4d3652b8b46538bdc8c53",
      "tree": "fca3149e0ebf0817c859b9f7faa5098d230608c4",
      "parents": [
        "3b5df92d613bb72c8e6f8a766c60835d8313414f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 06 20:01:17 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 07 12:20:59 2017 -0800"
      },
      "message": "ART: Add compiler option for code deduplication\n\nAdd --deduplicate-code and --no-deduplicate-code to ease in\nexperiments with deduplication, e.g., profiling.\n\nAdd dex2oat test.\n\nTest: m test-art-host\nChange-Id: Ib6c7fe082f43c5f76c8463cc563e2503c9a50480\n"
    }
  ],
  "next": "a42e70403d85887f4d2340226334001f141dcdc9"
}
