)]}'
{
  "log": [
    {
      "commit": "35d5b8a2c5d2fce03be59aa003c3bf3c1b481be0",
      "tree": "7665f6d1527be61af13c8ef53f10833dd4200cfd",
      "parents": [
        "b28683f43231e65860ecf91c96a8c0234542c019"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jul 03 09:18:32 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jul 03 09:18:32 2018 +0100"
      },
      "message": "ART: Do not use std::\u003ccontainer\u003e::at().\n\nThese functions are specified as throwing std::out_of_range\nand we do not use exceptions.\n\nTest: m\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: I67c365ed6d779c101a18b9f386c751c48ca76e16\n"
    },
    {
      "commit": "675673dea0d85a82a152c877a36b24d6e1e5ad1b",
      "tree": "74a92310a216fbcb85a8b879301ed4711ae3ef01",
      "parents": [
        "936523d4e9554b6cbc11ebcb405ed6d300d78fa4",
        "12dd8a90af1f1cfae172f6d9c3443808c4fb6e40"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 29 21:00:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 29 21:00:37 2018 +0000"
      },
      "message": "Merge \"Add bytecode conversion experiments\""
    },
    {
      "commit": "12dd8a90af1f1cfae172f6d9c3443808c4fb6e40",
      "tree": "452b6f4de6b9054ede8528c1e3ea97933e642c75",
      "parents": [
        "d20a4d76c33cd6e609ad6b1b3cde09fdcbdde05c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 12 11:17:22 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 29 10:45:37 2018 -0700"
      },
      "message": "Add bytecode conversion experiments\n\nAdd a few new instructions and measure savings:\ninvoke-xx-[1-4]-[move-result].\niget/set-this\nnew-instance-invoke-this\nif-eqz4\nif-nez4\netc..\n\nCumulative Dex bytecode savings are ~14% of the Dex size.\n\nTest: test-art-host\nBug: 77721545\n\nChange-Id: Ibe2b04614e2c5782612b515fbb7f77dbcf9eb66c\n"
    },
    {
      "commit": "003e64b4108125d6f59bc1b663fd71864abadab9",
      "tree": "488f963dc86f905245df46a6ba99e534b1666edd",
      "parents": [
        "d20a4d76c33cd6e609ad6b1b3cde09fdcbdde05c"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jun 27 13:20:52 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jun 28 19:43:13 2018 +0100"
      },
      "message": "hiddenapi: Refactor before new features are added\n\nRefactor the hiddenapi build tool to take a command name as its\nfirst argument and create a notion of a \"class path\" group of dex\nfiles. These changes will be needed for creating a new command\nthat resolves SDK stubs against the boot class path.\n\nBug: 79409988\nTest: m hiddenapi\nTest: m test-art-host-gtest-hiddenapi_test\nTest: art/test.py -r -t 674-hiddenapi -t 999-redefine-hiddenapi\nChange-Id: I93c36154cc8c5e8c0e9414cf02e2c6ea298ae0e8\n"
    },
    {
      "commit": "0799b9eb29a9009214fd607922fac3f80bf8352e",
      "tree": "a97df4bbaaafcb6ba32479ef8bba5dd4ab2afefa",
      "parents": [
        "ac85c697c6f0b4fad4e0eb6aebe3bfd2d75cd872",
        "6e75beeee0a92b235192b775282cf1573770fa09"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jun 27 16:54:18 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 27 16:54:18 2018 +0000"
      },
      "message": "Merge \"dexanalyze: distinguish fields from other classes.\""
    },
    {
      "commit": "0028ce042e6b0f8446d59d0632c344824aae20fc",
      "tree": "d8c778319501177a583f52ae4562ce56ef06831c",
      "parents": [
        "cd059b6568f5ada2922ef34a45603720f03945e2",
        "975cd094da5323b9ecdce9076677152bb12703b7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 27 13:47:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 27 13:47:00 2018 +0000"
      },
      "message": "Merge \"Distinguish between soft/weak/phantom/etc references in ahat.\""
    },
    {
      "commit": "975cd094da5323b9ecdce9076677152bb12703b7",
      "tree": "c910118a61d334c7349fe5ddb969bf8e2c6ca5d8",
      "parents": [
        "3fc03632687b2eabfa1906292b17b7792b9637af"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Jun 25 13:09:13 2018 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Jun 27 12:40:37 2018 +0100"
      },
      "message": "Distinguish between soft/weak/phantom/etc references in ahat.\n\nInstead of grouping all the different kinds of references into a single\ncategory of \"weak\".\n\nBug: 79131879\nTest: m ahat-test\nChange-Id: I800f70b7f10386510e20d9d7b8a76069ddd38982\n"
    },
    {
      "commit": "6e75beeee0a92b235192b775282cf1573770fa09",
      "tree": "13b3a19cb3ce7b499e12966170e491dd137fb3d4",
      "parents": [
        "639f5150805006a2c3a07daa804abcdba0bc3ece"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jun 27 10:53:29 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jun 27 10:55:02 2018 +0100"
      },
      "message": "dexanalyze: distinguish fields from other classes.\n\nTest: Manulally run dexanalyze.\nChange-Id: I2428be2cf0a5e738307fb792f1a932bb0e9a3d9e\n"
    },
    {
      "commit": "93bffccaf34ef5a9bd8428089a04046ddb968310",
      "tree": "65fbd293b0319701f4015c32a0eeb70276317ef1",
      "parents": [
        "a20f969ef303e01e503e51809388bdb406c72238"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jun 26 15:49:16 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jun 26 18:12:36 2018 +0100"
      },
      "message": "dexanalyze: Improve field analysis.\n\nAnalyze also SGET/SPUT and better estimate the savings based\non given field index and in/out cutoff.\n\nExperiments with core-oj indicate that the cutoffs 16/16 are\ngood for IGET/IPUT but SGET/SPUT would benefit more from\n32/8 (assuming we want to use 8 bits together for the field\nindex and in/out).\n\nTest: Manually run dexanalyze.\nChange-Id: Id7cddaf20be4b345516777be6fbc599aed79ac5b\n"
    },
    {
      "commit": "64fe3be84105db1a8f35550ae0a3c06f1092d436",
      "tree": "22f91ab45b3c8b1d940e83a0fd24b851be32949c",
      "parents": [
        "cca7cb9ffa56d8ab8fd0c5997c8bfd965d7426c1"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jun 15 12:50:22 2018 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Jun 26 14:08:29 2018 +0000"
      },
      "message": "ART: Retire desugar and dx in run-tests\n\nRun-tests now use d8 for desugaring and dexing.\n\nBuild scripts no longer have hand written dexer invocations.\n\nBug: 110150973\nBug: 73711890\nTest: art/test.py --host --64 -r\nTest: art/test.py --target --prebuild --optimizing -r\nChange-Id: Iae2199cf756624c1f045de7777c5ee6432398bd2\n"
    },
    {
      "commit": "5774f57afc997ffe765c32199bd0d5e55d23005a",
      "tree": "5efdd0edb9c5a6d55c20f76c26fc7b330f014c87",
      "parents": [
        "7e56bd41cde4e489a11050d9e340bf8b5692d9e8",
        "bc802de2244ed9769d1ddf8841d7965a29493d9a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 21 15:28:05 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 21 15:28:05 2018 +0000"
      },
      "message": "Merge \"Revert^2 \"ART: Fix some performance-X tidy\"\""
    },
    {
      "commit": "629e7cfdf4bc6084851730fc786bbdb56890a360",
      "tree": "6796dca1043a37febcd0dcfb95d3c1c34560b4af",
      "parents": [
        "3fc03632687b2eabfa1906292b17b7792b9637af"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Jun 20 09:52:18 2018 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Jun 21 09:28:37 2018 +0100"
      },
      "message": "Annotate $classOverhead arrays.\n\nART adds a fake byte[] $classOverhead static field to classes to show\nthe overheads associated with the class. This change causes ahat to\nannotate those $classOverhead arrays with the class that they are\noverheads for.\n\nTest: m ahat-test, with new test added.\nTest: Open an Android heap dump and visually inspect:\n      http://localhost:7100/objects?id\u003d0\u0026heap\u003dapp\u0026class\u003dbyte[]\nBug: 64832332\n\nChange-Id: Ief6ed7ce6c8c1196bc644df36f03c8e5158bf658\n"
    },
    {
      "commit": "bc802de2244ed9769d1ddf8841d7965a29493d9a",
      "tree": "acac22c89c8cdedb65d6dc0657755851834500f7",
      "parents": [
        "35d4b9410c362685fdd8181483a6126dd3e20cdd"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 20 17:24:11 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 20 17:25:25 2018 -0700"
      },
      "message": "Revert^2 \"ART: Fix some performance-X tidy\"\n\nThis reverts commit 6856214f2c849600bcb94cc6e84975ba8cb69920.\n\nFix lifetime issue in imgdiag.\n\nTest: mmma art\nTest: m test-art-target-gtest-imgdiag_test\nChange-Id: I919db6310c0713313340adfe66bcd75a1c5c236e\n"
    },
    {
      "commit": "35d4b9410c362685fdd8181483a6126dd3e20cdd",
      "tree": "b9b00245118de6c1b542b9be40d3f41e1f88ead1",
      "parents": [
        "838387a2661bdbc03e2d396b2573fb26b341432d",
        "6856214f2c849600bcb94cc6e84975ba8cb69920"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 20 23:29:53 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 20 23:29:53 2018 +0000"
      },
      "message": "Merge \"Revert \"ART: Fix some performance-X tidy\"\""
    },
    {
      "commit": "6856214f2c849600bcb94cc6e84975ba8cb69920",
      "tree": "a103f54ec49fac8d5cd15661f5c2d0cb5dab32e5",
      "parents": [
        "89de444350fdbd7df4fb4d95bb71f00e6673b466"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 20 21:49:11 2018 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 20 21:49:11 2018 +0000"
      },
      "message": "Revert \"ART: Fix some performance-X tidy\"\n\nThis reverts commit 89de444350fdbd7df4fb4d95bb71f00e6673b466.\n\nReason for revert: Seemingly breaks imgdiag_test on device.\n\nChange-Id: I46084ecb4205575381aafffd90a0f1a1126e8d2d\nTest: mmma art\n"
    },
    {
      "commit": "5840c84554456c5cc5a8cbc5933b1c0a5b6cb15d",
      "tree": "5ed47dcf70cc98203a426b895baba4241cdabb2b",
      "parents": [
        "73e8d8367cb394f8deb7b94dfff0861074f5eb56"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 15 09:07:05 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 20 14:19:57 2018 -0700"
      },
      "message": "Count unique string, method names, and type names\n\nSample results (per APK):\nUnique method names: 1385861(15.03%)\nUnique field names: 1986979(16.25%)\nUnique type names: 1944509(78.46%)\n\nBug: 77721545\nTest: test-art-host\n\nChange-Id: I4c809aed5d5ca9d8e81f113955b3430a673d67f2\n"
    },
    {
      "commit": "faf742fe798038cd314ad06165017c9719cbce6e",
      "tree": "c7c60475d2955e1a401647c6a02057887b62fb53",
      "parents": [
        "866caa04287db748c2f8a16992b99e0ee6bf4a25",
        "89de444350fdbd7df4fb4d95bb71f00e6673b466"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 20 15:17:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 20 15:17:20 2018 +0000"
      },
      "message": "Merge changes I43d8736f,I6148d743,Id3687eb6\n\n* changes:\n  ART: Fix some performance-X tidy\n  ART: Mask garbage-memory warnings\n  ART: Fix clang-analyzer leak/memory warnings\n"
    },
    {
      "commit": "b1775a8bc48bc1b3d90c34a509285c02e56548da",
      "tree": "af3ea86e3bafc87c71ea565bd31d5656b9830f0a",
      "parents": [
        "4f0e0b8a4161ec9217b0b3cbca5fa6d3a289cc6a",
        "35ce0b7710c0f51ff851bb0be98554cdf9d686e9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 20 10:09:25 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 20 10:09:25 2018 +0000"
      },
      "message": "Merge \"Add progress bar to ahat.\""
    },
    {
      "commit": "89de444350fdbd7df4fb4d95bb71f00e6673b466",
      "tree": "57fa7214c4059afcfd11aa35a81999b8558b91b8",
      "parents": [
        "e383d23918db4eede30c3d78589d4639de3ec446"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 18 13:33:55 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 19 17:11:21 2018 -0700"
      },
      "message": "ART: Fix some performance-X tidy\n\nFix performance-for-range-copy, performance-unnecessary-copy-initialization\nand performance-unnecessary-value-param issues.\n\nTest: mmma art\nTest: m test-art-host\nChange-Id: I43d8736fc541030a3c61f66aeee0b9c2f1d295f7\n"
    },
    {
      "commit": "47d165e4e2f11b780cb1b7a0347e7a9313467210",
      "tree": "0bac43a24a1b906e70b73ab67d800395a9da29a3",
      "parents": [
        "556db4d7058505098b6df29d13cf4cae8c5a39ec",
        "9ebb41f1e5dbc5007432ce1b1786bcd1dacc3bd7"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jun 19 12:32:06 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 19 12:32:06 2018 +0000"
      },
      "message": "Merge \"Kill chroot processes at the end of the ART Buildbot tear-down script.\""
    },
    {
      "commit": "35ce0b7710c0f51ff851bb0be98554cdf9d686e9",
      "tree": "5e74ab72ab8d1c1e1fca81c60c4b49fd30fc9b64",
      "parents": [
        "baee1502e5c5d32bd48716b880761d2f36a8f86c"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Jun 13 11:35:36 2018 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Jun 19 09:47:10 2018 +0100"
      },
      "message": "Add progress bar to ahat.\n\nIt can take a while for ahat to process a heap dump. This change adds an\nascii progress bar to ahat as it processes a heap dump.\n\nOther changes worth noting:\n* Adds progress tracking functionality to the dominators computation.\n* Updates Parser to use builder pattern to make it easier to specify\n  different parsing options.\n* Stops pretending ahat runs with Java 1.7.\n\nSample output:\n\nPreparing localhost/127.0.0.1:7100 ...\nProcessing \u0027foo.hprof\u0027 ...\n[ 100% ] Reading hprof ...\n[ 100% ] Resolving references ...\n[ 100% ] Reversing references ...\n[ 100% ] Initializing dominators ...\n[ 100% ] Resolving dominators ...\nServer started on localhost:7100\n\nBug: 68842538\nBug: 110129502\nTest: m ahat-test\nTest: Run on large heap dumps, manually inspect progress bar output.\nChange-Id: I4903fef57371fa226f7802c50902319cb7506e68\n"
    },
    {
      "commit": "baee1502e5c5d32bd48716b880761d2f36a8f86c",
      "tree": "ed3b936a3f103bc28f7203b72e43d7f07b049216",
      "parents": [
        "adc40571153a10a6580f2a7d567cb4b254293d81",
        "7d7457c36d5c62a98d490dcb5db64646a1b5792a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 18 13:46:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 18 13:46:37 2018 +0000"
      },
      "message": "Merge \"Fix bug in Value.getBaseline().\""
    },
    {
      "commit": "7d7457c36d5c62a98d490dcb5db64646a1b5792a",
      "tree": "7ed762509497b5710f8e1e37adf941f29082fbc8",
      "parents": [
        "0e3a330f4a545a6a2d352bd4a803c8387f54e76b"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Jun 18 12:54:23 2018 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Jun 18 12:54:23 2018 +0100"
      },
      "message": "Fix bug in Value.getBaseline().\n\nThe method wasn\u0027t being overridden by InstanceValue.getBaseline as\nintended, which would lead to broken links in the UI.\n\nTest: m ahat-test, with regression test added.\nTest: Manually confirm a link to a \"was\" part of a diffed field works\n      in the UI.\nBug: 77943151\n\nChange-Id: I98a40afe2161617ba2199574b4fd57a076fc8bde\n"
    },
    {
      "commit": "f3fa9569496bce7c933708f5423a30969ee9e157",
      "tree": "b9a75171299a570e40d43ff2a3b41fbfe2fe73e1",
      "parents": [
        "3e41a539d33c0524271ab12a50e1c494593c7309"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Mon Jun 18 01:43:03 2018 -0700"
      },
      "committer": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Mon Jun 18 01:43:03 2018 -0700"
      },
      "message": "Add a suite tag to ahat unit tests\n\nIn order to execute them standalone, add a suite tag for\nthe ahat unit tests.\n\nTest: None\nBug: 110134825\nChange-Id: Ied83e8030ee2e0e4cf0a2dd91ecb125f62f4e650\n"
    },
    {
      "commit": "9ebb41f1e5dbc5007432ce1b1786bcd1dacc3bd7",
      "tree": "8ebdd7a43cc92e77ef386dbdeae9f84cd98c17e6",
      "parents": [
        "5f7c6a1fc35e04b75e1154620c5fd0ab8758e62c"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jun 15 17:50:58 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jun 15 17:51:36 2018 +0100"
      },
      "message": "Kill chroot processes at the end of the ART Buildbot tear-down script.\n\nIf we catch processes from binaries located under the chroot\ndirectory still running at the end of the tear-down step, kill\nthem.\n\nAlso refactor the tear-down script a bit.\n\nTest: Rely on the ART Buildbot\nBug: 34729697\nChange-Id: I49d11f4eb4e7251d1b95cc2d1fbe6fa46af21ac8\n"
    },
    {
      "commit": "fc9c17f62db6e6533fb885b2be5a2c22f8d432f0",
      "tree": "f4bbfc1e54a9c0d9c6bb34b9d552175c1390f10c",
      "parents": [
        "0e3a330f4a545a6a2d352bd4a803c8387f54e76b",
        "f647c4ceb5a2c2ff9fc68e9481aa2cb33ea89067"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jun 13 12:45:50 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 13 12:45:50 2018 +0000"
      },
      "message": "Merge \"Display users of the chroot dir in the ART Buildbot tear-down script.\""
    },
    {
      "commit": "ff5d955306660a6f6515967659515717076c1d87",
      "tree": "f34367bd56b05e0e9e00ccf4726d6239fb309e15",
      "parents": [
        "a1892181ae879a9ab550e7ef09480e4d19f96336",
        "5d16154ee466edafe19e19178c0c75d68d567b70"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 12 22:48:16 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 12 22:48:16 2018 +0000"
      },
      "message": "Merge \"Analysis of field iget/iset on first arg register\""
    },
    {
      "commit": "a1892181ae879a9ab550e7ef09480e4d19f96336",
      "tree": "61eda6b08cb4d275274939e3947e730e5803323a",
      "parents": [
        "1bcec123c51cf8829b97bafeb7d7c99b5d3c5237",
        "5abbdd323c9720d6fd89f10d682df2b9c20fe507"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 12 22:15:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 12 22:15:26 2018 +0000"
      },
      "message": "Merge \"Make ti-fast agent fallback to kArtTiVersion\""
    },
    {
      "commit": "1bcec123c51cf8829b97bafeb7d7c99b5d3c5237",
      "tree": "eb38d65b37f61d9fe67e26701a930ecfe10def76",
      "parents": [
        "7e3b455823d79436818742bb1edef124c7a56840",
        "a4817fb4f683a14b8f3b48ef410c21d0e88a5fe8"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 12 20:27:49 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 12 20:27:49 2018 +0000"
      },
      "message": "Merge \"Make \u0027art\u0027 tool default to passing -XjdwpProvider:none\""
    },
    {
      "commit": "5abbdd323c9720d6fd89f10d682df2b9c20fe507",
      "tree": "9c00c7378cc6cec495c65cd6c90875e00561a5eb",
      "parents": [
        "74f2ccc9fad3cfd8e04d24aceba1c58ce08884dc"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 12 12:59:27 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 12 12:59:27 2018 -0700"
      },
      "message": "Make ti-fast agent fallback to kArtTiVersion\n\nIt is useful to try and use tifast on userdebug devices with\nnon-debuggable applications.\n\nTest: adb shell am start-activity -S \\\n          --attach-agent /data/local/tmp/libtifast.so\u003dlog,MethodEntry \\\n          \u003csome non-debuggable apk\u003e\n\nChange-Id: Ic39d99aae1e986e66ac370e078a3b4540087cbbe\n"
    },
    {
      "commit": "5d16154ee466edafe19e19178c0c75d68d567b70",
      "tree": "1413adfaa645f333dc8a3d52acdd12b91c014cae",
      "parents": [
        "1e739fa94947147953c53e92964e0e9e1eac0526"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 31 11:02:39 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 12 12:27:15 2018 -0700"
      },
      "message": "Analysis of field iget/iset on first arg register\n\nAnalyze how many instance field gets/sets are operating on the first\narg register and how many are using one of the first 16 instance\nfields.\n\nTest: test-art-host\n\nChange-Id: I26c21f209ef6fcbed0b4a8446b3f226e56a75de3\n"
    },
    {
      "commit": "a4817fb4f683a14b8f3b48ef410c21d0e88a5fe8",
      "tree": "d0cb5e51d16d907758d95b6e02068c59357fcb5c",
      "parents": [
        "74f2ccc9fad3cfd8e04d24aceba1c58ce08884dc"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 12 10:56:35 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 12 18:09:20 2018 +0000"
      },
      "message": "Make \u0027art\u0027 tool default to passing -XjdwpProvider:none\n\nWe usually don\u0027t want to be trying to connect to adbconnection when\nusing the \u0027art\u0027 tool. Make \u0027art\u0027 default to passing\n-XjdwpProvider:none to dalvikvm. This can be overridden by passing\nthe --allow-default-jdwp option.\n\nTest: art --verbose -cp classes.dex Main\nBug: 110073841\nChange-Id: I0ffc3621d11fbc2368fe7111dcacbff2a0c50213\n"
    },
    {
      "commit": "f647c4ceb5a2c2ff9fc68e9481aa2cb33ea89067",
      "tree": "aa3d12e8d814d84d9e33690da47c50cd95a84537",
      "parents": [
        "32e83b36601e080b01712aeb6e9ebaa512eb0f33"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jun 12 14:44:20 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jun 12 16:16:09 2018 +0100"
      },
      "message": "Display users of the chroot dir in the ART Buildbot tear-down script.\n\nThis should help debug issues with files still open / processes still\nrunning at the end of a run.\n\nAlso fix the use of toybox\u0027s lsof when unmounting a filesystem within\nthe chroot fails.\n\nTest: Rely on the ART Buildbot\nBug: 34729697\nChange-Id: I6dc46724b2fd0b29df072b54414369c7909d453d\n"
    },
    {
      "commit": "178615c742f3b0b5ed107dbc3e606dfe3ba98476",
      "tree": "9f6f200c9e3c08c6cc0f81599ef8975fe71ddc86",
      "parents": [
        "32e83b36601e080b01712aeb6e9ebaa512eb0f33",
        "f83f83dfe3c5168a3bf191723933be662785e108"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 12 15:09:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 12 15:09:20 2018 +0000"
      },
      "message": "Merge \"Improve ahat dominators computation.\""
    },
    {
      "commit": "36e18dca7b3e09fc6d71d222acbe0d43de7ec196",
      "tree": "06975b917d5d0022388c4b402b4d4ed33578e5ca",
      "parents": [
        "515b18329177b7009d681539edc9ddb8bbf4dc3b",
        "917c80f148ea8cef57f7c206c8c7954f2f0d13d6"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jun 12 12:30:41 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 12 12:30:41 2018 +0000"
      },
      "message": "Merge \"Simplify the ART Buildbot clean-up script regarding chroot support.\""
    },
    {
      "commit": "f83f83dfe3c5168a3bf191723933be662785e108",
      "tree": "9ce7f363a68c340fd9b15b9bbee5733cdf92e7ce",
      "parents": [
        "408bdc604e4fe230bf90ffa6816bfbbb3786806e"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri Jun 01 13:17:08 2018 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Jun 12 12:42:05 2018 +0100"
      },
      "message": "Improve ahat dominators computation.\n\nImprove the space complexity of the ahat dominators computation\nalgorithm to be linear in the size of the heap dump being processed.\n\nPerformance of the algorithm is on par with the previous version of the\nalgorithm, verified by running it on a collection of 150 or so Android\nheap dumps laying around from old memory investigations. For example:\n\n  old          new\n0m1.161s --\u003e 0m1.333s\n0m2.800s --\u003e 0m3.350s\n0m2.805s --\u003e 0m2.429s\n0m4.161s --\u003e 0m5.547s\n0m4.553s --\u003e 0m3.482s\n0m5.714s --\u003e 0m6.373s\n0m6.254s --\u003e 0m5.439s\n0m11.615s --\u003e 0m11.456s\n0m14.377s --\u003e 0m14.543s\n\nThe new algorithm performs considerably better in those cases where the\nold algorithm has excessive memory requirements. For example:\n\n   old          new\n0m11.135s --\u003e 0m5.915s\n0m11.596s --\u003e 0m7.805s\n0m31.886s --\u003e 0m10.569s\n1m10.972s --\u003e 0m14.350s\n\nFor the heap dump in b/79200800, the old algorithm would be killed after\ntrying to use more than 64GB of memory. The new algorithm takes roughly\n2m30s and 5GB of memory to process that same heap dump.\n\nBug: 79200800\nTest: m ahat-test\nTest: Open a non-trivial heap dump and compare retained sizes for the\n      top 30 or so rooted instances between the old and new version of\n      the algorithm.\n\nChange-Id: I8f939b35cf3867d3062863fd9dedeee487db9591\n"
    },
    {
      "commit": "a316f9129a698ccb995b035f8781f93c58981893",
      "tree": "a55c64c376f7cd54018a6de209102464f9b9d38b",
      "parents": [
        "74f2ccc9fad3cfd8e04d24aceba1c58ce08884dc",
        "baac7e44445286bb2a048ff24a14a65c537dd9b9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 11 19:13:39 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 11 19:13:39 2018 +0000"
      },
      "message": "Merge \"\"Revert^4 \"Make adbconnection start automatically for debuggable apps (on target)\"\""
    },
    {
      "commit": "917c80f148ea8cef57f7c206c8c7954f2f0d13d6",
      "tree": "f0a9f06d16cce9cb1b467b5da8e7be2859433400",
      "parents": [
        "cf8e60fceee8b622b63f022e7b37f7df0f604320"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jun 08 16:27:23 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jun 11 18:46:41 2018 +0100"
      },
      "message": "Simplify the ART Buildbot clean-up script regarding chroot support.\n\nThe ART Buildbot is now executing the \"setup device\" step after the\n\"device pre-run cleanup\" step, and the \"tear down device\" step before\nthe \"device post-run cleanup\" step, so we no longer need to preserve\nany part of the chroot directory when cleaning up. Therefore, try to\nremove the entire chroot directory during cleanup.\n\nTest: Rely on the ART Buildbot\nBug: 34729697\nChange-Id: I6a8c2017bc81f6cb5ed1781d2f97c0169d803532\n"
    },
    {
      "commit": "74f2ccc9fad3cfd8e04d24aceba1c58ce08884dc",
      "tree": "ba0051646cb8e8192f690259475101b61101d5c3",
      "parents": [
        "9fdd0125538fe63458aec68c4a40b025759bcf7c",
        "05e34f4cb8c9db165d1008721e874b9dd3db024b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jun 11 15:02:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 11 15:02:44 2018 +0000"
      },
      "message": "Merge \"Revert^2 \"Remove support for Valgrind in ART.\"\""
    },
    {
      "commit": "05e34f4cb8c9db165d1008721e874b9dd3db024b",
      "tree": "c41d397ef5cfb9d7918fceadcda3195a0d0d91de",
      "parents": [
        "428d80e3a49f732b39bb0c71cfde26451e3fdf4d"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 24 13:19:05 2018 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jun 11 14:03:37 2018 +0100"
      },
      "message": "Revert^2 \"Remove support for Valgrind in ART.\"\n\n- Disable test configuration art-gtest-valgrind64\n  (art-gtest-valgrind32 was already disabled).\n- Remove Makefile logic regarding testing with Valgrind.\n- Remove occurrences of `TEST_DISABLED_FOR_MEMORY_TOOL_VALGRIND`.\n- Replace occurrences of `TEST_DISABLED_FOR_MEMORY_TOOL_ASAN` with\n  `TEST_DISABLED_FOR_MEMORY_TOOL`.\n- Replace the potentially dynamically evaluated\n  `RUNNING_ON_MEMORY_TOOL` expression with constant\n  `kRunningOnMemoryTool`.\n- Simplify and fold the logic of\n  `art::ArenaAllocatorMemoryToolCheckImpl` and\n  `art::ArenaAllocatorMemoryToolCheck` into\n  `art::ArenaAllocatorMemoryTool`.\n- Adjust comments regarding memory tools.\n- Remove Valgrind suppression files.\n- Remove `--callgrind` option from tools/art.\n\nThis reverts commit 8b362a87d52a6668ffd2283ef6ffc274315f41c8.\n\nChange-Id: I23c76845e6ccf766f19b22b58a0d5161f60842a9\nTest: art/test.py\nTest: art/test/testrunner/run_build_test_target.py art-asan\nBug: 77856586\nBug: 29282211\n"
    },
    {
      "commit": "baac7e44445286bb2a048ff24a14a65c537dd9b9",
      "tree": "838047521312068499b0183ceb93f958a40f93f0",
      "parents": [
        "cf8e60fceee8b622b63f022e7b37f7df0f604320"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jun 08 15:30:11 2018 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jun 08 08:45:39 2018 -0700"
      },
      "message": "\"Revert^4 \"Make adbconnection start automatically for debuggable apps (on target)\"\n\nNeeded to tell run-jdwp-tests.sh not to load adbconnection since it\nmight not be present.\n\nThis reverts commit fb57a6528d73e6ddbccf3049f08f6fa400e6dcd1.\n\nReason for revert: Added -XjdwpProvider:none to run-jdwp-tests.sh\n\nBug: 109505014\nTest: ./art/tools/run-libjdwp-tests.sh\n\nChange-Id: I43941f7048ae5b64c6cbe7a8e7c273d47596192c\n"
    },
    {
      "commit": "408bdc604e4fe230bf90ffa6816bfbbb3786806e",
      "tree": "3155605d4dfe13c5700081426c32868d3817eace",
      "parents": [
        "a4bae540b7c91136aaab02fd1638c8df6cb96970",
        "26d465f1d8ca2b66b9c2766c9019aa2033d0e1be"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 08 11:24:27 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 08 11:24:27 2018 +0000"
      },
      "message": "Merge \"Add a tradefed config for ahat\u0027s unit tests.\""
    },
    {
      "commit": "26d465f1d8ca2b66b9c2766c9019aa2033d0e1be",
      "tree": "123013249d77b24641a2d86e4bd6c9fbc40af0e9",
      "parents": [
        "2b40dd35c65ad644d448611750f5b577e97594a1"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Jun 07 13:08:08 2018 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri Jun 08 10:19:01 2018 +0100"
      },
      "message": "Add a tradefed config for ahat\u0027s unit tests.\n\nAnd a minor unrelated style cleanup.\n\nBug: 38219110\nTest: m ahat-test\nTest: tradefed.sh run AndroidTest.xml, without devices attached.\nChange-Id: Ifcb99ee08a43925ae79bb223a948522ab21c99c6\n"
    },
    {
      "commit": "803a8d73f1c8b3f331e2bbf2aba037f6c93d18dc",
      "tree": "07ebf1fc2bb14861da0aa557d534e9074225eabd",
      "parents": [
        "342e59c5a06b2eb449ae7ede3255e71a4464afaa",
        "9cb13a66863411e6e885fd387d7908844270f42f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 07 23:59:45 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 07 23:59:45 2018 +0000"
      },
      "message": "Merge \"Add debugging for b/62653020\""
    },
    {
      "commit": "9cb13a66863411e6e885fd387d7908844270f42f",
      "tree": "944bdc205adc5cdb7662a3a8aa36e2d4f16d3695",
      "parents": [
        "693c6d609fe2eb3c5cf4259dc770a5e6bfc93b7b"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jun 07 13:02:02 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jun 07 20:08:10 2018 +0000"
      },
      "message": "Add debugging for b/62653020\n\nWe are seeing errors reading out/soong/build.ninja when running\nART tests.  Add a hack to copy out/soong/build.ninja to DIST_DIR\non failure so we can see the contents.\n\nTest: Manually corrupt build.ninja, run testrunner.py with and without\n      DIST_DIR set.\nBug: 62653020\n\nChange-Id: I6d83b87d56b6787a98fec8b244f224d44cb85bc1\n"
    },
    {
      "commit": "1b930cafa1c7e8f74f20d72ff1d0ff0c0fb6a875",
      "tree": "908a6b3f883ad83783510b9a76f43f23b63fe399",
      "parents": [
        "dc53f1616d656a757fb26039f387b7ee44ff2f1d"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jun 06 14:46:43 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jun 06 14:46:43 2018 -0700"
      },
      "message": "Follow rename from removing desugar support\n\nWe always use d8 now, follow the rename of\ntransform-classes-d8.jar-to-dex to\ntransform-classes.jar-to-dex.\n\nTest: m out/host/linux-x86/obj/PACKAGING/veridex_intermediates/veridex.zip\nChange-Id: I84a36db0f7d04030f6f56929fccfa685519d51a7\n"
    },
    {
      "commit": "428d80e3a49f732b39bb0c71cfde26451e3fdf4d",
      "tree": "e1cdec634453345d85f9bea82acefc898ab343bb",
      "parents": [
        "9c3965f30236cd233bf1e0a44e7a66b305efde95",
        "75c6fcac1e31ffc7fa59fdea1ddf04c4e7e870d1"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Jun 06 09:47:32 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 06 09:47:32 2018 +0000"
      },
      "message": "Merge \"Ignore comment lines in proguard mapping.\""
    },
    {
      "commit": "75c6fcac1e31ffc7fa59fdea1ddf04c4e7e870d1",
      "tree": "e7a1335e6c3ba0cf0550774e2d1e599500a956c8",
      "parents": [
        "9ddef18ae95859a985e7a0de7e22999fcbc28e07"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Jun 04 15:44:17 2018 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Jun 04 15:47:23 2018 +0100"
      },
      "message": "Ignore comment lines in proguard mapping.\n\nComment lines are now being generated by R8 in the proguard mapping.\nUpdate the proguard mapping parser to handle those. Fixes the ahat test\nfailure:\n\n1) diffMatchedHeap(com.android.ahat.DiffTest)\njava.io.IOException: Unable to load proguard map\n  at com.android.ahat.TestDump.load(TestDump.java:116)\n  at com.android.ahat.TestDump.getTestDump(TestDump.java:269)\n  at com.android.ahat.TestDump.getTestDump(TestDump.java:241)\n  at com.android.ahat.DiffTest.diffMatchedHeap(DiffTest.java:32)\n  ...\nCaused by: java.text.ParseException: Error parsing class line: \u0027# compiler: R8\u0027\n  at com.android.ahat.proguard.ProguardMap.parseException(ProguardMap.java:142)\n  at com.android.ahat.proguard.ProguardMap.readFromReader(ProguardMap.java:191)\n  at com.android.ahat.TestDump.load(TestDump.java:114)\n  ... 33 more\n\nChange-Id: I70c9deb414086f454a1f3fefd3bace5b78953b44\nTest: m ahat-test\n"
    },
    {
      "commit": "48de723721a9103bc3374c00f1e18ee7dcaea49a",
      "tree": "17a804455d5ac9b01e365f083a83e393ab06382b",
      "parents": [
        "b1daf3469a2073837c1a236c13bd6666e4aae9f1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 01 17:30:29 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 01 17:34:40 2018 -0700"
      },
      "message": "Refactor experiments to allow multidex analysis\n\nAnalyze multidex deduplication for debug infos when excluding the\nheader fields.\n\nBug: 77721545\nTest: test-art-host\n\nChange-Id: I247399aaecaf072cce1b3e035256db0f5e91e8c3\n"
    },
    {
      "commit": "31380c788d77dc7efc451817c3619c454507007d",
      "tree": "27314c6633950592bf3bb4425506d9fa60a4656d",
      "parents": [
        "cb4c8b59436bcec4f785656ed90aa8c3fd37b986"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 31 18:12:27 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 01 13:13:28 2018 -0700"
      },
      "message": "Add experiment for analyzing debug info\n\nAnalyze entropy of debug info to estimates a close upper bound\nsavings from huffman encoding debug infos.\n\nAlso measure how many debug info bytes are dedupable if you exclude\nthe line number and parameter names.\n\nSample output:\nDebug info bytes 96101012(5.70%)\n  DBG_END_SEQUENCE: 6401069(0.38%)\n  DBG_ADVANCE_PC: 3709064(0.22%)\n  DBG_ADVANCE_LINE: 8620724(0.51%)\n  DBG_START_LOCAL: 5244232(0.31%)\n  DBG_START_LOCAL_EXTENDED: 1763845(0.10%)\n  DBG_END_LOCAL: 1216044(0.07%)\n  DBG_RESTART_LOCAL: 565412(0.03%)\n  DBG_SET_PROLOGUE bytes 5768714(0.34%)\n  DBG_SET_FILE bytes 0(0.00%)\n  special: 36310220(2.15%)\nDebug info entropy 69199724(4.10%)\nDebug info opcode bytes 55613021(3.30%)\nDebug info opcode entropy 34792401(2.06%)\nDebug info non header bytes 69599324(4.13%)\nDebug info deduped non header bytes 52475493(3.11%)\n\nBug: 77721545\nTest: test-art-host\nChange-Id: I031322e3b79a1572fcbb9e513ded9708e3b48354\n"
    },
    {
      "commit": "cb4c8b59436bcec4f785656ed90aa8c3fd37b986",
      "tree": "0873aa08900bc64781b377557625d24e32bf034d",
      "parents": [
        "2a2cf2760ad4e16feff43519bc22bd5d03bd0fc1",
        "0f22ea560a4f282bf29ae59f291e4e9835b71dfa"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 01 16:17:42 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 01 16:17:42 2018 +0000"
      },
      "message": "Merge \"Add system and oahl stubs to veridex.zip\""
    },
    {
      "commit": "0f22ea560a4f282bf29ae59f291e4e9835b71dfa",
      "tree": "deef60c8d8b83a211e01432bcaa52ce96af70de0",
      "parents": [
        "1539a11150ca9c28fec353b38508267c41d7814b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 31 15:51:21 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 01 12:59:36 2018 +0100"
      },
      "message": "Add system and oahl stubs to veridex.zip\n\nTest: m dist\nChange-Id: I354d2f90c42c0cfa7e7d67052c68b455e12fdd5c\n"
    },
    {
      "commit": "3ebdf7495ead52b76afdccd91c3b89264e4bf250",
      "tree": "b3a15b18110fdaa06316027dd997a20ac37ca9a4",
      "parents": [
        "03f16e4de1e3289414888fe0a5104205a781bd2f",
        "e2e5e66a9cec84f83c2a47a815bae28f9c849d8d"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 31 16:43:41 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 31 16:43:41 2018 +0000"
      },
      "message": "Merge \"Improve diagnostics in ART script tools/teardown-buildbot-device.sh.\""
    },
    {
      "commit": "e2e5e66a9cec84f83c2a47a815bae28f9c849d8d",
      "tree": "3bb47bed7cd0f4820d66c94a1fa7669e5d775d39",
      "parents": [
        "21bd011c4d5364161baabd4dabc06c1eaed2ef7e"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 31 15:29:05 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 31 15:45:40 2018 +0100"
      },
      "message": "Improve diagnostics in ART script tools/teardown-buildbot-device.sh.\n\nIn case of unmounting failure, show the list of open files\nin the directory that we tried to unmount.\n\nAlso refactor the logic of unmounting and removing directories\nunder the chroot dir.\n\nTest: art/tools/setup-buildbot-device.sh; sh -x art/tools/teardown-buildbot-device.sh\nBug: 34729697\nChange-Id: I22f9414c3a6e2ae37f90a7eeff058e2c4252dbbf\n"
    },
    {
      "commit": "11c0f3e15ae0f0064a0274a369737c7b6c65681d",
      "tree": "d9339374babc8007e2ef0721f3486e29f1aa3dfd",
      "parents": [
        "ed7f95d6e9d3286c2a7691102732504ffb19c51e",
        "21bd011c4d5364161baabd4dabc06c1eaed2ef7e"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 31 14:33:34 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 31 14:33:34 2018 +0000"
      },
      "message": "Merge \"Fix exit status of ART script tools/teardown-buildbot-device.sh.\""
    },
    {
      "commit": "21bd011c4d5364161baabd4dabc06c1eaed2ef7e",
      "tree": "85d6300d16a32ec28926653a945e8f595ff69bb4",
      "parents": [
        "65e463cf7ea91003ef030c8a819ae4596c9b820f"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 31 13:13:44 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 31 15:30:02 2018 +0100"
      },
      "message": "Fix exit status of ART script tools/teardown-buildbot-device.sh.\n\nSimplify the logic deleting property_context files from the\nchroot and prevent it from making the script return a non-zero\nexit status.\n\nTest: sh -x art/tools/teardown-buildbot-device.sh; echo $?\nBug: 34729697\nChange-Id: Ia9f34eda2c167b26a6396937c7c4ecec01c86718\n"
    },
    {
      "commit": "c8c4f2930892c612cadea9b5906858745c401707",
      "tree": "409f3e1051414e83fb7e9ade780124f7b2a723d5",
      "parents": [
        "65e463cf7ea91003ef030c8a819ae4596c9b820f",
        "8fb6784a56a9df03d115ef47c62ca55b433d00cc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 31 12:16:47 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 31 12:16:47 2018 +0000"
      },
      "message": "Merge \"Add sdk destinations for appcompat.sh related files.\""
    },
    {
      "commit": "b7ae0b1a9874c65682c22883061ec8e7fae1fea3",
      "tree": "0e424172d39d6484ece30b4e4da2bea50c7b7684",
      "parents": [
        "6a084834f06a31ea6f15db27420a8240fe64f033"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 29 09:25:57 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 30 13:27:25 2018 -0700"
      },
      "message": "Add experiments for Dex bytecode analysis\n\nCount how many move-result instructions are directly following\ninvokes with less than 5 args.\n\nBug: 77721545\nTest: test-art-host\n\nChange-Id: Icd3be78260b9117660d734f50303a8e3bc030325\n"
    },
    {
      "commit": "8fb6784a56a9df03d115ef47c62ca55b433d00cc",
      "tree": "486286e3c00f6cc6dcf048fb7db4e7058ac43b7d",
      "parents": [
        "b7e784694ba9c2399492d69710bede711a3b552d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 23 11:22:30 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 30 13:04:17 2018 +0100"
      },
      "message": "Add sdk destinations for appcompat.sh related files.\n\nbug: 79936439\n\nTest: m\nChange-Id: I9a41a8f2c5b0bd253e38f955204dc3f91956cc28\n"
    },
    {
      "commit": "6cee0e9662648656ec573e76aaf1bfd02e3c4226",
      "tree": "4ab370f8cb454f0143b9bc4c5c29695281390539",
      "parents": [
        "c1c47ab7e0d2391bf00875cc54d7c644ef125646",
        "a85eef747c0b16c65cb20457bd9b0027cabcfc22"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed May 30 10:48:50 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 30 10:48:50 2018 +0000"
      },
      "message": "Merge \"Fix test checking /system in chroot in clean-up script.\""
    },
    {
      "commit": "c1c47ab7e0d2391bf00875cc54d7c644ef125646",
      "tree": "72be3fb488938315cf647e0c9cd23e1c85edaf57",
      "parents": [
        "211e53dce2c4fa1c9b41d65ef301384b727b312b",
        "08f7c1dac69bc8c412b0503fc916ede8d1f33474"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed May 30 10:47:29 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 30 10:47:29 2018 +0000"
      },
      "message": "Merge \"Have tools/run-{libcore,jdwp}-tests.sh honor ART_TEST_CHROOT.\""
    },
    {
      "commit": "0d896bd7da4f7b11559aa88aad82e9a9e170a4e4",
      "tree": "44a9278d98ace169e8296feba98038c173f29eaf",
      "parents": [
        "267c83529850f51cd690b3e31882aaae98601afd"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 25 00:20:27 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 29 10:20:59 2018 -0700"
      },
      "message": "Add Method/Field iterator to ClassAccessor\n\nEnables ranged based for loops on fields and methods.\n\nFor visiting both fields and methods, VisitFieldsAndMethods will\nbe faster because of not needing to decode the fields twice for\nseeking purposes.\n\nAdded test.\n\nBug: 79758018\nBug: 77709234\nTest: test-art-host-gtest\n\nChange-Id: I593e23ccd138b87a27d8bab6927ff2b685c057f3\n"
    },
    {
      "commit": "a85eef747c0b16c65cb20457bd9b0027cabcfc22",
      "tree": "07143c0662e3798a6a62d33a1d5b092fee89c513",
      "parents": [
        "c8e213275671240c4fc7299f918d6d07c3c12eb1"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue May 29 16:11:28 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue May 29 16:11:28 2018 +0100"
      },
      "message": "Fix test checking /system in chroot in clean-up script.\n\nTest that \"$ART_TEST_CHROOT/system\" is a directory, not a regular\nfile.\n\nTest: adb shell rm -rf \"$ART_TEST_CHROOT/system\" \u0026\u0026 art/tools/cleanup-buildbot-device.sh\nBug: 34729697\nChange-Id: I35279e93963b046f57099b8f0d52aa6a0020ab5e\n"
    },
    {
      "commit": "ad70b322fe9b2d3601dcdcfab915b651716ee448",
      "tree": "0a5a2be29619a8976af23bfd0e91a23facbe4597",
      "parents": [
        "43efe77ff33d917d90f89b43d164cdd341d4c4d4",
        "7c3a8c1679c9356d80e0fc1afa7471b056a5b779"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 25 18:47:27 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 25 18:47:27 2018 +0000"
      },
      "message": "Merge \"Add measurement of Dex code bytes and number of unique code items\""
    },
    {
      "commit": "08f7c1dac69bc8c412b0503fc916ede8d1f33474",
      "tree": "0a6d20b6bb2dd23854bb0720d55b70ab6377c89f",
      "parents": [
        "0b7e6c96ea859fa948b4a1973c5d1f17a8b9021a"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri May 25 15:34:41 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri May 25 18:06:46 2018 +0100"
      },
      "message": "Have tools/run-{libcore,jdwp}-tests.sh honor ART_TEST_CHROOT.\n\nAlso remove explicit handling of `--chroot` option from these\nscripts.\n\nTest: ART_TEST_CHROOT\u003d/data/local/art-test-chroot tools/run-libcore-tests.sh --mode\u003ddevice --variant\u003dX64\nTest: ART_TEST_CHROOT\u003d/data/local/art-test-chroot tools/run-jdwp-tests.sh --mode\u003ddevice --variant\u003dX64\nBug: 34729697\nChange-Id: Id583ea16b36c3eebc1f80868c06ed26174cb4533\n"
    },
    {
      "commit": "b7e784694ba9c2399492d69710bede711a3b552d",
      "tree": "50deab94a44d82f5c1cba7433a6e26edf387e994",
      "parents": [
        "ebf5902272613d8bb563ae312ec5ce2580a59bb7",
        "f83f84a20e83f58ef49b3ada35d2f717927d9625"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri May 25 08:49:49 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 25 08:49:49 2018 +0000"
      },
      "message": "Merge \"ART: Remove jack from tools\""
    },
    {
      "commit": "ebf5902272613d8bb563ae312ec5ce2580a59bb7",
      "tree": "5e28c37d9697e51a399403c180d3208e7e841d1a",
      "parents": [
        "4f6858cb8de1ba8c6fafa5f6612a2de99751df02",
        "c8c8d5f484b9e4660de288aa51ce3f831317ee53"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 24 21:05:49 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 24 21:05:49 2018 +0000"
      },
      "message": "Merge \"Move compiler/ to ClassAccessor\""
    },
    {
      "commit": "c8c8d5f484b9e4660de288aa51ce3f831317ee53",
      "tree": "fa329a0787a0e302ff40c7deefa97d5b79b28550",
      "parents": [
        "d804b76c0b8f9d2c94f3a8648aba26254742a1e2"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 22 11:56:14 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 24 10:48:53 2018 -0700"
      },
      "message": "Move compiler/ to ClassAccessor\n\nRemove usages of ClassDataItemIterator to reduces boiler plate code.\n\nBug: 79758018\nBug: 77709234\nTest: test-art-host\n\nChange-Id: Id41db3299bba3ea8debcbb0b9c721fa675adc064\n"
    },
    {
      "commit": "e46752658eaf41c0cc818c51a3e1cd95876bac93",
      "tree": "19a8e5321ca7f005ba9c23f4058b58d9bc395d96",
      "parents": [
        "8467030520beb718f3c648678eed4328254d6307",
        "5604938a767dfb44eae72dc56805f641e16a79cc"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 24 14:35:10 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 24 14:35:10 2018 +0000"
      },
      "message": "Merge \"Add a tear-down script for devices used in ART target testing.\""
    },
    {
      "commit": "f83f84a20e83f58ef49b3ada35d2f717927d9625",
      "tree": "e83ef2e04696cc005fdf656ee7812d0d201dc798",
      "parents": [
        "8467030520beb718f3c648678eed4328254d6307"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu May 24 09:39:54 2018 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu May 24 13:39:51 2018 +0100"
      },
      "message": "ART: Remove jack from tools\n\nTest: art/tools/buildbot.sh --host -j32\nTest: manual\nChange-Id: I54d37cca8be92ac007f5f83bf47e339fde5b2abc\n"
    },
    {
      "commit": "223b8dc552cbf65356162aa6bc581c850c1a6441",
      "tree": "660ec1983d776c208b47c3c2d4144d8bfe183990",
      "parents": [
        "bb7cd233a5096166315827c066f5ab1d2b3e459f",
        "59df4f8698cc267e49a6ca5f59abdded89a1f5b1"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 24 10:50:03 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 24 10:50:03 2018 +0000"
      },
      "message": "Merge \"Check that /system exists in chroot before cleaning it up.\""
    },
    {
      "commit": "7c3a8c1679c9356d80e0fc1afa7471b056a5b779",
      "tree": "1c1dcba73b606c94aab8e8681f0601d996afddf6",
      "parents": [
        "05dc23eab55efcfbd13a3de59864d0491e87b834"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 23 18:09:45 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 23 18:09:45 2018 -0700"
      },
      "message": "Add measurement of Dex code bytes and number of unique code items\n\nAlso modified -i option to also ignore Dex verificaiton, this allows\ndumping jars that have gone through hidden API tool.\n\nBug: 77721545\nTest: test-art-host\nChange-Id: If608c0cddd232be465c5df9cdf9b06025e68ea83\n"
    },
    {
      "commit": "05dc23eab55efcfbd13a3de59864d0491e87b834",
      "tree": "baa2ac740d54d849f2c8c71dbe536f1fa63d3716",
      "parents": [
        "ac1cec6eae1646fede5a7355699a317a93a88ac5"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 22 11:56:14 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 23 13:27:52 2018 -0700"
      },
      "message": "Add ClassIterator\n\nAdd a way to iterate over all of the classes in a Dex file. The\niterator returns a ClassAccessor for each class.\n\nAdded DexFile::GetClasses to return an iteration range for this new\niterator type.\n\nSample usage:\nfor (ClassAccessor accessor : dex_file.GetClasses()) {\n\nBug: 79758018\nBug: 77709234\nTest: test-art-host\nChange-Id: I66e000aa11f433e72f6857496f4e89a0b811f5a2\n"
    },
    {
      "commit": "5604938a767dfb44eae72dc56805f641e16a79cc",
      "tree": "2a7a646d40b6ee2f541a746df91f0baf2e385f92",
      "parents": [
        "59df4f8698cc267e49a6ca5f59abdded89a1f5b1"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed May 23 18:26:22 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed May 23 18:26:22 2018 +0100"
      },
      "message": "Add a tear-down script for devices used in ART target testing.\n\nThis script is meant to undo (most of) the set-up work done by\ntools/setup-buildbot-device.sh.\n\nTest: art/tools/setup-buildbot-device.sh \u0026\u0026 art/tools/teardown-buildbot-device.sh\nBug: 34729697\nChange-Id: I4a16d8451f5be461121ca9492dd5e732177bd719\n"
    },
    {
      "commit": "59df4f8698cc267e49a6ca5f59abdded89a1f5b1",
      "tree": "5bfb36a1a817e8b27d2c231b1ef1f0efc2fccb71",
      "parents": [
        "c6d02fd9d27429d8940b04b1d60f2497c4eeb776"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed May 23 18:21:36 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed May 23 18:21:36 2018 +0100"
      },
      "message": "Check that /system exists in chroot before cleaning it up.\n\nTest: adb shell rm -rf \"$ART_TEST_CHROOT/system\" \u0026\u0026 art/tools/cleanup-buildbot-device.sh\nBug: 34729697\nChange-Id: Icd5a1e0dd35480704c468a4e738f88a86ab85f8f\n"
    },
    {
      "commit": "197f1ef6f4f2411d011d7e8f696775c3fbcffd86",
      "tree": "eacc720024479e75b03d12ac6764f2cd2ba945b3",
      "parents": [
        "04f0eaffa70e0384c07bb3680aa0724144358330",
        "8b362a87d52a6668ffd2283ef6ffc274315f41c8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 22 23:00:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 22 23:00:40 2018 +0000"
      },
      "message": "Merge \"Revert \"Remove support for Valgrind in ART.\"\""
    },
    {
      "commit": "8b362a87d52a6668ffd2283ef6ffc274315f41c8",
      "tree": "14b187cd0b4afde501b9cc7a9dc82c997362e888",
      "parents": [
        "8268cb677bd92bfbcfec7e803775c29687494e53"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 22 20:54:14 2018 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 22 20:54:14 2018 +0000"
      },
      "message": "Revert \"Remove support for Valgrind in ART.\"\n\nThis reverts commit 8268cb677bd92bfbcfec7e803775c29687494e53.\n\nReason for revert: ASAN failures\n\nChange-Id: I7e66d3f3fb461ae4f6dea6ec7d506b7dface3402\nTest: SANITIZE_HOST\u003daddress m test-art-host\nBug: 77856586\nBug: 29282211\n"
    },
    {
      "commit": "438918b2f37e11684fa1e80bbbfe3a8f657b79a9",
      "tree": "b77443efb26d5a18a5f5f7d853223dfb3c6ab919",
      "parents": [
        "f31343f1eab771010b3f293366149d2524f30902",
        "c2b4db61e5d0d9ec40b87b9a051aa1ac15ed1294"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 22 16:49:41 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 22 16:49:41 2018 +0000"
      },
      "message": "Merge \"Add ClassAccessor\""
    },
    {
      "commit": "f31343f1eab771010b3f293366149d2524f30902",
      "tree": "5187b2bceee4c7d5347750dc6ba0020172d5ef51",
      "parents": [
        "e816389b61d17b9a82d8e61426ddfcce20e1238c",
        "8268cb677bd92bfbcfec7e803775c29687494e53"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue May 22 16:46:43 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 22 16:46:43 2018 +0000"
      },
      "message": "Merge \"Remove support for Valgrind in ART.\""
    },
    {
      "commit": "1d00c5313ba0f4f8865b1c727b645e975b8beb1e",
      "tree": "7b9941e908a193dd773c7b42ca25936aa8e2094b",
      "parents": [
        "64e8175b611df79b617892435a26fb2db67bfa85",
        "cfb4ed5aa6126dc15d83a648ee0b2b67abdf9870"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue May 22 12:03:32 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 22 12:03:32 2018 +0000"
      },
      "message": "Merge \"ART: Fix for pkill on device in run-jdwp-tests.sh\""
    },
    {
      "commit": "cfb4ed5aa6126dc15d83a648ee0b2b67abdf9870",
      "tree": "e84bb18a34f9b4a3c59d8b68ead64141554d72b0",
      "parents": [
        "8926b780fd75f23e8685e108e2d3f4905f3809fd"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue May 22 10:48:52 2018 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue May 22 11:28:27 2018 +0100"
      },
      "message": "ART: Fix for pkill on device in run-jdwp-tests.sh\n\nAdds workaround to run-jdwp-tests.sh for pkill on old devices running\nwithin the ART buildbots.\n\nTest: manual\nBug: 28877702\nChange-Id: I419165fd9f254dae4db94a0e7fffb66feed22360\n"
    },
    {
      "commit": "e8011165beb9b132f6bded076c00e7b65c495a2b",
      "tree": "5f345babdb6bc00e5d4122ed5e9bc24221ff17c6",
      "parents": [
        "84190220df62fb25c4e4b637624c81c918e3b84a",
        "673726b39689afe5496bbb0bac5ec52b4d50d334"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 22 00:40:25 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 22 00:40:25 2018 +0000"
      },
      "message": "Merge \"Add plugin for testing method tracing speed.\""
    },
    {
      "commit": "673726b39689afe5496bbb0bac5ec52b4d50d334",
      "tree": "f80a573d8c12c60efa757f5c8a02a6cc310857b3",
      "parents": [
        "df810b9c8d5013cd6f5799a75b6aaf0f3991210c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon May 21 14:19:15 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon May 21 14:46:59 2018 -0700"
      },
      "message": "Add plugin for testing method tracing speed.\n\nIt can be useful to test how much overhead the ART method tracing\ninfrastructure has. Since normal method tracing APIs (eg\n-Xmethod-trace, JVMTI events) have significant overhead for\nsynchronization or other reasons we created a simple plugin that\nbegins method tracing but doesn\u0027t record or even look at the trace\nevents. This lets us have a rough idea how much simply sending these\nevents costs us.\n\nTest: ./test/run-test --host \\\n         --runtime-option \\\n         -Xplugin:$ANDROID_HOST_OUT/lib/libtracefast-trampolined.so \\\n         001-Main\n\nChange-Id: I1fac4cdd0dfa780cb4efe195025b3d29e8cf619c\n"
    },
    {
      "commit": "c2b4db61e5d0d9ec40b87b9a051aa1ac15ed1294",
      "tree": "7d8ba5f2ab1c8ff66b17ce2352be3d7f0e12651c",
      "parents": [
        "8926b780fd75f23e8685e108e2d3f4905f3809fd"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 18 13:58:12 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon May 21 12:59:22 2018 -0700"
      },
      "message": "Add ClassAccessor\n\nAims to replace ClassDataItemIterator with a cleaner and simpler\nabstraction.\n\nBug: 77709234\nBug: 79758018\nTest: test-art-host\n\nChange-Id: I871a3e1cf213e0d81bfe4bb77790fbab2d13e44c\n"
    },
    {
      "commit": "b2683cb0ae69c9a8a0ba654f50fa743a9117171c",
      "tree": "9ebe949e41ff00dbaabe415f295fa4825d4dd51d",
      "parents": [
        "8926b780fd75f23e8685e108e2d3f4905f3809fd",
        "c8b1d5e0f2112c78aeed0d114b0c4f8b6a234c10"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon May 21 09:05:50 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 21 09:05:50 2018 +0000"
      },
      "message": "Merge \"ARM/ARM64: Improve lock/unlock entrypoints.\""
    },
    {
      "commit": "c8b1d5e0f2112c78aeed0d114b0c4f8b6a234c10",
      "tree": "20b4fc7c62243a6616aa04661b8750cad9d4f1bc",
      "parents": [
        "6623bc389c43efc87668ce7465e19b195e765e22"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 15 16:07:12 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon May 21 10:02:23 2018 +0100"
      },
      "message": "ARM/ARM64: Improve lock/unlock entrypoints.\n\nDo the same in fewer instructions.\n\nTest: Pixel 2 XL boots.\nTest: testrunner.py --target --optimizing\nChange-Id: I8003481116fd3dc6a1559b84fdc776b92dba0c68\n"
    },
    {
      "commit": "f275979ca2d2809d19210195c22526861554fac0",
      "tree": "f44938cb2e68496cdc32883ce5064efdd2e8461c",
      "parents": [
        "fc2f8b6d93d05a689f634f6a70bd68376d8265f8"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 18 13:16:54 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 18 13:18:05 2018 -0700"
      },
      "message": "Add ASCII vs UTF-16 string data analysis\n\nMeasure how many strings are fully ASCII characters or a UTF-16 mix.\n\nBug: 77721545\nTest: test-art-host-gtest-dexanalyze_test\nChange-Id: Ic59613596c1542c693bcf49cee379310414c44cd\n"
    },
    {
      "commit": "fc2f8b6d93d05a689f634f6a70bd68376d8265f8",
      "tree": "2d43fa751fa0c4d643520b8eef4369d341c75e8a",
      "parents": [
        "df810b9c8d5013cd6f5799a75b6aaf0f3991210c",
        "0226c1d40d6532757fc258cb0586a338a8cd2931"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 17 18:52:05 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 17 18:52:05 2018 +0000"
      },
      "message": "Merge \"Add some extra dexanalyze tests\""
    },
    {
      "commit": "df810b9c8d5013cd6f5799a75b6aaf0f3991210c",
      "tree": "ad66354ce172285273431bfa69922fc12ae4135a",
      "parents": [
        "ca768656c65109d43270949d1acceb2618738e4a",
        "1f010164bea4714e9f653c52e8948c5d5305040b"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu May 17 17:13:53 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 17 17:13:53 2018 +0000"
      },
      "message": "Merge \"Move ArtDexFileLoader to libdexfile\""
    },
    {
      "commit": "0226c1d40d6532757fc258cb0586a338a8cd2931",
      "tree": "f18dd1bf1359ae76c5d029a3b0d00c425b1bb8af",
      "parents": [
        "a7d37cf735f05cfc3a3585a5c44eb65d8a279874"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 17 00:19:12 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 17 10:09:55 2018 -0700"
      },
      "message": "Add some extra dexanalyze tests\n\nBased on dexdump tests, test for:\n- Missing arguments\n- Invalid input\n- Using core dex as input\n\nTest: test-art-host-gtest-dexanalyze_test\nBug: 77721545\n\nChange-Id: I8ce0607b6d3d60171de00a83047536195a81e26f\n"
    },
    {
      "commit": "ca768656c65109d43270949d1acceb2618738e4a",
      "tree": "aaa12b4ba2c4cffb9209b2259ccea255492bbe71",
      "parents": [
        "1e7b825ffb4c19e1f046eb254ab8e491919c7a69",
        "35ddc6fc26594326ddfddeac447e7aa1321726ff"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 17 17:08:29 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 17 17:08:29 2018 +0000"
      },
      "message": "Merge \"Add some experiments to analyze string usage\""
    },
    {
      "commit": "bb071ee44ddc1751c79d2a8c31afe4ea3d72b5f4",
      "tree": "f83c77da6cc0007b4c49afdf2ff63444d36ed26e",
      "parents": [
        "fd3ffe0677d6a522ee2a6157b5c55a3382de5168",
        "dc2578172bd3eee7be97d6eba32f435c16e601ac"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 17 03:57:13 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 17 03:57:13 2018 +0000"
      },
      "message": "Merge \"Fix typo in tifast.cc\""
    },
    {
      "commit": "35ddc6fc26594326ddfddeac447e7aa1321726ff",
      "tree": "b27f3318586c5260d47fb68b36783f08b2a1d9f3",
      "parents": [
        "a7d37cf735f05cfc3a3585a5c44eb65d8a279874"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 09 11:34:07 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 16 17:57:06 2018 -0700"
      },
      "message": "Add some experiments to analyze string usage\n\nAnalyze shared prefixes for strings across dex files and estimate\npossible savings from supporting a per string prefix. The estimation\nis not yet optimal.\n\nBug: 77709234\nTest: dexanalyze\n\nChange-Id: I2e9f8a09595b54ea4a3e331efde32f9c1689fc82\n"
    },
    {
      "commit": "dc2578172bd3eee7be97d6eba32f435c16e601ac",
      "tree": "f7436e57d61bb86ff7d240db517e4b4d84522474",
      "parents": [
        "aa730efe50cbc76fc6954f1b323cf49aa275d1b2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed May 16 16:37:07 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed May 16 16:38:30 2018 -0700"
      },
      "message": "Fix typo in tifast.cc\n\nHad METHOD_ENTRY instead of METHOD_EXIT in one of the event listings.\n\nTest: m -j50 libtifast\n      adb push $OUT/system/lib64/libtifast.so /data/local/tmp\n      adb shell setenforce 0\n      adb shell am start-activity \\\n        --attach-agent /data/local/tmp/libtifast.so\u003dlog,MethodExit \\\n        com.antonioleiva.bandhookkotlin/.ui.screens.main.MainActivity\n      Examine logcat for MethodExit.\n\nChange-Id: I3879da37da19743012643d13ae5b14c130611857\n"
    },
    {
      "commit": "1f010164bea4714e9f653c52e8948c5d5305040b",
      "tree": "e69b2c3f4d2645d4097655f8914325945fe5dbbd",
      "parents": [
        "a7d37cf735f05cfc3a3585a5c44eb65d8a279874"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Tue May 15 08:59:32 2018 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed May 16 13:01:34 2018 -0700"
      },
      "message": "Move ArtDexFileLoader to libdexfile\n\nAdds a dependency from libdexfile on libartbase, but allows the use of\nMemMap loaders, etc.\n\nBug: 78652467\nTest: make -j 40 checkbuild\nChange-Id: I15cf33893ca9192050762f8350a3cc1e39f88dc5\n"
    },
    {
      "commit": "fab9a7c5529bcad5110916f7a87b98acbec3db31",
      "tree": "b9f6758dd8250dd430752f1afd6fa86954635931",
      "parents": [
        "0f8d2d1481614eee35dcc00f94443f2f1f9d3b23",
        "aa730efe50cbc76fc6954f1b323cf49aa275d1b2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 16 01:53:41 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 16 01:53:41 2018 +0000"
      },
      "message": "Merge \"Add ti-fast jvmti agent.\""
    },
    {
      "commit": "aa730efe50cbc76fc6954f1b323cf49aa275d1b2",
      "tree": "f556c20ca03e143930cc42b6b3f2e3ec3842a77f",
      "parents": [
        "04d81ff75ae339c082b1ecbea38ba34f873059cb"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue May 15 16:09:44 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue May 15 16:43:31 2018 -0700"
      },
      "message": "Add ti-fast jvmti agent.\n\nIt is often useful to get a speed-of-light estimate for how heavy\nwatching various JVMTI is. This was difficult to measure without\ncreating a custom agent to exercise the feature. This adds a new\nti-fast agent which can be used to run a program which has an agent\nthat does nothing watching various events.\n\nTest: m -j50 libtifast\n      adb push $OUT/system/lib64/libtifast.so /data/local/tmp\n      adb shell setenforce 0\n      adb shell am start-activity \\\n        --attach-agent /data/local/tmp/libtifast.so\u003dMethodEntry,MethodExit \\\n        com.antonioleiva.bandhookkotlin/.ui.screens.main.MainActivity\n\nChange-Id: Id97135bcae55f9a943108fd935031fd887fb913a\n"
    },
    {
      "commit": "1fee5dc295f32c6b1426e9de8a2fede86d0464f2",
      "tree": "31783c7813f97271c8d59d27bf31f2f8decd5057",
      "parents": [
        "6623bc389c43efc87668ce7465e19b195e765e22"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon May 14 14:20:51 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon May 14 14:23:14 2018 -0700"
      },
      "message": "Use std::cout for dexanalyze logging\n\nThe ART default logger prints more info than required.\n\nBug: 77721545\nBug: 77709234\nTest: manual\n\nChange-Id: Id0cd74e1dd2632c5c203cb5ab2027effb4a72af7\n"
    },
    {
      "commit": "8268cb677bd92bfbcfec7e803775c29687494e53",
      "tree": "b63ca42dcd440117187e3c859b4b311b11b8137e",
      "parents": [
        "004b8875b291af5001d384fb1eb76ae0660ff056"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri May 11 15:06:17 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon May 14 18:40:49 2018 +0100"
      },
      "message": "Remove support for Valgrind in ART.\n\n- Disable test configuration art-gtest-valgrind64\n  (art-gtest-valgrind32 was already disabled).\n- Remove Makefile logic regarding testing with Valgrind.\n- Remove occurrences of `TEST_DISABLED_FOR_MEMORY_TOOL_VALGRIND`.\n- Replace occurrences of `TEST_DISABLED_FOR_MEMORY_TOOL_ASAN` with\n  `TEST_DISABLED_FOR_MEMORY_TOOL`.\n- Replace the potentially dynamically evaluated\n  `RUNNING_ON_MEMORY_TOOL` expression with constant\n  `kRunningOnMemoryTool`.\n- Simplify and fold the logic of\n  `art::ArenaAllocatorMemoryToolCheckImpl` and\n  `art::ArenaAllocatorMemoryToolCheck` into\n  `art::ArenaAllocatorMemoryTool`.\n- Adjust comments regarding memory tools.\n- Remove Valgrind suppression files.\n- Remove `--callgrind` option from tools/art.\n\nTest: art/test.py\nBug: 77856586\nBug: 29282211\nChange-Id: Ifdcbfccc1830104c455760457df66ede4a4cd135\n"
    },
    {
      "commit": "981d59093d03b1db7c19c03afb9c71ce5f1591c8",
      "tree": "945719c953c930559fce7307882b32c82f1fd981",
      "parents": [
        "e0230b4cc18fbaa797b4a80714322e1d9cd72c84",
        "66166d566ef09982c23d95d185bf8276dee96676"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri May 11 14:07:35 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 11 14:07:35 2018 +0000"
      },
      "message": "Merge \"[veridex] Add a --target-sdk-version to avoid false positives.\""
    }
  ],
  "next": "66166d566ef09982c23d95d185bf8276dee96676"
}
