)]}'
{
  "log": [
    {
      "commit": "da0a69edb24122d3d35ce1483c5ab94de919d714",
      "tree": "7216e6a19b1a9f3ca9da28d61c717ad9086d994e",
      "parents": [
        "278ec18934045477f0340b4aa6564f003a1e190d"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Oct 11 15:06:38 2016 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Oct 19 16:37:47 2016 +0100"
      },
      "message": "Return error message if IndirectReferenceTable construction fails.\n\nPreviously if there was an error when constructing the\nIndirectReferenceTable, the error message was lost. Now expose and\ninclude the error message when throwing an exception related to\nfailures to construct the IndirectReferenceTable.\n\nThe error message is propagated through JVMEnvExt, JavaVMExt, and\nRuntime::Init as well.\n\nBug: 32013594\nTest: Added new 151-OpenFileLimit runtest.\nTest: m test-art-host, m test-art-target\n\nChange-Id: I3692f6928c9570358571bce634569d6f14cdeb05\n"
    },
    {
      "commit": "82c8cdc24a139b8ac62b50e1b73fe9cafcb76305",
      "tree": "71a638b61af32106a07a556e3e68402dcea152f7",
      "parents": [
        "8e92b9c4b5009af14da1dc1a82f87229f56f18fe",
        "9c9883bb03de05783d3e24dfc00dee4d03786fe3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 19 11:32:59 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 19 11:32:59 2016 +0000"
      },
      "message": "Merge \"Fix string compression, add tests.\""
    },
    {
      "commit": "8e92b9c4b5009af14da1dc1a82f87229f56f18fe",
      "tree": "1326c5e4f9656a675256fbbb3bb1ccfc787381a2",
      "parents": [
        "ab955ff6cb4982cce8e0f1cd58f06864e158236e",
        "e5cd2cd7d0f8e1332f25edfd2798d84fec871f10"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Oct 19 10:30:57 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 19 10:30:58 2016 +0000"
      },
      "message": "Merge \"Interpreter: Add support for direct handle invokes on methods.\""
    },
    {
      "commit": "9c9883bb03de05783d3e24dfc00dee4d03786fe3",
      "tree": "d765d341d46ad88c9bb8effdcfad9493dc9adb27",
      "parents": [
        "fc7798ba8201ae44c5c11384232be7c51afd3727"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 17 14:45:29 2016 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 19 10:47:51 2016 +0100"
      },
      "message": "Fix string compression, add tests.\n\nFix String.compareTo() for interpreter; memcmp() does not\nreturn the required result (only the right sign).\nFix x86-64 stub where the assembler silently accepted and\ngenerated bad code for out-of-range JECXZ.\nAdd extensive tests for String.equals(), String.compareTo()\nand String.indexOf().\n\nBug: 31040547\nTest: Run ART test suite including interpreter tests on host and Nexus 9.\nTest: Ditto with string compression enabled.\nChange-Id: I21b7a74da8a577c8fbaf8d9225f048550236d414\n"
    },
    {
      "commit": "c2fe8919ae78c09b5a084e7d073c3c8b5d3019ea",
      "tree": "dea32aeb756c8a02f80be91f78e69624f67b6fec",
      "parents": [
        "cc7880d2e881bf94f854e3e576567137f346fd92"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 19 09:32:10 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 19 09:32:10 2016 +0100"
      },
      "message": "Blacklist test that has been flaky for days.\n\nChange-Id: Ic3f4a10568b03f02c2173fd18e7642bb9ae4e2b3\n"
    },
    {
      "commit": "63104356aac6511791cf0d7c18b628a558f357e1",
      "tree": "d5e6792c7b575982a51085ed0f1ababe2c575cfc",
      "parents": [
        "d203296000f18dd582702eebe6a6e9c5b0182397",
        "9abf894ad0e5a6a1594ee1fa3924965e25e5f86f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 18 18:02:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 18 18:02:37 2016 +0000"
      },
      "message": "Merge \"Enable last value generation of periodic sequence.\""
    },
    {
      "commit": "9d7c8a3bc1cbd07baadce8d5fa44599eb0e44def",
      "tree": "42922627eb0c24ce3b29e396694e38adbff92c8c",
      "parents": [
        "66e69012f9fb6e49e66e8d9d6c7952f58668281b",
        "0a845200354f5dc3a3344c35823d2614cd5850ef"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Tue Oct 18 17:32:46 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 18 17:32:46 2016 +0000"
      },
      "message": "Merge \"More store/allocation elimination for singletons in case of loops\""
    },
    {
      "commit": "66e69012f9fb6e49e66e8d9d6c7952f58668281b",
      "tree": "215b514ca374d03d6867b5cc6ba8a3dbe05ee14d",
      "parents": [
        "b07d20b9dd89dec38bde4083b2bf4953a1909b53",
        "2427aae0fa7f067dc92991bb1e2d032a4368146d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 18 17:32:14 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 18 17:32:15 2016 +0000"
      },
      "message": "Merge changes If0d5eeeb,Id927f2b5\n\n* changes:\n  ART: Fix and extend test 904\n  ART: Better handle multiple event enables\n"
    },
    {
      "commit": "e5cd2cd7d0f8e1332f25edfd2798d84fec871f10",
      "tree": "26218d2a322cfa37458ac52cf6c7f2e8d558a34c",
      "parents": [
        "3da7190bae7c1d75edbc87f01343652c246639f2"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Oct 14 18:49:12 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Oct 18 17:17:04 2016 +0100"
      },
      "message": "Interpreter: Add support for direct handle invokes on methods.\n\nConstructors are still not supported and will be implemented in a\nfollow up change.\n\nAlso adds a new run-test that compiles from source using an alpha\nversion of Jack.\n\nTest: make test-art-host\nbug: 30550796\nChange-Id: I3212c032a5885854f691156c29f12613e5194667\n"
    },
    {
      "commit": "9abf894ad0e5a6a1594ee1fa3924965e25e5f86f",
      "tree": "5080bd832d4f2234897404195b5d9865f950f47c",
      "parents": [
        "6e5fa09510c7280168e040382d27dd8b55760d9a"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Oct 14 09:49:42 2016 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Oct 18 09:02:47 2016 -0700"
      },
      "message": "Enable last value generation of periodic sequence.\n\nRationale:\nThis helps to eliminate more dead induction. For example,\nCaffeineLogic when compiled with latest Jack improves with\na 1.3 speedup (2900us -\u003e 2200us) due to eliminating first\nloop (second loop can be removed also, but for a later\ncase). The currently benchmarks.dex has a different construct\nfor the periodics, however, still to be recognized.\n\nTest: test-art-host\nChange-Id: Ia81649a207a2b1f03ead0855436862ed4e4f45e0\n"
    },
    {
      "commit": "2427aae0fa7f067dc92991bb1e2d032a4368146d",
      "tree": "79f49a58efcf7e4ec68bd2c05375546876d0e3ea",
      "parents": [
        "8b862ffa7ea7374e48329ae090c68c06a8c885bb"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 17 18:05:19 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 18 08:21:23 2016 -0700"
      },
      "message": "ART: Fix and extend test 904\n\nFix using the wrong thread when unregistering. The inner thread\nshould not use Thread.currentThread (copy-n-paste mistake).\n\nAdd test for registering in OnLoad.\n\nAdd test for keeping registered on exit.\n\nBug: 31684277\nBug: 31684920\nTest: m test-art-host-run-test-904-object-allocation\nChange-Id: If0d5eeeb864684ab42eeaf62698d1e639f2071d6\n"
    },
    {
      "commit": "3da7190bae7c1d75edbc87f01343652c246639f2",
      "tree": "ded76e4b27698af197581354b1a24316a05d8918",
      "parents": [
        "3e2e2f1bfb01d9e0066fd737d2a94e1782ed8d2b",
        "e7adee75353520ce8c76ce56c73311df2c3fb813"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Oct 18 09:49:15 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 18 09:49:15 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Revert \"Temporarily blacklist 955-method-handles-smali.\"\"\"\""
    },
    {
      "commit": "d6e0fa923dfe85c363408844b35e30ddcd65e199",
      "tree": "e26162731652d07bb40f2e20c196cdf7bd8c59e7",
      "parents": [
        "c25dfeab1a66c942ae658fc7cd367f7c1ac502a1"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 17 13:02:39 2016 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 17 13:10:17 2016 -0700"
      },
      "message": "Fix invoke-virtual not throwing ICCE in some cases\n\nDue to an oversight invoke-virtual on an interface method would\nnot cause an ICCE to be thrown if the target method is default. This\ncould potentially cause incorrect methods to be called at runtime.\n\nBug: 32201623\nTest: mma test-art-host-run-test-978-virtual-interface\nChange-Id: Ie565cf2fbe8602b17be0fb051e21d221a17b518f\n"
    },
    {
      "commit": "0a845200354f5dc3a3344c35823d2614cd5850ef",
      "tree": "1c0d779c5b90f58e7088773434cc35d7eff6ab39",
      "parents": [
        "c25dfeab1a66c942ae658fc7cd367f7c1ac502a1"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Fri Oct 14 16:26:08 2016 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Mon Oct 17 12:20:08 2016 -0700"
      },
      "message": "More store/allocation elimination for singletons in case of loops\n\nFor a store into a singleton\u0027s location, if it happens inside a loop, it\nmeans the singleton\u0027s location value may be killed by loop side effects.\nHowever if the singleton is defined inside that loop, that loop should\nbe skipped since its loop side effects kill values at loop header where\nthe singleton\u0027s location doesn\u0027t exist yet.\n\nTest: test-art-host\n\nBug: 31716107\nChange-Id: Iae2494ea93295977f90d1463ee136a7e2e09ba9b\n"
    },
    {
      "commit": "e7adee75353520ce8c76ce56c73311df2c3fb813",
      "tree": "48b08974a13ece30092fd052d07a47d776cd6d86",
      "parents": [
        "7fe56583220d813980f2241e0df13f5aa6627611"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 17 16:13:46 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 17 16:32:53 2016 +0100"
      },
      "message": "Revert \"Revert \"Revert \"Temporarily blacklist 955-method-handles-smali.\"\"\"\n\nThis reverts commit 5665f6a561262b78d85afc975eca5a3138f4efa2.\n\nTest failures were fixed in d4fd5b1ec3bea01ad6985b7fe19a0f80b5fc970b.\n\nTest: make test-art-host.\n\nChange-Id: I45901836a92336ed1a337cdbf3fa9a0181c3d975\n"
    },
    {
      "commit": "6467876885e6425dc82e18446b59da42b96bea48",
      "tree": "7d1977880f765c317265c61f5d384ea9be44a9c8",
      "parents": [
        "06a421d7d2e5506e11aaf24ed6828320ba803987"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 14 19:05:06 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 14 19:05:06 2016 -0700"
      },
      "message": "ART: Blacklist test 907 for target\n\nBug: 31684578\nTest: m test-art-host\nChange-Id: If2353bef8601ba16941a7b1df2befc215b493431\n"
    },
    {
      "commit": "d2d0353de9e5c10f2a4a9ff2102d2b777c134a37",
      "tree": "095718db1506fa4e105636fd7a983de28cb9cdb8",
      "parents": [
        "aa8b60c23a2229159cbd5fde831de8d6d57e50d3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 14 13:30:56 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 14 14:49:35 2016 -0700"
      },
      "message": "ART: Temporarily use global references for GetLoadedClasses\n\nUntil we have enough local references, use global references.\n\nBug: 31684578\nBug: 32125344\nTest: m test-art-host\nChange-Id: If95ecaf424cfc7e8a84c7f99b071ac5d6bfb7797\n"
    },
    {
      "commit": "aa8b60c23a2229159cbd5fde831de8d6d57e50d3",
      "tree": "2ff66bc789f323ea619d2e5ddc054cea3dfe87de",
      "parents": [
        "05a364c8d8271ceeca307d04736f53e92d03de9d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 12 12:51:25 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 14 14:49:35 2016 -0700"
      },
      "message": "ART: Add GetLoadedClasses support\n\nAdd support to retrieve all loaded classes. Use the standard\nClassLoader callback infrastructure.\n\nBug: 31684578\nTest: m test-art-host-run-test-907-get-loaded-classes\nChange-Id: Ifb33cae27dc32602bcd8fd930d3c7eda02598c26\n"
    },
    {
      "commit": "5665f6a561262b78d85afc975eca5a3138f4efa2",
      "tree": "221ecb53b71364be6fbe4236970f268c74f71969",
      "parents": [
        "f18d84699a7c18802f9774069143c173c6b927fb"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Oct 14 14:27:33 2016 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Oct 14 14:27:33 2016 +0000"
      },
      "message": "Revert \"Revert \"Temporarily blacklist 955-method-handles-smali.\"\"\n\nThis reverts commit \nf18d84699a7c18802f9774069143c173c6b927fb.\n\nTests are red on the bot. Blacklisting until this is investigated further.\n\nChange-Id: Ibb9b4066abe28e8625c4eed5e0818e6a3fdd4f44\n"
    },
    {
      "commit": "f18d84699a7c18802f9774069143c173c6b927fb",
      "tree": "dfd72332cf3d4134ac9b563da366aaaefa118375",
      "parents": [
        "a3031162de5ddb6842e352bef6cf97c1967cd9f4"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Oct 13 16:09:33 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Oct 14 12:26:40 2016 +0100"
      },
      "message": "Revert \"Temporarily blacklist 955-method-handles-smali.\"\n\nThis reverts commit adc2ef25244645a650111560d252e32b3e22f463.\n\nThe test is green, now that the required smali changes have been\nmerged into aosp/master.\n\nTest: make test-art-host\nChange-Id: I63eed37470d1def3bafccdd00116d7b49a4c9c78\n"
    },
    {
      "commit": "208f857edf8361ddc4e85d82699935998e7179ac",
      "tree": "5a4390b34132b6b77fac45a81f31a8191235fdfe",
      "parents": [
        "ac4804fb365fc05552419162cbd8a6b8c77fec4f"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Aug 03 12:46:58 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Oct 14 09:39:33 2016 +0100"
      },
      "message": "interpreter: support for non-exact invokes.\n\nPerforms primitive argument conversions as well as boxing and unboxing\noperations. Support for return value conversions will be added in a\nfollow up change.\n\nTest: make test-art-host\n\nChange-Id: I2e3348ff64a5826e477f87c12a7d5c390eb3a653\n"
    },
    {
      "commit": "68f1128b3f98886ebe28c36e8a75f7a254db5431",
      "tree": "834f7711b4652c51ab3f4a41de54114da14ad556",
      "parents": [
        "7c750a203281cef9a58f31c1401de5f20d8b2f4c",
        "96eeb4e2bb21afe8783d62e06b91fd1aef682dbb"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 13 10:15:52 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 13 10:15:52 2016 +0000"
      },
      "message": "Merge \"Update HInstruction::NeedsCurrentMethod.\""
    },
    {
      "commit": "5d0370178167aafae0f1cadd54ac97fc210e1ee4",
      "tree": "e54dbb0061a55f40ad3a556689f11f75aab9a9cf",
      "parents": [
        "c2f1fc70dba4db8751248c4ad15315946f6d13d0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 12 18:21:41 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 12 18:21:41 2016 -0700"
      },
      "message": "ART: Disable test 906 for JIT\n\nSuppress test which has potential allocations at inopportune\nmoments.\n\nBug: 31385354\nTest: m ART_TEST_JIT\u003dtrue test-art-host-run-test-906-iterate-heap\nChange-Id: I137d5d2ba20b95ee4c4421e9da7526bee0c57d20\n"
    },
    {
      "commit": "023161ec66746da03daf9de584569b453ff45689",
      "tree": "d9585c36fd746e1287e5294012774a5eea4eeb04",
      "parents": [
        "b38187c7a91ce3fd56921991715dd08a94f3ad16",
        "7dc96932491dde6b5b58998254d5837dbcbbde03"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 12 22:57:20 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 12 22:57:20 2016 +0000"
      },
      "message": "Merge \"Recognize XOR-based periodic induction.\""
    },
    {
      "commit": "96eeb4e2bb21afe8783d62e06b91fd1aef682dbb",
      "tree": "097907f294206c45a03c4b63bf986b9e144116af",
      "parents": [
        "e2ced0db78b89b778cd1c9ef4ace5dec7dbc66b0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 12 22:03:31 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 12 22:27:38 2016 +0100"
      },
      "message": "Update HInstruction::NeedsCurrentMethod.\n\nHLoadString and HLoadClass when sharpened may not need it\nanymore. Instead just rely on the HCurrentMethod being the\nSSA dependency of those instructions.\n\nAlso save storing the current method in the stack if the\ngraph actually doesn\u0027t need it.\n\ntest: m test-art-host test-art-target\nChange-Id: I235d8275230637cbbd38fc0d2f9b822f6d2a9c1e\n"
    },
    {
      "commit": "7dc96932491dde6b5b58998254d5837dbcbbde03",
      "tree": "b2b0c7a133738823eb61871e5482aa657f2f8a2a",
      "parents": [
        "f0ab2ec6008bbd495e59bb9bf81ac399d864f38b"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Oct 12 10:01:05 2016 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Oct 12 14:10:11 2016 -0700"
      },
      "message": "Recognize XOR-based periodic induction.\n\nRationale:\nThis is a commonly used construct (e.g. x \u003d !x for booleans\nand x ^\u003d 1 for integers). This CL prepares some upcoming\noptimizations that exploit such inductions.\n\nChange-Id: I46edffb9de1075a836995daf5c2dfff7891f3034\nTest: 530-checker-loops2 and induction_var_analysis_test\n"
    },
    {
      "commit": "8ccc8fcf2fc631db73061a514b56af161016423f",
      "tree": "6708a7c643bb58357bbaa3182ef979f53b20fa51",
      "parents": [
        "e8317d90c61dde07c12e404a2bc1fabf584905c1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 12 13:09:03 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 12 13:09:03 2016 -0700"
      },
      "message": "ART: Disable test 906 for target\n\nBug: 31385354\nTest: m test-art-host-run-test-906-iterate-heap\nChange-Id: Ic31d25acd9c50dfefddd567ead30d8d3e3f97d0a\n"
    },
    {
      "commit": "e54d992ee75c0924c9a8d4e2f77dacf44c8c651b",
      "tree": "b3bbf220dcd67c5496110a7096d9349b184411f6",
      "parents": [
        "f0ab2ec6008bbd495e59bb9bf81ac399d864f38b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 11 19:55:37 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 12 11:22:38 2016 -0700"
      },
      "message": "ART: Add heap iteration callback\n\nAdd callback support for heap iteration. Visiting of fields will\nbe done in a follow-up.\n\nAdd a test.\n\nBug: 31385354\nTest: m test-art-host-run-test-906-iterate-heap\nTest: m ART_TEST_GC_STRESS\u003dtrue ART_TEST_GC_VERIFY\u003dtrue test-art-host-run-test-906-iterate-heap\nChange-Id: I7bcf6751e6df4ef58756ba97701050b2ff5eb07b\n"
    },
    {
      "commit": "cc13b2226bcfb41e917f99ae5aeab79f25ed052e",
      "tree": "335dea9a3392bd971d14c1f9f38e482d45b836a1",
      "parents": [
        "c1f24b947a4dfe76064db3ae5470a388a67650a8"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 10 19:09:09 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 11 14:03:54 2016 -0700"
      },
      "message": "ART: Add object reclaim support\n\nAdd support for the object free callback.\n\nRefactor code in support. Add test.\n\nBug: 31384923\nTest: m test-art-host\nTest: m test-art-host-run-test-905-object-free\nTest: m ART_USE_READ_BARRIER\u003dtrue test-art-host-run-test-905-object-free\nChange-Id: Icde40ad464c723cfe2f7660c07cd2f79b6dc2032\n"
    },
    {
      "commit": "c1f24b947a4dfe76064db3ae5470a388a67650a8",
      "tree": "20be99be418433853947bbcab9bd007d8dd115ef",
      "parents": [
        "1e0d8ce4e56d47a399ab367b9dcb5b34069a9f27",
        "482095d3a03892b76f5b835c9e7ea4bc80638501"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 11 19:55:32 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 11 19:55:32 2016 +0000"
      },
      "message": "Merge \"Improved and simplified loop optimizations.\""
    },
    {
      "commit": "482095d3a03892b76f5b835c9e7ea4bc80638501",
      "tree": "642cb6b52f68e4e6d03475e80dc2845c5e4f50f6",
      "parents": [
        "0d7398fd5407938aba75c50bd323af27e83ccb9f"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Oct 10 15:39:10 2016 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Oct 11 10:39:42 2016 -0700"
      },
      "message": "Improved and simplified loop optimizations.\n\nRationale:\nEmpty preheader simplification has been simplified\nto a much more general empty block removal optimization\nstep. Incremental updating of induction variable\nanalysis enables repeated elimination or simplification\nof induction cycles.\n\nThis enabled an extra layer of optimization for\ne.g. Benchpress Loop (17.5us. -\u003e 0.24us. -\u003e 0.08us).\nSo the original 73x speedup is now multiplied\nby another 3x, for a total of about 218x.\n\nTest: 618-checker-induction et al.\nChange-Id: I394699981481cdd5357e0531bce88cd48bd32879\n"
    },
    {
      "commit": "d6d3f0e23930d4e8700e72702696a9eca2d8d9e1",
      "tree": "8920b13da4c8aea1f0b57ad7ecbe6c3ac1e5c2ee",
      "parents": [
        "bf9e54363699fe7f8825632c30a613e260446d4c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 10 20:01:41 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 10 20:01:41 2016 -0700"
      },
      "message": "ART: Fix test 904\n\nPrefetch class names to avoid allocation for logging.\n\nBug: 31684277\nTest: m ART_TEST_RUN_TEST_RELOCATE_NO_PATCHOAT\u003dtrue test-art-host-run-test-904-object-allocation\nChange-Id: I8d12ea1a2b15680995af84d243de4d07d22bede5\n"
    },
    {
      "commit": "f24ddb28ebcdea766cdee155f0b21e8aa2d01758",
      "tree": "3e9bcb619b7d7f3c7c85a24e2024ec570b66faf6",
      "parents": [
        "a6bfd5f8e535d4015064ca77a9e78487bbf16447",
        "27fa96c285c4aa2f64e9bb63a3f38ffdc98c282a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 11 00:43:31 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 11 00:43:31 2016 +0000"
      },
      "message": "Merge \"ART: Add allocation callback\""
    },
    {
      "commit": "a6bfd5f8e535d4015064ca77a9e78487bbf16447",
      "tree": "5ad1ddbf7ccd719ae358828b0c6d4261911ccc41",
      "parents": [
        "f95054f48909d137e620c497189ca810d11e1b64",
        "a1ff30fcb3c23b855872ef83b87e6ee19f03cb8e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 10 23:39:05 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 10 23:39:05 2016 +0000"
      },
      "message": "Merge \"ART: Switch to name-based IMT hashing\""
    },
    {
      "commit": "a1ff30fcb3c23b855872ef83b87e6ee19f03cb8e",
      "tree": "43d6533d594bc898ffeb016bc8895bd8da3efe1e",
      "parents": [
        "5065b09332328477d489b8ce26c3a1381e6f8d49"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 27 12:19:45 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 10 14:29:26 2016 -0700"
      },
      "message": "ART: Switch to name-based IMT hashing\n\nUse a hash scheme based on the name. This keeps IMT slots stable\nwhen dex tables change.\n\nThis incurs a severe performance penalty for computing the slot.\nMeasurements on host degraded from 30ns to an average of 85mus.\nHowever, calls in compiled code will not incur this overhead.\n\nAdded a test comparing similar interfaces in similar dex files.\n\nBug: 31594153\nTest: test-art-host\nChange-Id: Ibb86679ee94bec561984ea25826e56b1a7964cd0\n"
    },
    {
      "commit": "f95054f48909d137e620c497189ca810d11e1b64",
      "tree": "9b9215f5580a03bc651e14331b0c580c91cce16d",
      "parents": [
        "ed63aad1a7ba85416fec2e7095ba9c4563aa6086",
        "a9b296c932947f8c857101f6653a3b7cb755c285"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Oct 10 20:42:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 10 20:42:18 2016 +0000"
      },
      "message": "Merge \"Avoid ThreadStress timeout with art-read-barrier-table-lookup.\""
    },
    {
      "commit": "27fa96c285c4aa2f64e9bb63a3f38ffdc98c282a",
      "tree": "bece47e22bf5b8a212da88019dfed5eee01f7b88",
      "parents": [
        "77708d9149b0a00247eb69ea4d5386cae4e40287"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 07 15:05:24 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 10 13:27:45 2016 -0700"
      },
      "message": "ART: Add allocation callback\n\nBug: 31684277\nTest: m test-art-host\nChange-Id: I959f44e23ca5fe55ed678315708895faf0aadb04\n"
    },
    {
      "commit": "a9b296c932947f8c857101f6653a3b7cb755c285",
      "tree": "a6d729ab851709e064cd0468cf09ec61e9002b0b",
      "parents": [
        "18f7de841fee3ca6f0c04e7caa57c3ce76b36231"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Oct 07 17:07:03 2016 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Oct 07 18:11:55 2016 -0700"
      },
      "message": "Avoid ThreadStress timeout with art-read-barrier-table-lookup.\n\nDisable MarkFromReadBarrierWithMeasurements for\nart-read-barrier-table-lookup to avoid slowdown as it takes more read\nbarrier slow paths than art-read-barrier.\n\nIncrease the timeout.\n\nBug: 31679493\nBug: 12687968\nTest: test-art-host with ART_READ_BARRIER_TYPE\u003dTABLELOOKUP\nChange-Id: I1a87864448e28099e522dc7fedce2208189248f2\n"
    },
    {
      "commit": "6ed8fc7a68910ebfe9df7cc080c9a9fc835c658a",
      "tree": "c45da31d70ab476836ad97b27f5b57812807c842",
      "parents": [
        "f13f84fd9fb6151c382b1f14062d6ff8c9c3b51e",
        "8c4a8542ff5f899f430a65feaa114d6288077224"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 07 16:51:06 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 07 16:51:07 2016 +0000"
      },
      "message": "Merge \"Improved and simplified loop optimizations.\""
    },
    {
      "commit": "8c4a8542ff5f899f430a65feaa114d6288077224",
      "tree": "8582d2cbab0dcab323b984caa164f4c3bc65613d",
      "parents": [
        "78c6fefdb9008cb6dc9f0014d4616b457009c6c8"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Oct 06 11:36:57 2016 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Oct 07 08:16:16 2016 -0700"
      },
      "message": "Improved and simplified loop optimizations.\n\nRationale:\nThis CL merges some common cases into one, thereby simplifying\nthe code quite a bit. It also prepares for more general induction\ncycles (rather than the simple phi-add currently used). Finally,\nit generalizes the closed form elimination with empty loops.\nAs a result of the latter, elaborate but weird code like:\n\n  private static int waterFall() {\n    int i \u003d 0;\n    for (; i \u003c 10; i++);\n    for (; i \u003c 20; i++);\n    for (; i \u003c 30; i++);\n    for (; i \u003c 40; i++);\n    for (; i \u003c 50; i++);\n    return i;\n  }\n\nnow becomes just this (on x86)!\n\n    mov eax, 50\n    ret\n\nChange-Id: I8d22ce63ce9696918f57bb90f64d9a9303a4791d\nTest: m test-art-host\n"
    },
    {
      "commit": "fec2bdfbdcad4bd8938d958ae6c9dbfe37556a96",
      "tree": "0837ad99969c4727e098c3eaefa38d4a226edd84",
      "parents": [
        "81ca05d930c0e7d504bd3a5f7576c10616c208aa"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 07 09:29:20 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 07 09:32:11 2016 +0100"
      },
      "message": "Blacklist test 903.\n\nbug:31681198\nChange-Id: I2d5578242d594be791aedd99266263ec53182d77\n"
    },
    {
      "commit": "6dee92eb2ebddbea7e147c7a82b193e113b6421f",
      "tree": "24975672d085f9f2b459af6081f4536be194fdb6",
      "parents": [
        "cf42ad62df2dda8b5a39cab50669a9446a880b41"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 12 19:58:13 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 05 12:54:03 2016 -0700"
      },
      "message": "ART: Support object tagging\n\nAdd support for tagging in the JVMTI plugin.\n\nBug: 31385027\nTest: m test-art-host\nChange-Id: I4d8fb12cd23ca60dc0b0ce9051d1c77e5eb18aa9\n"
    },
    {
      "commit": "2f61867045ffbd0c38a4ecec5f59632004f7efff",
      "tree": "c7b4393d7cd7cbcd3272ff83d8424be02828251a",
      "parents": [
        "4aa6a93c46a959df1ab71ee7a68ad345338046ef",
        "97d7e1cd7f733cb33a0e238bec6d7ed525638cd1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 05 17:00:41 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 05 17:00:41 2016 +0000"
      },
      "message": "Merge \"Remove #include \"oat_file.h\" from class_linker.h .\""
    },
    {
      "commit": "adc2ef25244645a650111560d252e32b3e22f463",
      "tree": "bc74a75d6c307c98a7a4ff71f365c06bf95bec25",
      "parents": [
        "8ee0b085bed13105c2ecc9caeb025eb758bcb27d"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Oct 05 14:15:01 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Oct 05 14:26:27 2016 +0100"
      },
      "message": "Temporarily blacklist 955-method-handles-smali.\n\nNeeds a companion smali change 7b348e4f323f44a7c44282.\n\nTest: make test-art-host\n\nChange-Id: Id245d9ead8467315c97cfe07103da2b406b08c49\n"
    },
    {
      "commit": "97d7e1cd7f733cb33a0e238bec6d7ed525638cd1",
      "tree": "d2f02420f82d76d10dc0d80f431c9f4aba03ac82",
      "parents": [
        "eebe142e935e9444c7c947d02246e7fbe88b2cc4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 04 14:44:28 2016 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 05 13:21:44 2016 +0100"
      },
      "message": "Remove #include \"oat_file.h\" from class_linker.h .\n\nRefactor the OatClass and OatMethod related functions from\nClassLinker to OatFile and ArtMethod, respectively. Refactor\nthe remaining ClassLinker dependencies on OatFile to break\nthe #include dependency and reduce incremental build times.\n\nTest: m test-art-host\nChange-Id: Iebc5b9f81b48fbcf79821cc827a5d7c4a0261bf6\n"
    },
    {
      "commit": "8ee0b085bed13105c2ecc9caeb025eb758bcb27d",
      "tree": "2e53573d42f50baa32fa63a23734ff4ed662023d",
      "parents": [
        "d3a9ce9d30a59587413310e66ea51c8f7adb0a1d",
        "9823e788ed3368ecf826c44bfa16ccabfcbe32f8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 05 12:19:30 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 05 12:19:30 2016 +0000"
      },
      "message": "Merge \"Basic implementation of invoke / invoke-polymorphic.\""
    },
    {
      "commit": "9823e788ed3368ecf826c44bfa16ccabfcbe32f8",
      "tree": "59dee92dfd7518a98905c8313bdcb0a2ca2946cb",
      "parents": [
        "82d4838d6bb3480cd25327cedc5179fb2d86881c"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Aug 03 12:46:58 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Oct 05 10:34:59 2016 +0100"
      },
      "message": "Basic implementation of invoke / invoke-polymorphic.\n\nBasic switch interpreter support for invoke-polymorphic. This change\nallows for virtual/interface and static invokes on method handles.\n\nSupport for direct invokes (including constructors) and field\ngetters and setters will be added in follow up changes.\n\nBug: 30550796\nTest: make test-art-host\n\nChange-Id: Ieb3a991d974060d930d56467908d5c7c11d0e38e\n"
    },
    {
      "commit": "3601e4a5c52fcf6197fe57498a28d66f3fac076c",
      "tree": "c2eb87153d8af5342bac453fe1dbedb150d8485d",
      "parents": [
        "c13fbeb2201dc0bf783670d4548a49f03b1cb33e",
        "a82a1aca396cb9dca1f13aa284dbec5d428b82a1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Oct 05 01:38:09 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 05 01:38:09 2016 +0000"
      },
      "message": "Merge \"Revert \"Compute PPID at ninja time\"\""
    },
    {
      "commit": "556c9a2f182c4fcb9eba9dc4937095665f314a2b",
      "tree": "ffe6d3711b565330fb883953144ddd7603356804",
      "parents": [
        "e793bbb4a8a832423e7d6150b6a8fad75d63d36e",
        "1cc62e4ea24828fdb3f3da0b8603f0b107d09a04"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 05 00:39:07 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 05 00:39:08 2016 +0000"
      },
      "message": "Merge \"Rename ObjPtr::Decode to ObjPtr::Ptr\""
    },
    {
      "commit": "a82a1aca396cb9dca1f13aa284dbec5d428b82a1",
      "tree": "fa3eb3207fc9116eed461b8462fbdf9628c7e267",
      "parents": [
        "b1c17bb080ccf41b30909c0401df59e6f3a1ebb1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Oct 04 23:06:16 2016 +0000"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Oct 04 23:07:06 2016 +0000"
      },
      "message": "Revert \"Compute PPID at ninja time\"\n\nThis reverts commit b1c17bb080ccf41b30909c0401df59e6f3a1ebb1.\n\nIt breaks make test-art-host when /bin/sh is not bash, as \n/bin/sh -c /bin/bash -c echo $PPID \nreturns the pid of /bin/sh, not the pid of ninja.\n\nTest: none\nChange-Id: Ia4e5f76ea4c5f5b5c102ce54ae03c3fccb23a49f\n"
    },
    {
      "commit": "26705cca4643385931f3b3568b6b82525400b52b",
      "tree": "433a9e1189ffccc70291e08b51ecec36a59cfc87",
      "parents": [
        "d74bd3a9a48d34d7321f7de7a6f8e1d3467be58a",
        "281c681a0852c10f5ca99b351650b244e878aea3"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Oct 04 20:40:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 04 20:40:24 2016 +0000"
      },
      "message": "Merge \"A first implementation of a loop optimization framework.\""
    },
    {
      "commit": "1cc62e4ea24828fdb3f3da0b8603f0b107d09a04",
      "tree": "718e322f3d05ac095770d4dc2a68b824bf3974a7",
      "parents": [
        "82d4838d6bb3480cd25327cedc5179fb2d86881c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 03 18:01:28 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 04 10:46:16 2016 -0700"
      },
      "message": "Rename ObjPtr::Decode to ObjPtr::Ptr\n\nDone to prevent ambiguity with ScopedObjectAccess::Decode.\n\nBug: 31113334\n\nTest: test-art-host\nChange-Id: I07a2497cc9cf66386311798933547471987fc316\n"
    },
    {
      "commit": "aad75c6d5bfab2dc8e30fc99fafe8cd2dc8b74d8",
      "tree": "c1b9e1eabcf35c5cbb5b4f46313a4e062f2d5d51",
      "parents": [
        "82d4838d6bb3480cd25327cedc5179fb2d86881c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 03 08:46:48 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 04 17:51:46 2016 +0100"
      },
      "message": "Revert \"Revert \"Store resolved Strings for AOT code in .bss.\"\"\n\nFixed oat_test to keep dex files alive. Fixed mips build.\nRewritten the .bss GC root visiting and added write barrier\nto the artResolveStringFromCode().\n\nTest: build aosp_mips-eng\nTest: m ART_DEFAULT_GC_TYPE\u003dSS test-art-target-host-gtest-oat_test\nTest: Run ART test suite on host and Nexus 9.\nBug: 20323084\nBug: 30627598\n\nThis reverts commit 5f926055cb88089d8ca27243f35a9dfd89d981f0.\n\nChange-Id: I07fa2278d82b8eb64964c9a4b66cb93726ccda6b\n"
    },
    {
      "commit": "b1c17bb080ccf41b30909c0401df59e6f3a1ebb1",
      "tree": "ff647a196aeb299fe70e5dbafa6a505f076d46ce",
      "parents": [
        "6ba406580e73c69434d4d73ef5e5ccf47168854f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Oct 03 16:40:13 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Oct 03 17:55:48 2016 -0700"
      },
      "message": "Compute PPID at ninja time\n\nUsing $(shell $$PPID) to compute PPID will return the pid of kati, which\nwill be the same for multiple sequential runs of make without changing\nany makefiles.  Replace it with a bash subshell command to return the pid\nof ninja, which will be different for every call to make.\n\nART_HOST_TEST_DIR now contains $ that need to propagate to the final\nbash command, and must be evaluated exactly once.  Escape the $ in\n${ART_HOST_TEST_DIR} in define-test-art-run-test so that\n${ART_HOST_TEST_DIR} is not substituted in the function call to prevent\nevaluating its contents in the $(eval) that wraps it, which would\nsubstitute out the necessary $.\n\nTest: m -j test-art-host\nChange-Id: I3303805481cc1c77d1a321674e8c7c003043a7c4\n"
    },
    {
      "commit": "281c681a0852c10f5ca99b351650b244e878aea3",
      "tree": "33036cbfb76ee497eedf60e0e5785a2267c9dd02",
      "parents": [
        "a845d07bbd57f8beaea8b4fb47192a3382ef25b2"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Aug 26 11:31:48 2016 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Oct 03 15:15:27 2016 -0700"
      },
      "message": "A first implementation of a loop optimization framework.\n\nRationale:\nWe are planning to add more and more loop related optimizations\nand this framework provides the basis to do so. For starters,\nthe framework optimizes dead induction, induction that can be\nreplaced with a simpler closed-form, and eliminates dead loops\ncompletely (either pre-existing or as a result of induction\nremoval).\n\nSpeedup on e.g. Benchpress Loop is 73x (17.5us. -\u003e 0.24us.)\n[with the potential for more exploiting outer loop too]\n\nTest: 618-checker-induction et al.\n\nChange-Id: If80a809acf943539bf6726b0030dcabd50c9babc\n"
    },
    {
      "commit": "25352fc06c84cdab8a2ab6d173b0514066ade2b9",
      "tree": "bb8a6be0c9a144ccf33b07b3158409769a32daa2",
      "parents": [
        "51cbe84ca33800c57fef9c96f1155f60bcc70bba"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Aug 03 12:46:58 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 03 09:48:50 2016 +0100"
      },
      "message": "class_linker: Add support for resolving method types.\n\n- Add a new fixed size dex cache array for resolved method types.\n  The size of this array is set to 1024.\n- Also introduces a new runtime flag that controls this feature.\n\nTest: make test-art-host\nBug: 30550796\n\nChange-Id: I147b33398d71ee21f2e91b418d3700d4630801ff\n"
    },
    {
      "commit": "4f0cabfe1324fd42190df29245f33897510b74fd",
      "tree": "4cc06a02c10935dba86ebf7c7d196933c42890ae",
      "parents": [
        "523b51537f87991d79818690f1fa2ef08f09e145",
        "9642b1b698c1239cb13c8774936fd990c1a6a6c6"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Sep 30 17:37:57 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 30 17:37:57 2016 +0000"
      },
      "message": "Merge \"Remove dependency on libcutils\""
    },
    {
      "commit": "5f926055cb88089d8ca27243f35a9dfd89d981f0",
      "tree": "8d87d400e36301eb648e19bcd225f13c469648ad",
      "parents": [
        "9e5739aaa690a8529c104f4c05035a657616c310"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 30 17:04:49 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 30 18:08:09 2016 +0100"
      },
      "message": "Revert \"Store resolved Strings for AOT code in .bss.\"\n\nThere are some issues with oat_test64 on host and aosp_mips-eng.\n\nAlso reverts \"compiler_driver: Fix build.\"\n\nBug: 20323084\nBug: 30627598\n\nThis reverts commit 63dccbbefef3014c99c22748d18befcc7bcb3b41.\nThis reverts commit 04a44135ace10123f059373691594ae0f270a8a4.\n\nChange-Id: I568ba3e58cf103987fdd63c8a21521010a9f27c4\n"
    },
    {
      "commit": "9e5739aaa690a8529c104f4c05035a657616c310",
      "tree": "ae6aafe597b0a0370ae6f20d0e281aa4f4632e1c",
      "parents": [
        "93acbaca3b49f1c46216c0af74e21820918415fb",
        "e663653c797446a6018523677c1a55769fd1423c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 30 16:42:48 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 30 16:42:49 2016 +0000"
      },
      "message": "Merge \"Make run-test fail if output-path is too long\""
    },
    {
      "commit": "9642b1b698c1239cb13c8774936fd990c1a6a6c6",
      "tree": "179a8916660a0de5ee8c923c080dfd7af0fa3147",
      "parents": [
        "b4cf427734c6839b46d0d6037e3189a5e8aa1bdb"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Sep 28 02:44:00 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Sep 30 08:16:18 2016 -0700"
      },
      "message": "Remove dependency on libcutils\n\nUse liblog for liblog (instead of libcutils)\nReplace calls to property_get with libbase\nGetProperty()\n\nBug: http://b/31289077\nBug: http://b/27171986\nTest: remove liblog from libcutils and recompile\nTest: make test-art-target -j4\nChange-Id: I2a2913af8f521131558e9dd672d3973a64a410d3\n"
    },
    {
      "commit": "428792553e59452d0b6fdbf2460072d697c966db",
      "tree": "c4d3c14944e772cd98f2fd76e4f41c2fbc3f6acf",
      "parents": [
        "ce157a6864bd346152bef1b66d050cfb144f56b5",
        "63dccbbefef3014c99c22748d18befcc7bcb3b41"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 30 14:10:21 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 30 14:10:21 2016 +0000"
      },
      "message": "Merge \"Store resolved Strings for AOT code in .bss.\""
    },
    {
      "commit": "0795f23920ee9aabf28e45c63cd592dcccf00216",
      "tree": "ff3f880c5e84f3316532b47d0e9a7729ade848ac",
      "parents": [
        "d1224dce59eb0019507e41da5e10f12dda66bee4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 27 18:43:30 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Sep 29 17:31:09 2016 -0700"
      },
      "message": "Clean up ScopedThreadStateChange to use ObjPtr\n\nAlso fixed inclusion of -inl.h files in .h files by adding\nscoped_object_access-inl.h and scoped_fast_natvie_object_access-inl.h\n\nChanged AddLocalReference / Decode to use ObjPtr.\n\nChanged libartbenchmark to be debug to avoid linkage errors.\n\nBug: 31113334\n\nTest: test-art-host\n\nChange-Id: I4d2e160483a29d21e1e0e440585ed328b9811483\n"
    },
    {
      "commit": "63dccbbefef3014c99c22748d18befcc7bcb3b41",
      "tree": "60a498041bebff43bc1f43d438e3bc34a30887f7",
      "parents": [
        "6bee25976782a063d6b44f7718a6302761bf6403"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Sep 21 13:51:10 2016 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Sep 29 15:58:43 2016 +0100"
      },
      "message": "Store resolved Strings for AOT code in .bss.\n\nAnd do some related refactorings.\n\nBug: 20323084\nBug: 30627598\nTest: Run ART test suite including gcstress on host and Nexus 9.\nTest: Run ART test suite including gcstress with baker CC on host and Nexus 9.\nTest: Build aosp_mips64-eng.\nChange-Id: I1b12c1570fee8e5da490b47f231050142afcbd1e\n"
    },
    {
      "commit": "3bc58b96066e939b6ff97f6439bf0082addd78f4",
      "tree": "78ddaf580cf69c92ed06037b89075ae6eb0d3319",
      "parents": [
        "fd8339e58e3c09097165feeed7a2d70482d40130"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 29 09:00:46 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 29 09:00:46 2016 +0100"
      },
      "message": "Print to System.err to avoid output races.\n\ntest: run-test 054\nChange-Id: I40ee02b377bd982090e74238dae0fddbde126a80\n"
    },
    {
      "commit": "e663653c797446a6018523677c1a55769fd1423c",
      "tree": "9ac356be54c6c02aa61e3dbeff89b6b01f224677",
      "parents": [
        "7f7fb9c0dcb5fc0ed251b3f9bb775de5278534a7"
      ],
      "author": {
        "name": "Wojciech Staszkiewicz",
        "email": "staszkiewicz@google.com",
        "time": "Fri Sep 23 10:59:55 2016 -0700"
      },
      "committer": {
        "name": "Wojciech Staszkiewicz",
        "email": "staszkiewicz@google.com",
        "time": "Wed Sep 28 13:34:46 2016 -0700"
      },
      "message": "Make run-test fail if output-path is too long\n\nLong output-path in no prebuild mode leads to silent fallback to\ninterpreter in dalvikvm.\n\nThis change ensures that we handle this situation by failing the\ntest.\n\nBug: 31597671\nTest: m test-art-run-test -j\nChange-Id: I19a7cee788760a81c9395be1252b2edab0db39f7\n"
    },
    {
      "commit": "36cbbde646b7f17140437600aaccf0292b7d506d",
      "tree": "093e396eb9128ec3ce0e771fe9ade41522a32500",
      "parents": [
        "b737745c79cbfa4fb3f9dfcb4560c5179f94851b",
        "0c88383331a37f0673c808d1d88b3359a54b2ca0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 28 02:14:34 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 28 02:14:34 2016 +0000"
      },
      "message": "Merge \"Store bisection logs in test directory\""
    },
    {
      "commit": "fbe170c0c374e392d0bbcea24cdaee7e1893e241",
      "tree": "a56989e1e0e67036e20b231f263b48fbcf617bb8",
      "parents": [
        "52591a6682904a0b1c2df9da0e9b5300eccdcba1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 27 10:24:36 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 27 10:24:48 2016 +0100"
      },
      "message": "Fix no-prebuild failure.\n\nPrinted executable is now dalvikvm* instead of art.\n\ntest:run-test --host 118\n\nChange-Id: Id2c3a7f6ba90ee3cb4e57a49e366c46377fc4c45\n"
    },
    {
      "commit": "0c88383331a37f0673c808d1d88b3359a54b2ca0",
      "tree": "fa164cedf63bbbad7ce13ae20e7331ef280571ce",
      "parents": [
        "c16672a0262a0269af9c91b5c2b67e485bbef59b"
      ],
      "author": {
        "name": "Wojciech Staszkiewicz",
        "email": "staszkiewicz@google.com",
        "time": "Mon Sep 26 17:51:52 2016 -0700"
      },
      "committer": {
        "name": "Wojciech Staszkiewicz",
        "email": "staszkiewicz@google.com",
        "time": "Mon Sep 26 17:52:39 2016 -0700"
      },
      "message": "Store bisection logs in test directory\n\nStore bisection search logs in test directory for easier access.\n\nTest: ./test/run-test --never-clean --no-prebuild --bisection-search\n037-inherit\nChange-Id: I67e472b933516f0e486f47fd2c7a4ae06212db44\n"
    },
    {
      "commit": "3fec9ac0d5af1358d216eb2fdc2000ec0205f3f0",
      "tree": "f38d8d8aae51f53e7ee6b474f47597b784fc2316",
      "parents": [
        "0cfe19af3b7395658210ea6044a65c9811962a7a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 13 10:47:28 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 26 10:59:22 2016 -0700"
      },
      "message": "ART: Use libbase logging\n\nMove most of our logging infrastructure over to system/core/base.\nRetain VLOG.\n\nUsing unified Android infrastructure has two main advantages. First,\nit reduces the complexity/maintenance burden in ART. Second, it\nallows to detach logging for the cases where we do not want or need\na runtime, e.g., dexdump, the disassembler, etc. As a part of the\nlatter, libbase is also supported for all hosts (including Windows).\n\nFrom a developer viewpoint, there are minor behavior changes for the\nLOG statements (see above), but otherwise usage is the same. Explicit\nseverity enum items are in the android::base namespace now.\n\nBug: 31338270\nTest: m test-art-host\nChange-Id: I5abcb2f45f5b03d49951874c48544f72a283a91b\n"
    },
    {
      "commit": "3cc69a894444ccd2450b100ae41fd2a932a38749",
      "tree": "d8bdddc6eed689d3eff138d3720211a0b541e18a",
      "parents": [
        "a1d66b9050aeecd7e698c51155f0dbc0198a6822",
        "50a9ed014e3b4dec67246ea07727d7bec89bfb17"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Sep 26 12:39:16 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 26 12:39:16 2016 +0000"
      },
      "message": "Merge \"Compensate in compiler for verifier shortcomings.\""
    },
    {
      "commit": "50a9ed014e3b4dec67246ea07727d7bec89bfb17",
      "tree": "1fcbf2173f8b7409c2feb94a372f9e8390c8bad7",
      "parents": [
        "cbb651fdf2c88052a4c556c96adac729176b61ea"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Sep 23 15:40:41 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 26 11:49:24 2016 +0100"
      },
      "message": "Compensate in compiler for verifier shortcomings.\n\nThe verifier does not differentiate zero and null, so a move-object\nof zero can be used as a non-object later on.\n\nChange the compiler to ignore the object conversion when the input\nis zero or a phi (which might just hold zeros). The type propagation\nwill then do proper inferencing of the types.\n\nAlso remove some stalled comments in ssa_builder.cc.\n\nbug:31313170\ntest: dex2oat b31313170.apk\ntest: run-test 800\ntest: m test-art-host-run-test\nChange-Id: I579d667415a7decf8ff2c2238dae4c13eec5d0e0\n"
    },
    {
      "commit": "a1d66b9050aeecd7e698c51155f0dbc0198a6822",
      "tree": "66fed79f18769b9a584f723b636e9521cfa5ca9e",
      "parents": [
        "ad1f0ad512cac82e5db05aa8237608ba8424c130",
        "55418e12a530893d25e18d0beb94bde1a4552bd9"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Sep 26 07:09:43 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 26 07:09:44 2016 +0000"
      },
      "message": "Merge \"Add DCE check to test 458-checker-instruct-simplification\""
    },
    {
      "commit": "496577fb4d6d7baea9c093d35d17e208c831bbca",
      "tree": "1da9976883a8fea0dc05a58ec9bbd347b010fc19",
      "parents": [
        "304533ed8475e9438e6ca7ef5fa644fd5dab5e97"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 20 15:33:31 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 23 15:27:26 2016 -0700"
      },
      "message": "Smarter image layout\n\nPut strings in the dex file that resolves them.\n\nDepth first traversal with overrides for class and dex cache. The\nwork list keeps track of what oat_index with each pushed item. This\nmeans the static fields of a class will usually be in the same image.\n\nAdded layout test to image_test to make sure things are somewhat\nreasonably attributed.\n\nBug: 28640955\n\nTest: test-art-host\n\n(cherry picked from commit 4e9c4e746617bad6a012d799d2f5cf9e01d24ea2)\n\nChange-Id: I67a536c33aeed603b252d8e0f75622c9efbf2559\n"
    },
    {
      "commit": "55418e12a530893d25e18d0beb94bde1a4552bd9",
      "tree": "f30d57d7be129848f382da2168b70f8115efca92",
      "parents": [
        "ae3016324f906ab2d777572d467c3e465bca6542"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Sep 23 16:51:42 2016 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Sep 23 17:07:14 2016 +0200"
      },
      "message": "Add DCE check to test 458-checker-instruct-simplification\n\nFollow-up to 9837caff9cbfb61e3dabc6fbecb398d4d659c017 by checking\nthat dead code is actually removed.\n\nTest: make -j32 test-art-host\nChange-Id: Ic7848be893c6fe5e65f5bcdd525597072bf67857\n"
    },
    {
      "commit": "cbb651fdf2c88052a4c556c96adac729176b61ea",
      "tree": "ac448e6a0e997341c8a4233dd107abcd7747ebf7",
      "parents": [
        "411caada9b1dc57c8537a7dfe2d2fc7702131152",
        "5e4e11e171f90d9a3ea178fc8e72aac909de55d5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 23 09:49:47 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 23 09:49:47 2016 +0000"
      },
      "message": "Merge \"Clean-up sharpening and compiler driver.\""
    },
    {
      "commit": "411caada9b1dc57c8537a7dfe2d2fc7702131152",
      "tree": "3aee80bd9b5458a90ff0b2c6c8ede73c79030b00",
      "parents": [
        "ca8bad9136d1389deeebc8652fb17063388de6b2",
        "f13a365f48f9a136dc0859373f449ff521f47ade"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Sep 23 08:19:08 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 23 08:19:08 2016 +0000"
      },
      "message": "Merge \"Use android_root instead of hard coded /system in test script.\""
    },
    {
      "commit": "5e4e11e171f90d9a3ea178fc8e72aac909de55d5",
      "tree": "53314d1139ac797d55258f39097ecfb5cef45920",
      "parents": [
        "ca8bad9136d1389deeebc8652fb17063388de6b2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 22 13:17:41 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Sep 23 09:08:00 2016 +0100"
      },
      "message": "Clean-up sharpening and compiler driver.\n\nRemove dependency on compiler driver for sharpening\nand dex2dex (the methods called on the compiler driver were\ndoing unnecessary work), and remove the now unused methods\nin compiler driver.\n\nAlso remove test that is now invalid, as sharpening always\nsucceeds.\n\ntest: m test-art-host m test-art-target\nChange-Id: I54e91c6839bd5b0b86182f2f43ba5d2c112ef908\n"
    },
    {
      "commit": "ae7e5029ea0a4814a38c12e9c387b46ee5e93eca",
      "tree": "f1d814717aaf296f71ed340c4c62392b30dff70b",
      "parents": [
        "9e5f321be43ad7d1e96ace55dc7e3f8b077f0038"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Sep 22 14:54:33 2016 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Sep 22 15:01:15 2016 -0700"
      },
      "message": "Disable test 902-hello-transformation on target\n\nThis test doesn\u0027t work on device at the moment due to restrictions on\nthe android linker.\n\nBug: 31681198\nTest: mma -j40 test-art-target-run-test-902-hello-transformation\nChange-Id: I0ce72aa938a5c274083bcb0c60be5370a2bb02c3\n"
    },
    {
      "commit": "f13a365f48f9a136dc0859373f449ff521f47ade",
      "tree": "93ce8f1c5f15d342bb81790b7c74d1eb415672e9",
      "parents": [
        "79bd5992aef92769f4226a27d8b77b072ca98e4b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 22 22:55:58 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 22 22:56:29 2016 +0100"
      },
      "message": "Use android_root instead of hard coded /system in test script.\n\nThe buildbot uses its own ANDROID_ROOT.\n\nSpotted while debugging 902 test failures on target.\n\nChange-Id: I9b2047ce510e93f205771f7384f644450b0325e6\n"
    },
    {
      "commit": "7e242e2972e62cc37780400c2971b32509c0ba46",
      "tree": "841bfbe5cfb06b340f8d6560d646d0ca9e9aedac",
      "parents": [
        "4670b99a26dfc9730883d5803acce24e5d34f6ab",
        "302432cd0bdfbd6399ea73a00fa821e9f557c65d"
      ],
      "author": {
        "name": "Benoit Lamarche",
        "email": "benoitlamarche@google.com",
        "time": "Thu Sep 22 09:34:26 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 22 09:34:27 2016 +0000"
      },
      "message": "Merge \"Ensure Jack generates annotations for test 005-annotations\""
    },
    {
      "commit": "4670b99a26dfc9730883d5803acce24e5d34f6ab",
      "tree": "8c37b094402bb4cd2d8fc4226b984eb037013df6",
      "parents": [
        "45026e4548641b1c0da0a030d563adb894bc5dd5",
        "9837caff9cbfb61e3dabc6fbecb398d4d659c017"
      ],
      "author": {
        "name": "Benoit Lamarche",
        "email": "benoitlamarche@google.com",
        "time": "Thu Sep 22 09:34:26 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 22 09:34:27 2016 +0000"
      },
      "message": "Merge \"Update art tests\""
    },
    {
      "commit": "45026e4548641b1c0da0a030d563adb894bc5dd5",
      "tree": "2776c84234446d11ee31e346cd134fcc7a724ffc",
      "parents": [
        "eb82e9952549cf7020a9610663ba862a73f2b5ec",
        "b5d36de38d3352edb169b7081e836a7698528acc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 22 05:38:51 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 22 05:38:52 2016 +0000"
      },
      "message": "Merge \"Don\u0027t warn for frame size in tests.\""
    },
    {
      "commit": "4b55b4b39a09ffb6850ed8ba7c5782dea07b5b83",
      "tree": "80b7913b16477d197be4b301bafa5667e380c162",
      "parents": [
        "524dfe8086e5e6ea86f5106bab800e5390a28aed",
        "9c20a14103f87a8a7ad53f7d3e863887ea4e800a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 22 01:06:27 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 22 01:06:27 2016 +0000"
      },
      "message": "Merge \"Get a basic modification of dex file working\""
    },
    {
      "commit": "524dfe8086e5e6ea86f5106bab800e5390a28aed",
      "tree": "5b0d1f99acd67d1d77896b879f0e65e4b3603a5e",
      "parents": [
        "16cb669007859ebc986c5459fc302f62b0aa89db",
        "06a04e0e776875303577c2d871b53a53c78da1b5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 22 00:37:06 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 22 00:37:07 2016 +0000"
      },
      "message": "Merge \"jni: Implement generic JNI support for @CriticalNative/@FastNative\""
    },
    {
      "commit": "9c20a14103f87a8a7ad53f7d3e863887ea4e800a",
      "tree": "1fd4b123bae008f670f806024c88d3dc404da24b",
      "parents": [
        "a51a135f114f6f0dbf7c4afd336f68b4a0d1bb7d"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Aug 23 15:05:12 2016 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Sep 21 15:47:06 2016 -0700"
      },
      "message": "Get a basic modification of dex file working\n\nThis allows the modification of a single classes methods through\ntransformation. One must ensure that the provided dex file only\ncontains one function and does not add or remove any methods or fields\nand does not change the inheritance hierarchy in any way. The provided\ndex file must verify and there must be no frames of the old code\npresent on any thread. These constraints are not checked or verified.\nBreaking them might cause undefined behavior in all parts of the\nruntime. Code that has been inlined in any way might not be replaced.\nThis feature is extremely experimental.\n\nBug: 31455788\nTest: ./test/run-test --host 902-hello-transformation\n\nChange-Id: I35133d24f6cdafdd2af9dc9863e15ba8493fc50e\n"
    },
    {
      "commit": "b5d36de38d3352edb169b7081e836a7698528acc",
      "tree": "ebb1d69e414c93932f8a8ba4785ecedde518b44e",
      "parents": [
        "692cc743146ff14b8e6f97945e9069ef66d15dbd"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Sep 21 14:56:51 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Sep 21 14:56:51 2016 -0700"
      },
      "message": "Don\u0027t warn for frame size in tests.\n\nThe libc++ update I\u0027m working on trips this (seems to be related to\nstring constructors now being inlined, but I can\u0027t say for sure). ART\nitself is still under the limits.\n\nTest: mm\nBug: None\nChange-Id: Ic23c3e3aadc8db625767d8ecc727aec84f1e4603\n"
    },
    {
      "commit": "06a04e0e776875303577c2d871b53a53c78da1b5",
      "tree": "6f8b38fa918f49cc502b573c96d9a6338ad343df",
      "parents": [
        "48d10ee126838f060aa6dcd304fc161b57bc14af"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Sep 13 15:57:37 2016 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Sep 21 13:32:00 2016 -0700"
      },
      "message": "jni: Implement generic JNI support for @CriticalNative/@FastNative\n\nAlso:\n* Extend existing test cases to check generic JNI for the above.\n* Re-enable previously blacklisted @CriticalNative JNI run-tests.\n\nBug: 31400248\nChange-Id: I436ed00c8b8880e936a0c3483bc0dc251f0c0ce2\n"
    },
    {
      "commit": "9837caff9cbfb61e3dabc6fbecb398d4d659c017",
      "tree": "b8101227d3987cebbc1c9d13f5d5f23a037a9f9a",
      "parents": [
        "80eb0bc2757274816a014a2997848d288c9ee553"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Aug 01 11:09:50 2016 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Sep 21 13:45:08 2016 +0200"
      },
      "message": "Update art tests\n\nJack generates different code compared to the previous release so\nsome tests need to be updated. For instance, Jack transform \u0027!cond\u0027\ninto \u0027cond xor 1\u0027.\n\nThe test 463-checker-boolean-simplifier still tests the if/else\npattern using smali.\n\n(cherry picked from commit e4d28c502486afe58a0e156b8fefb621a622cec2)\n\nBug: 29493697\nTest: lunch aosp_bullhead-userdebug \u0026\u0026 make -j32\nTest: make -j32 test-art-host \u0026\u0026 make -j32 test-art-target\nTest: art/tools/run-jdwp-tests.sh --mode\u003dhost\nChange-Id: Ief8ac3e9a4bcaa35c99e57161961d630333d3b3c\n"
    },
    {
      "commit": "0e8443995af602bcc2e70dcef1d20ee48acec934",
      "tree": "2d81b8db23bea139e40e33e4e9b8c69027fb1e56",
      "parents": [
        "c4cb3d532db8a500c1a15e8a0052895960259209"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Sep 08 13:43:31 2016 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Sep 21 11:42:21 2016 +0100"
      },
      "message": "Collapse ART\u0027s AbstractMethod class into Executable\n\nAfter the OpenJDK 8 pull there is now a common base class\nfor Method and Constructor that can be used instead.\n\nMethods that are abstract on Executable but on Android\nwere implemented in AbstractMethod are now consistently\nrenamed to \"{method}Internal\", declared final and\ngiven package-protected access.\n\nFor consistency with all other private, natively\nimplemented methods, the method getDeclaredAnnotations()\nhas been renamed getDeclaredAnnotationsNative().\n\nBug: 28666126\nBug: 31052885\nTest: make test-art-host and cts run of CtsLibcoreTestCases\nChange-Id: Ibfe6af6a47fe0cfffd0859ffbe58980aeb84e053\n"
    },
    {
      "commit": "52136261f9755fc671ad77aa9a7f28934da1cf69",
      "tree": "7f74dc90d9dbd5114fb33d2281f24d03e6898eeb",
      "parents": [
        "692cc743146ff14b8e6f97945e9069ef66d15dbd"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Sep 20 12:50:37 2016 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Sep 20 12:50:37 2016 -0700"
      },
      "message": "Rename several tests to be easier to read.\n\nSeveral tests had their names changed recently for file name length\nreasons. This change makes several of the tests have more consistent\nand easy to read names.\n\nBug: 31597671\nTest: mma test-art-host\nChange-Id: I166f03b604c200256f997c18f7cb091548002777\n"
    },
    {
      "commit": "901669c8ff7a88d6772ce478da317054ab5d509b",
      "tree": "86085eeec56417737a617c7653ad65ab92b55596",
      "parents": [
        "80eb0bc2757274816a014a2997848d288c9ee553",
        "620d0a51b7ef079176a7cff6fe03c60ef3a3e3af"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 20 16:41:24 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 20 16:41:25 2016 +0000"
      },
      "message": "Merge \"Make javac always use Java 7 when running tests using javac and dx\""
    },
    {
      "commit": "620d0a51b7ef079176a7cff6fe03c60ef3a3e3af",
      "tree": "4d3c55e2ee856319f2ece1fbde9e63266d8bb6e9",
      "parents": [
        "a5d718a9f8ef51e41a1485a0f6ab201aec4c0c82"
      ],
      "author": {
        "name": "Søren Gjesse",
        "email": "sgjesse@google.com",
        "time": "Mon Sep 19 11:12:51 2016 +0200"
      },
      "committer": {
        "name": "Søren Gjesse",
        "email": "sgjesse@google.com",
        "time": "Tue Sep 20 11:01:32 2016 +0200"
      },
      "message": "Make javac always use Java 7 when running tests using javac and dx\n\nThis adds \"-source 1.7 -target 1.7\" to JAVAC when --build-with-javac-dx\nis specified.\n\nAlso make sure that dx is not run when --jvm is passed.\n\nTest: art/test/run-test --host --build-with-javac-dx 003-omnibus-opcodes\nTest: art/test/run-test --host --build-with-javac-dx 005-annotations\nTest: art/test/run-test --host --build-with-javac-dx 023-many-interfaces\nTest: art/test/run-test --host --build-with-javac-dx 056-const-string-jumbo\nTest: art/test/run-test --host --build-with-javac-dx 091-override-package-private-method\nTest: art/test/run-test --host --build-with-javac-dx 111-unresolvable-exception\nTest: art/test/run-test --host --build-with-javac-dx 113-multidex\nTest: art/test/run-test --host --build-with-javac-dx 124-missing-classes\nTest: art/test/run-test --host --build-with-javac-dx 126-miranda-multidex\nTest: art/test/run-test --host --build-with-javac-dx 127-checker-secondarydex\nTest: art/test/run-test --host --build-with-javac-dx 131-structural-change\nTest: art/test/run-test --host --build-with-javac-dx 138-duplicate-classes-check2\nTest: art/test/run-test --host --build-with-javac-dx 303-verification-stress\nTest: art/test/run-test --host --build-with-javac-dx 551-checker-shifter-operand\nTest: art/test/run-test --host --build-with-javac-dx 555-checker-regression-x86const\n\nTest: art/test/run-test --host 003-omnibus-opcodes\nTest: art/test/run-test --host 005-annotations\nTest: art/test/run-test --host 023-many-interfaces\nTest: art/test/run-test --host 056-const-string-jumbo\nTest: art/test/run-test --host 091-override-package-private-method\nTest: art/test/run-test --host 111-unresolvable-exception\nTest: art/test/run-test --host 113-multidex\nTest: art/test/run-test --host 124-missing-classes\nTest: art/test/run-test --host 126-miranda-multidex\nTest: art/test/run-test --host 127-checker-secondarydex\nTest: art/test/run-test --host 131-structural-change\nTest: art/test/run-test --host 138-duplicate-classes-check2\nTest: art/test/run-test --host 303-verification-stress\nTest: art/test/run-test --host 551-checker-shifter-operand\nTest: art/test/run-test --host 555-checker-regression-x86const\n\nTest: art/test/run-test --jvm 003-omnibus-opcodes\nTest: art/test/run-test --jvm 005-annotations\nTest: art/test/run-test --jvm 023-many-interfaces\nTest: art/test/run-test --jvm 056-const-string-jumbo\nTest: art/test/run-test --jvm 091-override-package-private-method\nTest: art/test/run-test --jvm 111-unresolvable-exception\nTest: art/test/run-test --jvm 113-multidex\nTest: art/test/run-test --jvm 124-missing-classes\nTest: art/test/run-test --jvm 126-miranda-multidex\nTest: art/test/run-test --jvm 127-checker-secondarydex\nTest: art/test/run-test --jvm 131-structural-change\nTest: art/test/run-test --jvm 138-duplicate-classes-check2\nTest: art/test/run-test --jvm 303-verification-stress\nTest: art/test/run-test --jvm 551-checker-shifter-operand\nTest: art/test/run-test --jvm 555-checker-regression-x86const\n\nChange-Id: I60f8a973c0dd425988abe55223bdef426c772b97\n"
    },
    {
      "commit": "adf4304877824b5a47a1f89a325a805ae45b210e",
      "tree": "6b4f42c6d4e9d53ce57450f8acc6de2ace9667fa",
      "parents": [
        "7bdc637f995216532bb97c9f6e608fc6564541a9",
        "d7a819a162f83d1b66300141e7783899ac2030ed"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 20 00:12:51 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 20 00:12:51 2016 +0000"
      },
      "message": "Merge \"Integrate built-in bisection search with runtest\""
    },
    {
      "commit": "7bdc637f995216532bb97c9f6e608fc6564541a9",
      "tree": "72a502811023196587d8dd7a6b7c984f8b91a29d",
      "parents": [
        "2722620b24e400b5c0e645967352e9f5b349dd52",
        "ca57c409b947bdd4642374ae8d7366e14b2a836e"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Sep 19 23:35:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 19 23:35:24 2016 +0000"
      },
      "message": "Merge \"Shorten long test names\""
    },
    {
      "commit": "ca57c409b947bdd4642374ae8d7366e14b2a836e",
      "tree": "44f85e41cd4dfe1aa57018f14bc762a234758105",
      "parents": [
        "7d26164308e9eab5c596a19b841e4ab1c27828a8"
      ],
      "author": {
        "name": "Wojciech Staszkiewicz",
        "email": "staszkiewicz@google.com",
        "time": "Mon Sep 19 10:06:09 2016 -0700"
      },
      "committer": {
        "name": "Wojciech Staszkiewicz",
        "email": "staszkiewicz@google.com",
        "time": "Mon Sep 19 15:33:15 2016 -0700"
      },
      "message": "Shorten long test names\n\nLong Android.run-test.mk targets cause testing framework to\nmisbehave. Issues occur in no-prebuild mode when --output-path\nparameter generated by the make system is too long. When this\nhappens oat generation fails silently in oat_file_assistant.cc\nduring creation of empty vdex and oat files.\n\nCreation fails because file names, which are as long as absolute path\nto source dex file, are longer than 255 characters Linux file name\nlimit.\n\nBecause oat generation fails silently affected tests pass even though\nthey were effectively ran in interpreter mode, instead of intended\ndefault mode.\n\nThis CL shortens test names to be at most 35 characters. This helps\nmake the tests more reliable.\n\nTest: m test-art-run-test\nBug: 31597671\nChange-Id: Ic68408ae0c98ffca0c64ca4f5535f4e683a296f0\n"
    },
    {
      "commit": "d7a819a162f83d1b66300141e7783899ac2030ed",
      "tree": "15a93f8e8b4cf5f0cccd7ea7eecabc3e4db3fecb",
      "parents": [
        "7d26164308e9eab5c596a19b841e4ab1c27828a8"
      ],
      "author": {
        "name": "Wojciech Staszkiewicz",
        "email": "staszkiewicz@google.com",
        "time": "Thu Sep 01 14:43:39 2016 -0700"
      },
      "committer": {
        "name": "Wojciech Staszkiewicz",
        "email": "staszkiewicz@google.com",
        "time": "Mon Sep 19 15:24:15 2016 -0700"
      },
      "message": "Integrate built-in bisection search with runtest\n\nAdds a --bisection-search switch to run-test. When this switch\nis enabled run-test performs bisection bug search for nonchecker\nfailing tests attempting to find faulty method and optimization.\n\nAdds ART_TEST_BISECTION flag support to Android.run-test.mk.\nWhen this flag is set to true, run-test will run in bisection\nsearch mode.\n\nBisection search works in no-prebuild mode only.\n\nTest: ART_TEST_BISECTION\u003dtrue m test-art-run-test\n\nChange-Id: Id2d664a0b35fed366f50a60ce96f1ca6bd123cd4\n"
    },
    {
      "commit": "fd5428b636c08c3bb100f40631c4334efd79a496",
      "tree": "c5be9cc938527b46fe6cd5ec126773c646ae51c2",
      "parents": [
        "904614f008fa03b4443f1a0abdac1a1966805696"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 19 10:40:05 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 19 10:48:58 2016 -0700"
      },
      "message": "Fix mac build\n\nMove darwin disabling to art_test_defaults to disable mac build for\nlibarttest.\n\nTest: mmma -j art on mac\nChange-Id: I972245ddbacea274087d9231e4788bd9f2d6fe6b\n"
    },
    {
      "commit": "904614f008fa03b4443f1a0abdac1a1966805696",
      "tree": "4fb2578a78dcf514bccc6df9ad24674623bdf8c4",
      "parents": [
        "ec88abde5944eaa94e1299cc2ec040b51977b1f4",
        "afd3c9ea7f238afebd5073c1143d3c832ab10a71"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 19 17:12:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 19 17:12:37 2016 +0000"
      },
      "message": "Merge \"Convert art runtests to Android.bp\""
    },
    {
      "commit": "afd3c9ea7f238afebd5073c1143d3c832ab10a71",
      "tree": "ea95e66ac119b6f86f637ebbeba22e956d3a4c4e",
      "parents": [
        "be3a3ee02f148345ba6e1a0361532a3f7e8c0002"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Sep 16 13:47:21 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 19 10:10:42 2016 -0700"
      },
      "message": "Convert art runtests to Android.bp\n\nBuild the art runtest libraries with Android.bp.  The host test\nlibraries move from out/host/linux-x86/lib[64] to\nout/host/linux-x86/nativetest[64], and the device test libraires from\n/data/artest/${TARGET_ARCH} to /data/nativetest[64]/art/${TARGET_ARCH},\nwhich requires adding nativetest to the library search path, and fixing\nsome tests to support multiple entries in library search paths.\n\nTest: m -j test-art-host\nTest: m -j test-art-target\nChange-Id: I2118a3292f22f275954ddd7cdd4e12287fe47808\n"
    },
    {
      "commit": "ec88abde5944eaa94e1299cc2ec040b51977b1f4",
      "tree": "c3692184a4999b97ee36decf88c688786640e598",
      "parents": [
        "8cb366a7ba8f02094c7c3bd21e217fff52f6ad17",
        "91a6516103b8bf8bb75c3a2840cbdec7521e74a7"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Sep 19 16:59:14 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 19 16:59:15 2016 +0000"
      },
      "message": "Merge \"Remove the `CanTriggerGC` side-effects on a few instructions.\""
    }
  ],
  "next": "91a6516103b8bf8bb75c3a2840cbdec7521e74a7"
}
