)]}'
{
  "log": [
    {
      "commit": "3f285b2a088653cb8f96eb00b6fd59872df29305",
      "tree": "7af9eaa17389f2a9be43b963f72455a5f1149c6b",
      "parents": [
        "c3f9cd6be329e1d115d7156fa55e36cc6ed980ba"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 14 14:08:55 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 14 14:08:55 2019 +0000"
      },
      "message": "Revert \"Revert \"Stop-gap for buildbot and golem testing.\"\"\n\nThis reverts commit c3f9cd6be329e1d115d7156fa55e36cc6ed980ba.\n\nReason for revert: golem breakage is unrelated.\n\nChange-Id: I5fcf9013379cf00d0d85436c0225cf6cfd412f84\n"
    },
    {
      "commit": "c3f9cd6be329e1d115d7156fa55e36cc6ed980ba",
      "tree": "f8a50bc1f5e8fe4c9f4bc69d7b690fd08611ab84",
      "parents": [
        "39e95ec8e11bf165aafba91855224abc1e08fe5c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 14 13:43:38 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 14 13:43:38 2019 +0000"
      },
      "message": "Revert \"Stop-gap for buildbot and golem testing.\"\n\nThis reverts commit 39e95ec8e11bf165aafba91855224abc1e08fe5c.\n\nReason for revert: Temporary revert to diagnose golem issues.\n\nChange-Id: Id1dc7d6258e2805089679ea63b62abeee6644a7f\n"
    },
    {
      "commit": "39e95ec8e11bf165aafba91855224abc1e08fe5c",
      "tree": "7af9eaa17389f2a9be43b963f72455a5f1149c6b",
      "parents": [
        "a05344750f6996b32de18a25d0ba55115235dbb6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 12 17:14:22 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 13 10:41:13 2019 +0000"
      },
      "message": "Stop-gap for buildbot and golem testing.\n\nTest: build-art-golem\nTest: buildbot-build.sh\nBug: b/121117762\nChange-Id: I9c2c053aa0efec205fb7f97b986100e07fda28aa\n"
    },
    {
      "commit": "1e70b89afe0e022ec51210ea0da1e0706e194fd0",
      "tree": "1c2b9d0c52e008795ec122b4b904c85c103b3e31",
      "parents": [
        "61a9328e807426636d3e29699cd978d4a7a345c0",
        "6c70224ebd667b52a862f850893f6528af63f3e8"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 11 10:27:11 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 11 10:27:11 2019 +0000"
      },
      "message": "Merge changes Id4ffa9f9,I1bb5d05d\n\n* changes:\n  Replace MergeSets() with std::set::merge().\n  Replace StringPiece with std::string_view.\n"
    },
    {
      "commit": "e0f8bb99ad5c6f33d530f1157e1a116c42970deb",
      "tree": "0bc6b20a848b0d15dc25e601386c70581c137516",
      "parents": [
        "3b241361b639c297c99a1b00f40e89ad7fd184b8",
        "e512556ab85987c52e4be1fcd6d7a1d15a1b0fb6"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 08 10:24:41 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 08 10:24:41 2019 +0000"
      },
      "message": "Merge \"Replace StringPiece with std::string_view in profman.\""
    },
    {
      "commit": "8581e2a234b562880c1d6c6b5ad14d23f7b597ed",
      "tree": "460059a1717d7507fa2854c3d458ce0250ba2bbd",
      "parents": [
        "e512556ab85987c52e4be1fcd6d7a1d15a1b0fb6"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 06 15:54:55 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Feb 07 14:13:58 2019 +0000"
      },
      "message": "Replace StringPiece with std::string_view.\n\nThis replaces the last few StringPiece uses and removes\nthe stringpiece.h.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 123750182\nChange-Id: I1bb5d05df47319b6ca386db01e14ce048ae54daf\n"
    },
    {
      "commit": "e512556ab85987c52e4be1fcd6d7a1d15a1b0fb6",
      "tree": "16e82b22829a269dcb7b8c305bb0a44c6f74c58e",
      "parents": [
        "2f34e59c10c30ea24fa5f4bc4e3d5a9dc6469c34"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 06 17:38:26 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Feb 07 12:29:35 2019 +0000"
      },
      "message": "Replace StringPiece with std::string_view in profman.\n\nAnd in dexoptanalyzer and hiddenapi, see below.\n\nThe parsing helpers in utils.h were mostly unused, only\nprofman was calling one of them, so move that helper to\nprofman and rewrite and fix it, remove the other helpers.\nThis exposed dependency of dexoptanalyzer and hiddenapi\non StringPiece indirectly included from utils.h, thus we\nreplace it with std::string_view also in those tools.\n\nDuring the rewrite, avoid using std::string_view::data()\nas a null terminated string, prefer to fall back to the\noriginal null terminated raw option instead.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 123750182\nChange-Id: Ibeec8069a5d82ea556e03e4577812f94dca6f387\n"
    },
    {
      "commit": "905e8a2e4c8beb338fd2964da7755e1739e57734",
      "tree": "86666757be5d82a8143ac2661b488db59f199ab8",
      "parents": [
        "2f34e59c10c30ea24fa5f4bc4e3d5a9dc6469c34"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Feb 06 11:41:14 2019 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Feb 06 19:47:07 2019 +0000"
      },
      "message": "Add VMStart, VMInit, and VMDeath to tifast\n\nThese can be useful for investigating the ordering and filtering of\nevents sent by various java language runtimes.\n\nTest: art --64 \\\n          -Xplugin:$ANDROID_HOST_OUT/lib64/libopenjdkjvmti.so \\\n          -agentpath:$ANDROID_HOST_OUT/lib64/libtifastd.so\u003dlog,VMInit,VMStart,VMDeath,ThreadStart \\\n          -cp classes.dex \\\n          Main\nTest: java -agentpath:$ANDROID_HOST_OUT/lib64/libtifastd.so\u003dlog,VMInit,VMStart,VMDeath,ThreadStart \\\n           -cp . \\\n           Main\n\nChange-Id: I54320230ce567c8e947bc7c4835f5ba32e3072e3\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": "35c41c2539d7c671ccd94b84bb34db723b894c88",
      "tree": "e8b42bc6a8edaef8208325f753daf323e205553f",
      "parents": [
        "1923176c8e497c035dd0607037302664fcc77a2a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 01 10:08:08 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 01 10:22:37 2019 +0000"
      },
      "message": "Blacklist timing out test on gcstress/debug/host.\n\nTest: run-libcore-tests.sh\nChange-Id: If707e4d8c27a02487160158d4879f7a8c82b19f7\n"
    },
    {
      "commit": "cb14694c44926c85bb3a4e635816d5b917f7bdaf",
      "tree": "e85e7a4beecfeda9ce1eb1988a872ff41a1846ed",
      "parents": [
        "6b6f817b337d1decd605c689f25e6fc330983917",
        "3c8e28a03d8e72db33d2f139d95cb08803b46e4e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 31 22:07:46 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 31 22:07:46 2019 +0000"
      },
      "message": "Merge \"Workaround for bionic libs and linker now being in bootstrap.\""
    },
    {
      "commit": "3c8e28a03d8e72db33d2f139d95cb08803b46e4e",
      "tree": "8a8dce809103c738e8f3cfa1168921ae6abedde5",
      "parents": [
        "fcde77c303e19b7f4f734feb61fa58740d95d215"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 31 15:22:10 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 31 16:54:59 2019 +0000"
      },
      "message": "Workaround for bionic libs and linker now being in bootstrap.\n\nTest: buildbot-build, sync, tests\nBug: 120266448\nChange-Id: Ic3f65a996eab72b8750f5308fc8664abbb149e41\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": "8a64e773d4d1221166c6a8206315b450e448705a",
      "tree": "21d6156dc741017b80ad255050b2b744f858fe0c",
      "parents": [
        "9326ce87c420447c7caa72c94356f48733caa22f",
        "87da30ee0e2072cdbb72f9c35d57fedf97cfed58"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Jan 31 15:29:34 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 31 15:29:34 2019 +0000"
      },
      "message": "Merge \"Use prebuilt addr2line on host\""
    },
    {
      "commit": "c38948adb7969c6ae8a83a110338d09a37aa652a",
      "tree": "33168994647d816d5a935bce85f3b4a8c41e61f3",
      "parents": [
        "deb9c01442d6ef5972deaf552684804bc0242719",
        "a6ea602f6a9b277b523494d6a20398e9c8aec98c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 30 22:54:21 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 30 22:54:21 2019 +0000"
      },
      "message": "Merge \"Include BCP jar files in com.android.runtime.host\""
    },
    {
      "commit": "a6ea602f6a9b277b523494d6a20398e9c8aec98c",
      "tree": "9fa297a838b07029b9513c120d51b24e8f0343ca",
      "parents": [
        "f6eb989e8552b83d8d734d6b90536ec0bcd06bab"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jan 29 11:02:03 2019 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 30 13:02:29 2019 -0800"
      },
      "message": "Include BCP jar files in com.android.runtime.host\n\nThese are needed for host image compilation.\n\nTest: m com.android.runtime.host\nTest: ./art/tools/build_linux_bionic.sh com.android.runtime.host\nTest: Examine output\nTest: ./art/build/apex/runtests.sh\nBug: 119332365\nBug: 123645297\nChange-Id: I1e300b16fd4a612c45ebf30ec55acda2b5dff4ec\n"
    },
    {
      "commit": "87da30ee0e2072cdbb72f9c35d57fedf97cfed58",
      "tree": "3c807f2c6f8bb349be145af8c5ade4018a20390c",
      "parents": [
        "c0f797328e986dcdded1ba5e413ae01c24fedef9"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jan 30 15:51:23 2019 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jan 30 16:30:53 2019 +0000"
      },
      "message": "Use prebuilt addr2line on host\n\nThe build system rightfully warns if we use the system addr2line.\n\nBug: 123562439\nTest: Crash dex2oat during built and check the log output.\nChange-Id: I236df48bb49ab914da372de337da091b00a7459e\n"
    },
    {
      "commit": "6d55d3991217f1fb931f8a6bbf12a00f8974abe0",
      "tree": "25720071be21b84236a3494d0ad076dc5a1d191f",
      "parents": [
        "5247113f3277fd679e3e1beeb6fbfb30797aa481",
        "e6e01a0a00de80704ccb21c48d5d8bdee4470b77"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jan 30 14:07:48 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 30 14:07:48 2019 +0000"
      },
      "message": "Merge \"Revert \"ART: introduce PALette abstraction layer\"\""
    },
    {
      "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": "05d9b5035073713ade3eaff27b336edf54b00127",
      "tree": "e19640bfa8ae685ed34508d4cc436520b5fa91b3",
      "parents": [
        "5431f79cbb7aaf8de1dc7f0c7826c2d6369ce715"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 30 12:52:05 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 30 12:52:05 2019 +0000"
      },
      "message": "Blacklist test on all configurations.\n\nIt also fails on old Android OS.\n\nTest: run-libcore-tests\nChange-Id: Ic68bd49fbdddfc52464276c95dc0a603bf590e9b\n"
    },
    {
      "commit": "5431f79cbb7aaf8de1dc7f0c7826c2d6369ce715",
      "tree": "ab11b2de94b81644f4f6d4dfa969338e9df051d6",
      "parents": [
        "151692615e69063e635d345b5a942355dab9da61",
        "4b9d00aca9b025b545c9633b4605334c22fc4d2d"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jan 30 12:17:33 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 30 12:17:33 2019 +0000"
      },
      "message": "Merge \"ART: introduce PALette abstraction layer\""
    },
    {
      "commit": "d5b52c5733b45a916d84208908609854a607a142",
      "tree": "4235af3bf3a445df77870cc7e73fd6864a20a7d7",
      "parents": [
        "4ee4561f2153f3b0bc3be2e781488a97c73ca58e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 30 10:21:04 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 30 10:21:04 2019 +0000"
      },
      "message": "Blacklist test failing on host.\n\nTest: run-libcore-tests\nChange-Id: Ife2df16b748af4737893688c4de3205878c19390\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": "f2bfc6cf0a91d5bed0eace0214596e367547dbff",
      "tree": "3f4f8b01dd9827e384b7a9c402b6c6850526b1fe",
      "parents": [
        "0518af4e87d484b10e785aff9b030b688926cd7f"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Jan 28 15:40:08 2019 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Jan 28 15:40:08 2019 +0000"
      },
      "message": "Fix veridex reporting\n\nRecent changes \"broke\" veridex in the sense that it now reports\nuses of APIs which are both whitelist and core platform API (i.e.\nall whitelist). Numbers of greylist/blacklist uses were not affected.\n\nTest: run veridex on any APK\nChange-Id: I07769ab6882f7d44443889265127c2be7cf5b59b\n"
    },
    {
      "commit": "6677e432830025c01ed041e2de0fb827dbb2a6c5",
      "tree": "46abda6147c5f34df1dc3386b048cae75728a523",
      "parents": [
        "fe427267d2657d9ea9788ca517abcf3bb7d5ce0a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 25 10:19:18 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 25 10:19:18 2019 +0000"
      },
      "message": "Blacklist timing out test on gcstress.\n\nTest: run-libcore-tests.sh\nChange-Id: Ie469c7c1e170f913cefcaa76668ef8e821f8ebb4\n"
    },
    {
      "commit": "cda794006dcbe0b13ad48b30e099e08c81ded39d",
      "tree": "7fae78b9eb4d853424b24484b823dd84baa801d8",
      "parents": [
        "bf36682226e0ef92ea1cc9143ddecbeefd1d1a23",
        "9788b6982c47059905ec62d9faf4978996d2b298"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 24 17:32:31 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 24 17:32:31 2019 +0000"
      },
      "message": "Merge \"Fix braino in HiddenApi::IsInAnyList.\""
    },
    {
      "commit": "9788b6982c47059905ec62d9faf4978996d2b298",
      "tree": "0dcd2e04af3bbba7b5ae581f0a01d347a2d09a01",
      "parents": [
        "44bbff64196ee5d9ce16ad8543417a8a075d31aa"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 24 14:23:22 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 24 14:58:53 2019 +0000"
      },
      "message": "Fix braino in HiddenApi::IsInAnyList.\n\nBug: 123311905\nTest: m\nChange-Id: I00ac35a6359036b9a7d69dadf2c0e780a7e1ee17\n"
    },
    {
      "commit": "3482caa1c28a29dd6b274c7d3951cb66e10c307e",
      "tree": "821c33ed3eef03a7e0910154ab9e9a7b24dcadc2",
      "parents": [
        "e9a47db2df99df3f52e4b0d752147abfbe62f1f0"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 23 18:24:06 2019 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 23 21:00:00 2019 +0000"
      },
      "message": "hiddenapi: Enable assign-all CHECK\n\nMaster-art builds now pass --no-force-assign-all to `hiddenapi`. This\nenables us to turn a warning that on non-master-art builds all methods\nand fields have flags assigned to them. This also fixes logspam on\nbuildbots.\n\nTest: art/tools/buildbot-build.sh\nBug: 123143676\nChange-Id: Id0b57dbe9b0bb809bf22de1fd3b922a0886833ec\n"
    },
    {
      "commit": "21283ba50fa05c00891578825fa65a1a6b278750",
      "tree": "d16d120c9694d313c12e2fe0d040d00e178691dd",
      "parents": [
        "7b8da54ffb333744ae19e3ba719920bf8136984e",
        "0fed0611d30812139f6cf0e022d468ea4f63ab92"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 22 21:15:13 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 22 21:15:13 2019 +0000"
      },
      "message": "Merge \"The buildbot now uses device_testdex as modes.\""
    },
    {
      "commit": "0fed0611d30812139f6cf0e022d468ea4f63ab92",
      "tree": "775c19fbc9fe01062b33aec4a08141d7e9e059ba",
      "parents": [
        "357c64dc1c780901b195bb32010c2d78b9cd42c9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 22 18:05:26 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 22 18:10:19 2019 +0000"
      },
      "message": "The buildbot now uses device_testdex as modes.\n\nForgot this file in last CL.\n\nTest: run-libcore-tests.sh\nChange-Id: I5f62745b88a049c6124342381d02f42d65b737fa\n"
    },
    {
      "commit": "13031e5c59e86087f7c3650edc298efd72916282",
      "tree": "92aa56893cc602d69520271dea7a5743b4705682",
      "parents": [
        "357c64dc1c780901b195bb32010c2d78b9cd42c9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 22 09:05:07 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 22 09:05:07 2019 +0000"
      },
      "message": "Add quotes in empty check.\n\nRequired by bash.\n\nTest: run-gtests.sh\nChange-Id: Ibecb82066ab9e9ee68b7014dd54d503823b8b17b\n"
    },
    {
      "commit": "357c64dc1c780901b195bb32010c2d78b9cd42c9",
      "tree": "eb5cf7f4a4b117a85496474981847312ced1a24f",
      "parents": [
        "4889cc5be34520cd28e90056db20d460f92eb936",
        "5b93aef36e9b13f8c0f8019416807b95e6378aab"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 21 16:45:34 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 21 16:45:34 2019 +0000"
      },
      "message": "Merge \"Add a shell script for running all gtests on device.\""
    },
    {
      "commit": "5b93aef36e9b13f8c0f8019416807b95e6378aab",
      "tree": "925124e086824de4810cfa55913e460f36c9a5ef",
      "parents": [
        "ed9e0c9a5462bbb805000cb9483e334cda867b48"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 21 13:44:58 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 21 14:38:22 2019 +0000"
      },
      "message": "Add a shell script for running all gtests on device.\n\nTo be used by the buildbot\n\nBug: 123171789\nTest: run-gtests.sh\nChange-Id: I25f6ab5bd1527a1b9910ddff6afb5d5bcb357cbb\n"
    },
    {
      "commit": "90faceb71e25748172ba6369209f8a2a66735394",
      "tree": "64707bbd718b29de9a19c01b12b0cc872685bb13",
      "parents": [
        "62a4bcf3fe11e6800f5d451b41003c135358ed6a"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Dec 14 14:36:15 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Jan 21 09:48:59 2019 +0000"
      },
      "message": "hiddenapi: Support \u0027core-platform-api\u0027 flag\n\nAdd support for parsing @CorePlatformApi stubs and encoding it in\nhiddenapi dex flags of the corresponding fields/methods.\n\n(1) The CL refactors hiddenapi::ApiList class to store a second value:\na bit vector of \"domain API\" flags. These are intended for encoding\nmembership in a set of API stubs only available to certain callers,\ne.g. @CorePlatformApi when platform code calls core platform or\n@TestApi for CTS tests.\n\n(2) Parse @CorePlatformApi stubs and set domain flags for its members.\n\n(3) Parse the flags at runtime and set kAccCorePlatformApi access flag\non the corresponding ArtField/ArtMethod objects.\n\nBug: 119068555\nTest: m appcompat\nTest: dexlayout -b \u003ccore-oj jar\u003e | grep \u0027CORE-PLATFORM-API\u0027\nChange-Id: Idbfa6d3af7459258a5a0b6da7c03c037a577eb75\n"
    },
    {
      "commit": "62a4bcf3fe11e6800f5d451b41003c135358ed6a",
      "tree": "afa2a9caad5eec12d8cd22cd3ea67b2a065ddbc2",
      "parents": [
        "ed9e0c9a5462bbb805000cb9483e334cda867b48"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Dec 13 17:00:06 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Jan 21 09:48:59 2019 +0000"
      },
      "message": "hiddenapi: Produce CSV for `list` command\n\nThe `hiddenapi` build tool is used for generating a list of all public\nand private API. The output is currently two text files, each with\na list of API signatures belonging to the corresponding API set\n(public/private). Refactor the code to produce a single CSV file\ninstead in anticipation of other categories of APIs, namely\n@CorePlatformApi.\n\nAlso change class2greylist, which is a consumer of the public API text\nfile, to parse and filter the CSV file instead.\n\nBug: 119068555\nTest: compiles, hiddenapi-flags.csv unchanged\nTest: atest class2greylisttest\nChange-Id: I4ac9d96c0d10a87795c6a779f0231269c99959a3\n"
    },
    {
      "commit": "1ff5a65a4ec631fc144f367f3517c7e1699db481",
      "tree": "d7089d58b55e209b890ba101636c8f6759662c3c",
      "parents": [
        "3c29c66933f81dbb9af17caa197257ac67ee3c78"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Jan 18 11:44:44 2019 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Jan 18 15:05:00 2019 +0000"
      },
      "message": "hiddenapi: Better error message for boot cp inconsistencies\n\nThe tool builds the class hierarchy for the entire boot classpath and\nhas CHECKs for inconsistencies. These lacked a helpful error message.\n\nTest: jarjar hidl libs\nChange-Id: Ia10ab0b890ddacf422fe14678f73bbd19ddcf051\n"
    },
    {
      "commit": "0c026d96ceb27352372f6b389bfd5a8d525f2924",
      "tree": "dae9dd1c05460ca6605370c3f7fbbd30bcd2480b",
      "parents": [
        "f66980d6dfab6f619db775bc9017932b85b2fe5d",
        "ec0d5a233a4ab48cfb270b360d2ab48b06a4eb2e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 15 20:42:30 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 15 20:42:30 2019 +0000"
      },
      "message": "Merge \"Remove duplicate entry.\""
    },
    {
      "commit": "ec0d5a233a4ab48cfb270b360d2ab48b06a4eb2e",
      "tree": "03ab94517898f0b2ec323d2933601ecfb3806679",
      "parents": [
        "bad095d24c9bad1241e7f1ab02fe4e16e24229e8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 15 20:11:22 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 15 20:11:22 2019 +0000"
      },
      "message": "Remove duplicate entry.\n\nChange-Id: If0c4678dae846bca4377200fde0b5b23b9d9cddc\n"
    },
    {
      "commit": "f66980d6dfab6f619db775bc9017932b85b2fe5d",
      "tree": "600e91eda5c21ee1771500cc98113d29393733ed",
      "parents": [
        "bad095d24c9bad1241e7f1ab02fe4e16e24229e8",
        "b4a70ceda602eb1a5a7c2742c9eab305cd5eed7b"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jan 15 19:04:26 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 15 19:04:26 2019 +0000"
      },
      "message": "Merge \"Remove core-simple from the boot classpath\""
    },
    {
      "commit": "7fe5e39bd3ceab7fbd2ff0ae4a43211dbbfcd491",
      "tree": "12ecf015023e0e1e9698d01c82162d9574071ffd",
      "parents": [
        "604312a9ca1c6bcd7247ec56883f8d3f3b59c7c3",
        "42807522d4d44173eac80e50acf0ca0c5ab6897b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 15 14:24:35 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 15 14:24:35 2019 +0000"
      },
      "message": "Merge \"Have the `art` script honor a pre-set `ANDROID_RUNTIME_ROOT`.\""
    },
    {
      "commit": "42807522d4d44173eac80e50acf0ca0c5ab6897b",
      "tree": "edb3c79cf29905a0d718589165bbb26add6cba6a",
      "parents": [
        "efdbc9c565b5fb945996ce7854fc939d95b04d9c"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jan 15 12:49:36 2019 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jan 15 13:10:56 2019 +0000"
      },
      "message": "Have the `art` script honor a pre-set `ANDROID_RUNTIME_ROOT`.\n\nThis is so that users/environments (e.g. Golem) may override the\ndefault value set by the `art` script.\n\nTest: Rely on Golem\nBug: 121117762\nBug: 119293618\nBug: 113373927\nChange-Id: Id8c7500828d735a229a396cf77e84584862fc9b8\n"
    },
    {
      "commit": "130189c935e3390cddb690b475adffd06e4580cc",
      "tree": "b90d657874e2f40f702239dce7052611bfab8a06",
      "parents": [
        "c99f0174de38f3a99cd0a0a9d0e6277422d12be4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 15 11:37:02 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 15 11:39:28 2019 +0000"
      },
      "message": "Move all [device] failures to [device_testdex].\n\nThe buildbot has changed to those.\n\nChange-Id: Ia4c56a81389a7fa8bed2265bdc1905a5536db804\n"
    },
    {
      "commit": "b4a70ceda602eb1a5a7c2742c9eab305cd5eed7b",
      "tree": "c0fd1671efc279be3308de4149a2bf8c82434026",
      "parents": [
        "3b5dd3e4211ea30906652b823891e19a43a32159"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Nov 09 15:49:05 2018 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Jan 14 16:09:44 2019 +0000"
      },
      "message": "Remove core-simple from the boot classpath\n\nThis is an effective revert of commit\n1391390a775ca54fa1dd22ceccf211eae84073ea but with changes\nto account for modifications made since it was committed.\n\nTest: build\nBug: 119301609\nChange-Id: I28039a960ce5358744565f8943489677138a892c\n"
    },
    {
      "commit": "70cbbe9a0a92def8cfa67bf1c8e822bdc9fa7b12",
      "tree": "9702e1bf7cd993cd787875da8b3e119b9bd6b45b",
      "parents": [
        "57b96f594847c844890185254320dc4bfc871d2d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 14 09:08:16 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 14 09:08:16 2019 +0000"
      },
      "message": "Fix typo in art script.\n\nChange-Id: I6a3a04d94fa310147b61da8b2a3617571216c951\n"
    },
    {
      "commit": "57b96f594847c844890185254320dc4bfc871d2d",
      "tree": "bfc40b691f9090db5b5f0c385deab277e2c5ec96",
      "parents": [
        "196cd05262f275ff40caf732a549a2ce99268556",
        "d41f64c4fe7919d24af5bc29ee92dc7ab193181a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 14 09:06:35 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 14 09:06:35 2019 +0000"
      },
      "message": "Merge \"Fix braino in ART script.\""
    },
    {
      "commit": "13458cd65a6d42e166c4c2c62f8dd1c871270c7b",
      "tree": "be814b16d857d0b543c7ccd19dbdc0d96605b66c",
      "parents": [
        "d585e61864370408cedae12621f6d2f1d0f67588"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Sun Jan 13 22:23:32 2019 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Sun Jan 13 22:30:22 2019 +0000"
      },
      "message": "Have the ART Buildbot build bootstrap Bionic libraries on target.\n\nHave tools/buildbot-build.sh build target bootstrap Bionic libraries\n(libc, libdl, libm), so that they can be found by the linker (in\n`/system/lib(64)`) even if the Runtime APEX is not available.\n\nThis is a temporary change needed until the ART Buildbot fully\nsupports the Runtime APEX.\n\nTest: Rely on the ART Buildbot.\nBug: 121117762\nBug: 120266448\nBug: 113373927\nChange-Id: If3f95a63a69a06378570d44c5461d9805969e9fd\n"
    },
    {
      "commit": "0163134222892f4485f287d340e0e82c5c67b829",
      "tree": "63301b47c6645660fcc9ea70e0b2fd791613b1ee",
      "parents": [
        "7c777f8fe8311dfd88d87da0c89d351a7f3e5af2"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jan 10 18:07:24 2019 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jan 11 17:18:32 2019 +0000"
      },
      "message": "Define `ANDROID_RUNTIME_ROOT` as `$ANDROID_ROOT` on target in the `art` script.\n\nThis is a temporary workaround meant to help ICU find ICU .dat files\nin \"/system/icu/etc\" on target, until the Runtime APEX is available in\ntarget testing on the ART Buildbot.\n\nOn host, continue to define `ANDROID_RUNTIME_ROOT` as\n\"$ANDROID_ROOT/com.android.apex\".\n\nTest: Rely on the ART Buildbot.\nBug: 121117762\nBug: 119293618\nBug: 113373927\n\nChange-Id: Ie5e4448d2ec12e2ee499b66811fce5a076bb0bf4\n"
    },
    {
      "commit": "f6c84a4f32290acd1bf3680ca579b4cafcc95af2",
      "tree": "cf9b1e15c4d861362069fc6edd8ff457e6d6536a",
      "parents": [
        "6f463e87c92d88ee60f34d4d2d71923bb2c74f76"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jan 10 16:54:12 2019 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jan 11 17:17:36 2019 +0000"
      },
      "message": "Have the ART Buildbot generate ICU .dat files in /system/etc/icu on target.\n\nHave tools/buildbot-build.sh build target `icu-data-art-test`, copying\nICU .dat prebuilt files into /system/etc/icu, so that they can be\nfound even if the Runtime APEX is not available, by setting the\nenvironment variable `ART_TEST_ANDROID_RUNTIME_ROOT` to \"/system\" on\ndevice.\n\nThis is a temporary change needed until the ART Buildbot fully\nsupports the Runtime APEX.\n\nTest: Rely on the ART Buildbot.\nBug: 121117762\nBug: 119293618\nBug: 113373927\nChange-Id: Ia1220751df80e47580f6d3c3e65c7169c61b8f3f\n"
    },
    {
      "commit": "d41f64c4fe7919d24af5bc29ee92dc7ab193181a",
      "tree": "438bdb72fad123992c1c2d7f4109d2bf0d1aea1c",
      "parents": [
        "4a60ab2c6caac1c1d52a0a9189d4f6f36cd78a00"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 11 15:46:41 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 11 15:46:41 2019 +0000"
      },
      "message": "Fix braino in ART script.\n\nWe need to pass the boot classpath for any core* image.\n\nTest: golem benchmarks\nChange-Id: I30665ff5138211908297ec3acca2451a5308a12a\n"
    },
    {
      "commit": "1480c7cdaf616731105d3d442a513415a1706920",
      "tree": "a63ae9fc581ce976c1101d163f52727ceb405dd7",
      "parents": [
        "267789c018ff795c9ee653a185e95a2c091b7c4b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 11 10:32:59 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 11 10:32:59 2019 +0000"
      },
      "message": "Libcore failures for buildbot should now be flagged device_testdex.\n\nTest: run-libcore-tests\nChange-Id: I7d2c027aef7e05556b5cae9c3d8dd428b2040b4f\n"
    },
    {
      "commit": "e28c18beef88a19d3050a5c718da291343c45698",
      "tree": "e65450f2f7432ab031eadbd9dbed1a2db3d353c4",
      "parents": [
        "2d22ffce2b2b97a323ea09ec3f5015fb256ec57f",
        "7b7ea7939e2c7d5bffd5ad165d0c2d315c93dd1f"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jan 10 18:57:40 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 10 18:57:40 2019 +0000"
      },
      "message": "Merge \"Add scripts to mount/unmount the Runtime APEX under ART\u0027s chroot dir.\""
    },
    {
      "commit": "caf1523c8882f342f37bd25cb6143087debe8363",
      "tree": "37896a9beb044ee60af6a7c6c7dc82d22174cf88",
      "parents": [
        "ddcc8c4860f0c513d5e7733d1805ff8830ed057d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 10 13:15:24 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 10 13:17:12 2019 +0000"
      },
      "message": "Blacklist failing tests.\n\nbug: 122642227\nTest: run-libcore-tests\nChange-Id: Ib273977cc50963582b70a34ba48fcee4744357c0\n"
    },
    {
      "commit": "5a0430d0239481f4efb252d60ec9641703b8d456",
      "tree": "cd7bdb45d94e7af3aa3e1bbb5958f930bcee29f6",
      "parents": [
        "b9b995738c8f53d68446d14553c1befd487877e7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jan 04 14:33:57 2019 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 09 12:38:20 2019 -0800"
      },
      "message": "ART: Introduce runtime_globals\n\nSplit libartbase\u0027s globals.h into actual globals, and runtime-\ndependent globals which should live in runtime.\n\nBlanket-convert all runtime/ inclusions.\n\nIn future CLs, the number of global constants should be reduced.\nFor example, GC types are only relevant to GC/alloc functionality.\n\nBug: 119869270\nTest: mmma art\nChange-Id: I2d8cd32e0e7ab4084d2f2e96864b5338a78da94e\n"
    },
    {
      "commit": "7b7ea7939e2c7d5bffd5ad165d0c2d315c93dd1f",
      "tree": "e68ee45992ab23f4d883f22074a67238ba594c39",
      "parents": [
        "5098ab9245f5ed87dcc78b5ea7cf2ca4f1578b97"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jan 08 19:47:50 2019 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jan 09 15:03:10 2019 +0000"
      },
      "message": "Add scripts to mount/unmount the Runtime APEX under ART\u0027s chroot dir.\n\nThese scripts (`tools/mount-buildbot-apexes.sh` and\n`tools/unmount-buildbot-apexes.sh`) emulate the role of `apexd` under\nthe chroot directory for chroot-based on-device testing.\n\nThey currently only handle the Runtime APEX (com.android.runtime), but\nwe plan to use them to also activate/deactivate other packages\n(required by ART\u0027s standalone test setup) in the future.\n\nAlso:\n- Provide an `/apex\u0027 tmpfs under the choot directory as part of the\n  device set-up.\n- Build and push `unzip` during (chroot-based) on-device testing, as\n  it is needed to extract payload (ext4 images) from APEX(ex).\n\nTest: Manual local testing.\nBug: 121117762\nBug: 113373927\nBug: 34729697\nChange-Id: Id1a7b3378ea5822c511d6cc74f784fa38ddd4968\n"
    },
    {
      "commit": "6d951e3a01e6fb43ce451ec09d93193402773027",
      "tree": "2895f1947f46178800c193f83e2bce31b2597c65",
      "parents": [
        "fa965a74a7fd5ed05e93907dcfb140b4c90552cc",
        "b62f6f1afcd7ec774fa9627ea0675da7d453ba64"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Wed Jan 09 11:42:49 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 09 11:42:49 2019 +0000"
      },
      "message": "Merge \"Improved error message when multiple annotations.\""
    },
    {
      "commit": "fa965a74a7fd5ed05e93907dcfb140b4c90552cc",
      "tree": "198f617e53e900aa85e7a021420188008bfb90da",
      "parents": [
        "458a948d4fc954d767103b5a95803a0a60be9f1c",
        "191cae33c7c24eabb8edb90b6a577a5dc466ff27"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 09 10:51:49 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 09 10:51:49 2019 +0000"
      },
      "message": "Merge \"Use *-testdex in libcore and jdwp testing.\""
    },
    {
      "commit": "191cae33c7c24eabb8edb90b6a577a5dc466ff27",
      "tree": "5c3da7ea834865d7eae9432d755d8daec1dfc97e",
      "parents": [
        "2fb49ebea175b7ec047da6944eede43317df8686"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 09 09:36:03 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 09 09:37:22 2019 +0000"
      },
      "message": "Use *-testdex in libcore and jdwp testing.\n\nThese scripts are only used in a buildbot context, which only builds\nthe *-testdex jars.\n\nTest: run-libcore-tests, run-jdwp-tests\nChange-Id: Iea66e40c245170a4ecbafe711d23dec4e0506f0e\n"
    },
    {
      "commit": "458a948d4fc954d767103b5a95803a0a60be9f1c",
      "tree": "c36714f1762d406001a24d8479a05116ab2d2ab7",
      "parents": [
        "2fb49ebea175b7ec047da6944eede43317df8686",
        "bf68e573dc9fcf57ebc34d68bf16e71e90e770b7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 09 09:14:10 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 09 09:14:10 2019 +0000"
      },
      "message": "Merge \"Revert \"Move conscrypt back to core image to unblock Golem.\"\""
    },
    {
      "commit": "b62f6f1afcd7ec774fa9627ea0675da7d453ba64",
      "tree": "661ce0599884e038ab858bb36753fbd8cedbd635",
      "parents": [
        "1cc5dc8f0c990afeda0993dd088fc4c8432aa46f"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Mon Jan 07 14:02:52 2019 +0000"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Tue Jan 08 09:55:12 2019 +0000"
      },
      "message": "Improved error message when multiple annotations.\n\nOld:\nCheck failed: values.size() \u003d\u003d 2u (values.size()\u003d3, 2u\u003d2) Currently only \\\nsignature and one flag are supported\n\nNew:\nCheck failed: flags.size() \u003d\u003d 1u (flags.size()\u003d2, 1u\u003d1)\nout/target/common/obj/PACKAGING/hiddenapi-flags.csv:36125\nLandroid/content/om/OverlayInfo;-\u003eisEnabled()Z: Expected one flag, found 2:\ngreylist,whitelist\nSee go/hiddenapi-error for help.\n\nTest: m\nChange-Id: Iab4bef5d24e416ea43e0302f898fc987f3158489\n"
    },
    {
      "commit": "7458a7afdfe3046d962ea13dd0f6b176283505b2",
      "tree": "b4573042cc825952812de920f24c4af71322d509",
      "parents": [
        "ad1aa6340567c0660506069d760ff41483eb3821"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 02 10:32:11 2019 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 03 09:19:10 2019 -0800"
      },
      "message": "ART: Refactor code_item_accessors\n\nRefactor to internal templated functions to not leak DexFile details\nprematurely.\n\nBug: 119869270\nTest: mmma art\nChange-Id: I6f281703b750ec016e8cf18abfa55980a00506dd\n"
    },
    {
      "commit": "ad1aa6340567c0660506069d760ff41483eb3821",
      "tree": "dbceabc90859e9353a8683d8be02a702205be9c9",
      "parents": [
        "b8bca301eff0db87d37bc4ab898a4973d211019b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 02 10:30:54 2019 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 03 09:19:10 2019 -0800"
      },
      "message": "ART: Move Signature to its own header\n\nReduce the dependencies on dex_file.h\n\nBug: 119869270\nTest: mmma art\nChange-Id: I1450fe2c3f4a7f5b535ed38cc19cb8a053228541\n"
    },
    {
      "commit": "3f1dcd39e134d994ac88dcc4f30ec8cabcd8decf",
      "tree": "365d20ad6b68ff1dbd4903764b63880324136e4d",
      "parents": [
        "0f0a4e40667c87fbd4ae5480eddbfd701bfabfa2"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Dec 28 09:39:56 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 02 10:32:25 2019 -0800"
      },
      "message": "ART: Move dex structs into own header\n\nSeparating out the structs from DexFile allows them to be forward-\ndeclared, which reduces the need to include the dex_file header.\n\nBug: 119869270\nTest: m\nChange-Id: I32dde5a632884bca7435cd584b4a81883de2e7b4\n"
    },
    {
      "commit": "cefcbc05cc10998cbc5742f3ca72c140ff65d6dc",
      "tree": "e9ab93d13dd59f14aaf0fcd57aabec0144b7a204",
      "parents": [
        "46a8938026c425d54f2c02631ca584b4d1f2666c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Dec 21 09:45:03 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Dec 21 09:47:41 2018 -0800"
      },
      "message": "Create dexpreopt.config in build_linux_bionic.sh\n\nsoong will panic if a json file called $PRODUCT_OUT/dexpreopt.config\nis not present. This file normally contains information from make\nsoong needs to implement half of the dexpreopt support. Since this\nsupport still requires some make parts it is not needed for\nlinux_bionic builds.\n\nTest: ./art/tools/build_linux_bionic.sh -j72 com.android.runtime.host\nBug: 120436895\nChange-Id: Id63e39eefbf5217de05738691f52c352cb1529ee\n"
    },
    {
      "commit": "bf68e573dc9fcf57ebc34d68bf16e71e90e770b7",
      "tree": "3ef3039d1ad9033c80233e7f361789838178b673",
      "parents": [
        "26c140f01048b7b87c6eebcf4b219ab63c32b9ce"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 21 11:45:35 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 21 16:10:34 2018 +0000"
      },
      "message": "Revert \"Move conscrypt back to core image to unblock Golem.\"\n\nThis reverts commit 45d41846d93c5380cadb88c7bb6975b3b8865090.\n\nChanged the \"art\" script to fix Golem benchmarks.\n\nChange-Id: I78b60f83c2b31e06ed820a6d54ef00c879c243d4\nTest: Manually run a Golem benchmark on host and device.\nBug: 119868597\n"
    },
    {
      "commit": "a5d931f2724b29e99ea5e25464e37679952c6389",
      "tree": "ac3af864d53599ceb4e3c62c4857ae22c98ee000",
      "parents": [
        "43faa46d2362c451d5a4599cd5c7b7ee13f3d221"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 20 15:16:57 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 20 15:25:52 2018 +0000"
      },
      "message": "Fix core jars list in bootjars.sh .\n\nAdd the missing core jars. Even though it seems these\nare not needed for the tools that call bootjars.sh .\n\nTest: Rely on Hugger.\nBug: 119868597\nChange-Id: Ibccc84a6df54a26c67925aa288e525d459fb62d0\n"
    },
    {
      "commit": "43faa46d2362c451d5a4599cd5c7b7ee13f3d221",
      "tree": "90e6919d074c150d416233469d3a6748c5089e64",
      "parents": [
        "30a8c4b28c8199418dd0a844992604274a7bc9cc",
        "104b6d8c8278e940518b00f9740bd3a013ae0593"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 19 23:46:04 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 19 23:46:04 2018 +0000"
      },
      "message": "Merge \"Honor ANDROID_LOG_TAGS when logging.\""
    },
    {
      "commit": "104b6d8c8278e940518b00f9740bd3a013ae0593",
      "tree": "5173a944d5748f4e387e93ec7cf2cbead18d8512",
      "parents": [
        "777cb01e3cdebbb5a578d67b631c34c9e4a517da"
      ],
      "author": {
        "name": "Dario Freni",
        "email": "dariofreni@google.com",
        "time": "Wed Dec 19 13:43:23 2018 +0000"
      },
      "committer": {
        "name": "Dario Freni",
        "email": "dariofreni@google.com",
        "time": "Wed Dec 19 18:32:55 2018 +0000"
      },
      "message": "Honor ANDROID_LOG_TAGS when logging.\n\nBug: 121225084\nFixes: 121225084\nTest: mm\nChange-Id: Ic183d3d5b59a4aaaa99e74265f4fa9edd9af1d5e\n"
    },
    {
      "commit": "396ca413daca672255925c5c0af5a94ccf34a31e",
      "tree": "ef3d7bb7da0589825b800b1ab32b7203024071c2",
      "parents": [
        "96453b7d6aa445c6609aa465df5d66ae0beb7956"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Dec 19 10:32:15 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Dec 19 10:55:20 2018 +0000"
      },
      "message": "Disable failing InetAddressUtilsTest tests only in host\n\nBug: 121230364\nTest: no testing done\nChange-Id: Ib05b181c6a7eb28549ba15a1cbecacb4d79d79c6\n"
    },
    {
      "commit": "28456089d392bd27596d8e6dde827ba48bd3d50e",
      "tree": "150303b9f8496521de4fa560fda09e9431684140",
      "parents": [
        "0613c9464a17463aae231eff9c0a11502f775631"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 19 08:57:28 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 19 08:57:28 2018 +0000"
      },
      "message": "Blacklist tests failing after InetAddress changes.\n\nbug: 121230364\nTest: run-libcore-tests.\nChange-Id: I56a28f9a555d3b660c4f271d05b65c8bb9c1fb22\n"
    },
    {
      "commit": "d406b621c41330593ad69bad4eb9517116da284e",
      "tree": "bcf79c4bbadeb750470969876bc2339ffe1c1966",
      "parents": [
        "f0d4cfe715e9643338eab68606ab0b339c463563"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 13 16:01:33 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Dec 18 09:55:14 2018 -0800"
      },
      "message": "ART: Add ABI dumping to timeout_dumper\n\nThis allows to run the output through stack.\n\nTest: manual\nChange-Id: I64659916e00ab0135623e83f34b2f0ae8fcccfeb\n"
    },
    {
      "commit": "f0d4cfe715e9643338eab68606ab0b339c463563",
      "tree": "0619c25047590577c1871f8805609242b025f9aa",
      "parents": [
        "35bd06e1bd193f370422414a6e1027b61976351d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 13 16:00:15 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Dec 18 09:55:14 2018 -0800"
      },
      "message": "ART: Add addr2line lookup path for timeout_dumper\n\nAttempt to use a relative path. This may help if ANDROID_BUILD_TOP is not\navailable and the dumper is run in a sandbox.\n\nAlso simplify setup.\n\nTest: manual\nChange-Id: Id09ce5afd51686aeb85eb782fbea66ee14c5d383\n"
    },
    {
      "commit": "ea65b21890ba1256a84bcfa15493e132f90fae4c",
      "tree": "d3afd1c49c9b26c39ddffd1b9d7ac9b0d375f3fc",
      "parents": [
        "500b4da0e8d5746bfc75baa9db3d57f51a0af6af"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 13 13:32:13 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 14 15:09:19 2018 +0000"
      },
      "message": "Add apache-xml to boot class path for tests.\n\nAnd partially revert\n    7a85e70b2bf646d1d7a226fbb4e7fafb66871dd5\nand fully revert\n    d4291d68c5dffd992ed8d46d0785d24a5da80026\nto re-enable tests.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: m test-art-target-gtest\nTest: testrunner.py --target --optimizing\nTest: run-libcore-tests --mode\u003dhost --variant\u003dX64\nTest: run-jdwp-tests --mode\u003dhost --variant\u003dX64\nTest: run-libcore-tests --mode\u003dtarget --variant\u003dX64\nTest: run-jdwp-tests --mode\u003dtarget --variant\u003dX64\nBug: 120526172\nChange-Id: I5af4853cae84bfc4807d98668b2da2fd9c5fc22e\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": "99e17397f7c4d5a1927c33160209156f411aeeed",
      "tree": "ec5a1359690d105afbaaac638ae3d60987024634",
      "parents": [
        "f2c7eea8594d1d3429c5078c29be504ee84fbf2a",
        "fb83d76a8b186df05f874216b535f5ad57e7bd02"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 13 23:41:53 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 13 23:41:53 2018 +0000"
      },
      "message": "Merge \"Revert \"Allow boot image for a part of the boot classpath.\"\""
    },
    {
      "commit": "fb83d76a8b186df05f874216b535f5ad57e7bd02",
      "tree": "f3db51fcd564929652433e7182eda9ebc7a9bc29",
      "parents": [
        "4433c4351aab98005e12a6b53905678758b74665"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 13 23:30:25 2018 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 13 23:30:25 2018 +0000"
      },
      "message": "Revert \"Allow boot image for a part of the boot classpath.\"\n\nThis reverts commit 4433c4351aab98005e12a6b53905678758b74665.\n\nReason for revert: May be breaking tests.\n\nChange-Id: I3b690dbb06278dc1adce5a389fff938a692bdebd\n"
    },
    {
      "commit": "cf923f535dd1cf0c03707bbdfca6335d3f88fa92",
      "tree": "8d45b1dce534b2b53a1a0b81fd81f3a823da92f3",
      "parents": [
        "3c9d3033b5920bf09abeac41e72e2f22f20f316a",
        "4433c4351aab98005e12a6b53905678758b74665"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 13 08:42:54 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 13 08:42:54 2018 +0000"
      },
      "message": "Merge \"Allow boot image for a part of the boot classpath.\""
    },
    {
      "commit": "f82f53f7289e9990427dc83bfb80b60ab7c35b3b",
      "tree": "63a350fd8700c632fe6cabe94a2c3403ab2e05cf",
      "parents": [
        "5de31a1dd5ac6e12b37517550a609b9c0576f685",
        "bd3af9875556f49f897efa1ae5ae74d40add4583"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 12 19:50:41 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 12 19:50:41 2018 +0000"
      },
      "message": "Merge \"Fix filename typo\""
    },
    {
      "commit": "4433c4351aab98005e12a6b53905678758b74665",
      "tree": "fecf5b03a081dc78df4b058210bb4935d2f7c75c",
      "parents": [
        "6b36d8025de5237b57e7bf23033bfc61a112d6cd"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 04 14:57:47 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Dec 12 16:18:56 2018 +0000"
      },
      "message": "Allow boot image for a part of the boot classpath.\n\nInstead of recording a single uint32_t boot image checksum\nin the oat header, store a string representing composite\nboot class path checksums in the key-value store.\n\nWhen checking the boot class path while loading the boot\nimage, allow the boot class path to contain more components.\nThe runtime shall then load the additional dex files from\nthese components.\n\nTest: Exclude conscrypt from the the core image modules.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nTest: m test-art-target-gtest\nTest: testrunner.py --target --optimizing\nTest: run-libcore-tests.sh --mode\u003dhost --variant\u003dX64\nTest: run-libcore-tests.sh --mode\u003ddevice --variant\u003dX64\nTest: run-jdwp-tests.sh --mode\u003dhost --variant\u003dX64\nTest: run-jdwp-tests.sh --mode\u003ddevice --variant\u003dX64\nBug: 119868597\nChange-Id: Ia872fdedea0570ace2c8e597ddb3c6f63a43e62a\n"
    },
    {
      "commit": "3437d3929f9064fe2d1707f9a1f99f69accf4a17",
      "tree": "0808b234b73accd22080aad22ac0c270fa156e7f",
      "parents": [
        "74031ab4923f9ea60e7c4eeaa9336398f75028cf",
        "58bb655a91f82e517c72b03ed836f9d785ab6b18"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 12 01:18:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 12 01:18:37 2018 +0000"
      },
      "message": "Merge \"[cr-buildbucket.cfg] Remove unneeded dimensions\""
    },
    {
      "commit": "74031ab4923f9ea60e7c4eeaa9336398f75028cf",
      "tree": "7664fd40cf59c65ecb6092b38bdefb5d9ab32b49",
      "parents": [
        "3c672d57411d4f1f65c16f721f45071400fb1cc1",
        "14a392b2b13cf09e3f3b1f055a11ec18975b9813"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 12 00:46:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 12 00:46:44 2018 +0000"
      },
      "message": "Merge \"[luci-milo.cfg] Include experimental builds on console\""
    },
    {
      "commit": "bd3af9875556f49f897efa1ae5ae74d40add4583",
      "tree": "860692f099b1d8ee5a87833cbbd59260b5993b2b",
      "parents": [
        "a02094fd93d2009ed2a4959a5f2075ebf1073369"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 11 15:59:42 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 11 16:00:37 2018 -0800"
      },
      "message": "Fix filename typo\n\nAccidentally named file dist_linunx_bionic.sh instead of\ndist_linux_bionic.sh\n\nTest: DIST_DIR\u003d$OUT_DIR/mydist ./tools/dist_linux_bionic.sh com.android.runtime.host\nBug: 120436895\nChange-Id: I43bdae023219b8e1728cac676921c3254329a27a\n"
    },
    {
      "commit": "3c672d57411d4f1f65c16f721f45071400fb1cc1",
      "tree": "207bdffaba7a86c7a3fcf3aeeb3ee104bb0d7cc1",
      "parents": [
        "c61b8c64ed2f3bd2e29f5bfa848e5b131d1c0f1e",
        "a02094fd93d2009ed2a4959a5f2075ebf1073369"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 11 23:46:52 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 11 23:46:52 2018 +0000"
      },
      "message": "Merge \"Add helper scripts for building and distributing linux_bionic binaries\""
    },
    {
      "commit": "a02094fd93d2009ed2a4959a5f2075ebf1073369",
      "tree": "e2c3e5212727d631e36e6365e73a5b732ee75613",
      "parents": [
        "3cd5a75c4fb4ab87baa1699085a664979013a084"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 11 10:41:52 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 11 13:08:39 2018 -0800"
      },
      "message": "Add helper scripts for building and distributing linux_bionic binaries\n\nAdd a build_linux_bionic.sh script that will build a target with\nlinux_bionic enabled. Add a dist_linux_bionic.sh script that will copy\nall soong output to a given dist directory.\n\nTest: DIST_DIR\u003d$OUT_DIR/mydist ./tools/dist_soong.sh com.android.runtime.host\nBug: 120436895\nChange-Id: If6048896725223067e483535c513b044e88f5714\n"
    },
    {
      "commit": "58bb655a91f82e517c72b03ed836f9d785ab6b18",
      "tree": "595c1bca828fe64840aa79e5d34879fd6749be0b",
      "parents": [
        "d35fff6e06d4e4d01a70d4409a0e9d9b1d4ae99e"
      ],
      "author": {
        "name": "Ryan Tseng",
        "email": "hinoka@google.com",
        "time": "Tue Dec 11 12:38:55 2018 -0800"
      },
      "committer": {
        "name": "Ryan Tseng",
        "email": "hinoka@google.com",
        "time": "Tue Dec 11 20:39:15 2018 +0000"
      },
      "message": "[cr-buildbucket.cfg] Remove unneeded dimensions\n\nThe device builders weren\u0027t getting picked up because of the extra cores:8\nand cpu:x84-64 dimensions.\n\nBug: 868216\nChange-Id: If098ecaadc3840a232bafc811c4405c5ed29585f\n"
    },
    {
      "commit": "14a392b2b13cf09e3f3b1f055a11ec18975b9813",
      "tree": "2defd1accc9bcf59a8bd538686a9289b1f3e3108",
      "parents": [
        "d35fff6e06d4e4d01a70d4409a0e9d9b1d4ae99e"
      ],
      "author": {
        "name": "Ryan Tseng",
        "email": "hinoka@google.com",
        "time": "Tue Dec 11 12:34:12 2018 -0800"
      },
      "committer": {
        "name": "Ryan Tseng",
        "email": "hinoka@google.com",
        "time": "Tue Dec 11 12:34:12 2018 -0800"
      },
      "message": "[luci-milo.cfg] Include experimental builds on console\n\nBug: 868216\nChange-Id: Icca4cf9efc8a9e0ada75e48e08d72a75fbab5aba"
    },
    {
      "commit": "20802ca8210fb9e86433fcdd5b67dbfc760f82b5",
      "tree": "95a9e76b0599718cb4b74463a012626b99298b1c",
      "parents": [
        "3cd5a75c4fb4ab87baa1699085a664979013a084"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 05 15:36:03 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Dec 10 13:20:56 2018 -0800"
      },
      "message": "Add buildbot target using linux_bionic zipapex\n\nAdds art-linux-bionic-x64-zipapex target config. This target uses\nbinaries from the com.android.runtime.host zipapex to execute the art\nrun-test suite.\n\nTest: ./test/testrunner/run_build_test_target.py -j72 art-linux-bionic-x64-zipapex\nBug: 120436895\nChange-Id: Ie0cb1b7489f698dfb4f7f6d01a4c99701343cfff\n"
    },
    {
      "commit": "1a89ac011f4ea61a32619c57991a2b8ddb4e0271",
      "tree": "6d4f91d7b38cacf5e8f8d6f81c3dbd95e24e8b9c",
      "parents": [
        "5e4663a59190c268e55809ac27affd7aa3aefd06",
        "38b86dff17966f4dfb302e3c9585eb43aacaf599"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Dec 10 15:32:52 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 10 15:32:52 2018 +0000"
      },
      "message": "Merge \"Support specifying multiple implicit member signatures per class\""
    },
    {
      "commit": "91f1032505cfaec3aef51fc0a3085b213813f0ed",
      "tree": "6469e772d9fb562d26dc1d22dd0b71844bbb743f",
      "parents": [
        "573b3877fac3c5a4a9703301502694fe7219b21c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 07 18:04:10 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 07 18:13:55 2018 +0000"
      },
      "message": "Revert^2 \"Pass boot class path to ImageSpace::LoadBootImage.\"\n\nThis reverts commit db4b1deebf425be5f1d0f597d1ef540f19908324.\n\nFixed JDWP tests, see \"Test:\" stanzas below.\n\nChange-Id: I6fb56ac990b78164cbd3f93c9f6df66e0dd9a813\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nTest: m test-art-target-gtest\nTest: testrunner.py --target --optimizing\nTest: run-libcore-tests.sh --mode\u003ddevice --variant\u003dX64\nTest: run-jdwp-tests.sh --mode\u003dhost --variant\u003dX64\nTest: run-jdwp-tests.sh --mode\u003ddevice --variant\u003dX64\nBug: 119868597\n"
    },
    {
      "commit": "db4b1deebf425be5f1d0f597d1ef540f19908324",
      "tree": "5851aab8a4d71b49dbd272b822bfd1ae2cbd08df",
      "parents": [
        "e3c6dfe2009d2fad6f8e4401cb17935bdd09ab9e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 07 17:18:07 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 07 17:23:26 2018 +0000"
      },
      "message": "Revert \"Pass boot class path to ImageSpace::LoadBootImage.\"\n\nThis reverts commit d19085141ad9c71eae1b0ff585999ac8e27dadd4.\n\nAlso squash a revert of\n    Fix oatdump tests on target.\n    (commit 77eea0898aca2881a87afd177a0422870c39a318)\n\nReason for revert: Broke JDWP tests.\nBug: 119868597\nChange-Id: I005097d2d96014c961e5a4c0b089e7675004febc\n"
    },
    {
      "commit": "38b86dff17966f4dfb302e3c9585eb43aacaf599",
      "tree": "eaa4f0eda3d3fd14b7612ffc2ca1ac7a7ae444fa",
      "parents": [
        "58431a7cf863b2eb7fe25eff6a28ec376f2f151d"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Dec 06 11:27:00 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Dec 07 15:04:04 2018 +0000"
      },
      "message": "Support specifying multiple implicit member signatures per class\n\nAdd support for processing implicitMember property for\nUnsupportedAppUsage and also for handling repeated\nUnsupportedAppUsage annotations.\n\nBug: 119861512\nTest: atest class2greylisttest, m -j20 framework\nChange-Id: I4cb86b3f23160c06e06894974d44eeff4e7d2d27\n"
    },
    {
      "commit": "22aa39233dae25966a95d808a4289cf3760b6c14",
      "tree": "bc7c194eb9c746d185c5104a6d100a5758f8d0ef",
      "parents": [
        "a6dd280a61bdb09f608dd920d23394a5b6223ef4"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Dec 06 12:34:32 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Dec 07 10:32:44 2018 +0000"
      },
      "message": "Generalize CovariantReturnTypeMultiHandler\n\nThe CovariantReturnTypeMultiHandler handles repeated instances of the\nCovariantReturnType annotation on the same annotatable element. This\nchange generalizes the class so that it can work with any repeatable\nannotation.\n\nBug: 119861512\nTest: atest class2greylisttest, m -j20 framework\nChange-Id: Id42ccc0a335f65701f81ec3fec201258e829f5ae\n"
    },
    {
      "commit": "a9a0973ff03ce2c2d1ec65695ad0f4cd8ed170a7",
      "tree": "9f00efead2c694b2a590f8c4890a9052571bbcff",
      "parents": [
        "260a50cb43618dfdd325e7c89745d8bc38b20292",
        "d19085141ad9c71eae1b0ff585999ac8e27dadd4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 07 07:51:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 07 07:51:00 2018 +0000"
      },
      "message": "Merge \"Pass boot class path to ImageSpace::LoadBootImage.\""
    },
    {
      "commit": "d19085141ad9c71eae1b0ff585999ac8e27dadd4",
      "tree": "24284e84f5df4601bacc2a97c56af1bc5950c253",
      "parents": [
        "523940b40f9701504d6e007dd2af48f315038dc1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 22 14:57:28 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 06 14:43:07 2018 +0000"
      },
      "message": "Pass boot class path to ImageSpace::LoadBootImage.\n\nWhen loading the boot image by ImageSpace, do not rely on\nthe boot class path (BCP) recorded in the primary boot image\noat file. Instead, check the BCP from image against the BCP\nprovided by the Runtime, i.e. from -Xbootclasspath:_ or the\nenvironment variable BOOTCLASSPATH. For now, allow Runtime\nto extract the BCP from the primary boot image oat file when\nwe have -Ximage:_ but no BCP.\n\nAlso pass the boot class path components down to the OatFile\nso that we can open and use the original dex files when we\ndo not have copies in the vdex files. This allows compiling\napp prebuilts when the boot dex files are uncompressed and\naligned in the original jars.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nTest: m test-art-target-gtest\nTest: testrunner.py --target --optimizing\nTest: run-libcore-tests.sh --mode\u003ddevice --variant\u003dX64\nTest: Manually create boot image jars with uncompressed and\n      aligned dex files, compile a boot image with dex files\n      not copied into vdex files and use this boot image for\n      compiling a prebuilt services.{art,vdex,odex}.\nBug: 119868597\nChange-Id: If9411ddbecf6bb90bfa9233040931c5e833f6aee\n"
    },
    {
      "commit": "0c34ceea574a7c7b902cb5da4a210702eca9e228",
      "tree": "7975ccc54068a2a7f1ddf4e8dccf45b85b4bf039",
      "parents": [
        "69431d3ba1c560f0b23bd2ad6257949deb679aa7"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Dec 06 11:04:01 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Dec 06 14:20:48 2018 +0000"
      },
      "message": "Make Javac throw an exception in the event of a compile error\n\nProvides better feedback when writing tests that fail due to a compile\nerror.\n\nTest: atest class2greylisttest\nBug: 119861512\nChange-Id: I79d5a1c0406f070b5f02c5c8ec1a362e5d03ee39\n"
    },
    {
      "commit": "cff5f2d2093615b17a1aa17dd4eca566e3720515",
      "tree": "e12bf6ae0645e8cfc92f7bdd90de63776979c656",
      "parents": [
        "19acc61673c0a70ce1b1d054f2c5ed654efb7ea1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Dec 05 13:11:41 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Dec 05 13:15:41 2018 +0000"
      },
      "message": "Disable failing libcore tests on host.\n\nThese tests require apache-xml which is currently not\ncompiled into the core image.\n\nTest: Rely on post-submit buildbot results.\nBug: 120526172\nChange-Id: I8df0a7f81d96cbaa069eb9fca2689b528ed83946\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": "807e4b30b3384e5b23da0c54710be78f17fc6345",
      "tree": "cb000ac70bffe89a907e1b63f0b58db3d8b6c4b7",
      "parents": [
        "147b5b1ab58abcc25b4c2b489ee9952d0ce70c69",
        "26c43778589d1c7598cbe6203b6545c9d3ab220a"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Dec 04 12:39:16 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 04 12:39:16 2018 +0000"
      },
      "message": "Merge \"Add support for ANDROID_RUNTIME_ROOT variable\""
    },
    {
      "commit": "f6f43d842dffd11d2472e2c3397d017ff7399b18",
      "tree": "deda2e653bcfefc9a901bd89226c231a29a4975d",
      "parents": [
        "ee45798b02c3a9fffa9c4b5c1fe0fe03a423df66",
        "80d16289df2ec243737063e4f9d092ac3a7cbb10"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Dec 04 10:07:59 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 04 10:07:59 2018 +0000"
      },
      "message": "Merge \"hiddenapi: Introduce greylist-max-p\""
    },
    {
      "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"
    }
  ],
  "next": "ee45798b02c3a9fffa9c4b5c1fe0fe03a423df66"
}
