)]}'
{
  "log": [
    {
      "commit": "1d2d4ff8570bb88d9d2d4633706fd7f6fb18d75e",
      "tree": "cbe67e8e9214828656314117121e8ce906a762ab",
      "parents": [
        "e5b35ed787fbfb388d162361310bae5b0e7682a7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Sep 23 16:11:06 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Sep 27 11:51:53 2017 -0700"
      },
      "message": "Add DexInstructionIterator and use it a few places\n\nMotivation:\nWant to start abstracting away dex specific functionality to enable\nCompactDex. Adding an iterator will enable CompactDex iteration to\nwork differently than normal dex iteration.\n\nWill eventually replace CodeItemIterator.\n\nBug: 63756964\nTest: test-art-host\n\nChange-Id: I90e67c1a994b7698aaac0523a82816b0a003fbdc\n"
    },
    {
      "commit": "e2abbc604ce003c776c00ecf1293796bb4c4ac5a",
      "tree": "f7d124d1861cad2162c30dfe932bb4e1beaf41ef",
      "parents": [
        "7090dfe84f78b1928fcbdfd664d0dd9ea52633ff"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Sep 15 11:59:26 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 18 11:36:24 2017 -0700"
      },
      "message": "ART: Move kDexNoIndex to dex_file_types.h\n\nDefine the constant with the types to allow lowering the dependency\non DexFile.\n\nTest: m\nChange-Id: I3c61421db45be96d2057e01b1a7825883d8bd178\n"
    },
    {
      "commit": "120aa286ab6adf3e76a31bc61fb4e583e5158d71",
      "tree": "07f1546ce7a090af8c88110598920769bfb5e669",
      "parents": [
        "5bfead584f56b2a1cfb69f78c385965ec57f7e8b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Aug 05 16:03:03 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Aug 14 17:47:25 2017 -0700"
      },
      "message": "Store layout info in dex files\n\nStore layout info for code sections inside of the oat file. This will\nbe used to advise the kernel when dex files are loaded in\na follow up CL.\n\nAdded unit test in dex2oat_test.\n\nBug: 63178181\nTest: test-art-host\n\n(cherry-picked from commit 75c5ed6e75f70002db5fa7c609137c04dd2bdf40)\n\nChange-Id: I4777506886bde42ff0affdac412a8395e8013a40\n"
    },
    {
      "commit": "8cf9cb386cd9286d67e879f1ee501ec00d72a4e1",
      "tree": "88e86e214b425e444760fe4e0ffeee677e1558a2",
      "parents": [
        "914b7b6a6c9f399b26b41e9160e9871ef749e0db"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 19 09:28:38 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 24 16:07:10 2017 -0700"
      },
      "message": "ART: Include cleanup\n\nLet clang-format reorder the header includes.\n\nDerived with:\n\n* .clang-format:\n BasedOnStyle: Google\n IncludeIsMainRegex: \u0027(_test|-inl)?$\u0027\n\n* Steps:\n find . -name \u0027*.cc\u0027 -o -name \u0027*.h\u0027 | xargs sed -i.bak -e \u0027s/^#include/ #include/\u0027 ; git commit -a -m \u0027ART: Include cleanup\u0027\n git-clang-format -style\u003dfile HEAD^\n manual inspection\n git commit -a --amend\n\nTest: mmma art\nChange-Id: Ia963a8ce3ce5f96b5e78acd587e26908c7a70d02\n"
    },
    {
      "commit": "acc83d77cc99e6280391604ebd3e2e51d9a60b99",
      "tree": "1cc7bd5b7d33d9eb0bba0f4d7b0dd48c95b6e02e",
      "parents": [
        "6d2e76b421181ebb3a419b51bfc2d3243572a677"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Jul 06 17:51:01 2017 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Jul 06 17:51:01 2017 -0700"
      },
      "message": "Improve string layout in dexlayout.\n\nAdds more strings to what dexlayout considers hot:\n  - A profiled class\u0027s superclass and interface class names\n  - The class names of accessed fields\n  - The class name, name, and shorty of methods accessed by clinits\n\nTODO: Gather memory numbers\n\nBug: 35800981\nTest: mm test-art-host\nChange-Id: I1a7de5bd5b1b73559624af939de05a2111f78195\n"
    },
    {
      "commit": "e46f3a8399fec0f2cbb6d730f4f8316c37d7f3c5",
      "tree": "b23f2da67063bee35ae64032f4d0b389a22e7adf",
      "parents": [
        "e882b6dc06804c08206a9fd027a7f67705941f48"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 19 19:54:12 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 20 16:21:31 2017 -0700"
      },
      "message": "Address some review comments for aog/415919\n\nTest: test-art-host\nBug: 62040831\nChange-Id: I9d8c359ab3a1ff090fe664bbb798a215a3d9eb52\n"
    },
    {
      "commit": "7c1be8ba84b81ad2edfb6461bb4e2f3073bbc553",
      "tree": "3da1fa92b59386134d0dae307ba21a21ee2f530d",
      "parents": [
        "2bc159ebd1115f71d80639e47fc38663aa84ba4a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 15 13:56:05 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 16 14:02:04 2017 -0700"
      },
      "message": "Layout code items of post startup methods\n\nLayout code items in the following manner:\n\u003chot\u003e\n\u003cstartup only\u003e\n\u003cother clinit\u003e\n\u003cexecuted\u003e\n\u003cnot executed\u003e\n\nFor basic use cases (write email, start navigation)\nMaps vdex PSS: 17464k -\u003e 16856k\nGmail vdex PSS: 4004k -\u003e 3820k\nNumbers are from marlin\n\nTest: test-art-host\nBug: 36457259\n\nChange-Id: Id7ae676b45d5ba4f5b4dabfdc954875756fd2bcb\n"
    },
    {
      "commit": "bbe3a5efcdfb2fb15a4e5f724cc323ae0ada5111",
      "tree": "65fd149e1159674681d866e47e485d85b8464334",
      "parents": [
        "d58932f98a673c9d687863a7efafb2da168063a2"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 13 16:36:17 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 15 11:45:06 2017 -0700"
      },
      "message": "Refactor some profiling info functions\n\nDeleted profile_compilation_info-inl.h\n\nAdded a new helper class MethodHotness to reduce the number of\nrequired getters for reading method hotness, startup, and post\nstartup booleans.\n\nTest: test-art-host\nBug: 62040831\n\nChange-Id: I799a38e2bea6177ba5816c54524f4ccacedba772\n"
    },
    {
      "commit": "206cbaabf42430347f8d83e7b9e8fd9f0d29d010",
      "tree": "169a4a136973067b2901290d70b66aa7516e2942",
      "parents": [
        "4d3df9131c4098828f889b9470c82880efdc91be"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Jun 07 19:11:01 2017 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Jun 07 19:11:01 2017 -0700"
      },
      "message": "Layout clinit code items of profiled methods together.\n\nMaps startup dex file pss drops from 9.88MB -\u003e 9.12MB.\n\nBug: 35800981\nTest: mm test-art-host\nChange-Id: I5c0167c553cd21c23bed05e824f14ab19f505d59\n"
    },
    {
      "commit": "ea650f3bc4f54eb2c647cf0f7134398ef5038792",
      "tree": "cdddde74424cf9fbeb2ef62e6bebca619c5ed989",
      "parents": [
        "6559ba1cfb9d24fdca4b1b1ec9e0b8dc31679982"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 24 12:04:13 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 02 18:25:09 2017 +0000"
      },
      "message": "Move profiles to use bitmaps for startup methods\n\nThis CL enables changes like compiling only hot methods while still\ndoing layout for hot and startup methods.  The bitmaps are also a\nbit smaller for post-launch use cases.\n\nNo change in compilation strategy yet.\n\nFixed some bugs in dexlayout test like using a profile with the wrong\ndex location. This meant the second invocation of dexlayout didn\u0027t\nhave any profile data.\n\nAdded profman support for dump-classes-and-methods,\ncreate-profile-from, and related test.\n\nProfile sizes (bytes) post launch:\nGmail: 7290 -\u003e 6136\nMaps: 22896 -\u003e 18984\nMusic: 8582 -\u003e 7050\nYouTube: 16733 -\u003e 14592\n\nTest: test-art-host\n\nBug: 62040831\n\nChange-Id: I9915b81a2ff2c47464acbbdeb55ce30a33d5483f\n"
    },
    {
      "commit": "a07394a0f356513a08266e2e198a0f4064f6e694",
      "tree": "1bbbd89b3772c852e5cbdd49d19b3fa3966cf910",
      "parents": [
        "aad63d06328e745a7f13e812bf41676274aa8f49"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed May 17 10:29:56 2017 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed May 17 10:29:56 2017 -0700"
      },
      "message": "Enable dex diff check on debug builds.\n\nDex diff checks that the input and output dex files are equivalent at\nthe IR level. Normally enabled by passing -v to dexlayout, dex diff is\nnow enabled for debug builds as well.\n\nBug: 36107940\nTest: mm test-art-host\nChange-Id: I8c5ebb6a7cc0f699299a7200e8bc019762601feb\n"
    },
    {
      "commit": "3a2380da2496423daff1eedee2a1b0882dbd3154",
      "tree": "3fbf84a3f16a35ed531f190d1a54b7ffcebf90aa",
      "parents": [
        "0d2ea2f09937e55600f8a1eda6b102fef1ab9c0b",
        "36a282b8714071d9f16c98c316efa4304fd8d36a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 25 18:42:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 25 18:42:28 2017 +0000"
      },
      "message": "Merge \"Layout codeitems based on profile data\""
    },
    {
      "commit": "36a282b8714071d9f16c98c316efa4304fd8d36a",
      "tree": "85c41bcb9d70778be8afe273eb57ef469f7b11d4",
      "parents": [
        "4e34bd190287f10214e8ea11a61025f18d2429b8"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Mon Apr 03 10:04:28 2017 -0700"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Mon Apr 24 14:54:23 2017 -0700"
      },
      "message": "Layout codeitems based on profile data\n\nTest: ./art/test/testrunner/testrunner.py --host -t 638-c\n\nChange-Id: I15cef5d8bd25cbb74f844bd4c8241700b0f7dc13\n"
    },
    {
      "commit": "0dfc315a096bf5678cb5182771e3fdcca8ea4433",
      "tree": "ac04fef45e7d002734d3d79b9ab9a128cb5dc263",
      "parents": [
        "291ce17ada5a126be99f0fc069a028d2100bcf9e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 24 07:58:06 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 24 14:18:45 2017 -0700"
      },
      "message": "ART: More header cleanup - mem_map.h\n\nMove MemMap maps_ into cc file and move allocator include. Remove\nother unused includes. Force clients to import sys/mman.h if they\nneed it. Try to lower dependencies on ART by using libbase helpers\nmore.\n\nTest: mmma art\nChange-Id: I8f31e5f371789b3d72e12af377181fee2ac9a611\n"
    },
    {
      "commit": "7639cdcf4dbbbb4ef63cc8c3ae2f2b4e170a5c83",
      "tree": "4b9e74bdf3fd4ef9ab7d29bca1e6234ac02c53f1",
      "parents": [
        "39d562895ab3ff835003fe3df6c13a93db492aa8"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Sat Apr 15 10:06:21 2017 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Sat Apr 15 10:06:21 2017 -0700"
      },
      "message": "Add art_defaults to dexlayout\n\nThe build rule defaults for dexlayout targets didn\u0027t include defaults\nfrom the ART project.  Because of this ART_TARGET_* weren\u0027t defined,\namong other problems\n\nBug: 35800981\nTest: make -j 40 test-art-host\nChange-Id: Ic528bfc6b622fa9b4f5c0ddf883f15912641b720\n"
    },
    {
      "commit": "3ba51e854d6ee3287641d37ca5e108dd78de697b",
      "tree": "3f0939d171df1fd70e14118aa4494254c1b25f58",
      "parents": [
        "ce121a5fe3e537872af077c801443be9a525859b"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Apr 12 16:14:54 2017 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Apr 13 10:16:18 2017 -0700"
      },
      "message": "Add check that dexlayout can open output file.\n\nTest: mm test-art-host\nChange-Id: I49b37b3e3696c8c002e22533c2e86e47a0e13e51\n"
    },
    {
      "commit": "fa0aa0953875427d7381ac44a6427bd5b1d5020a",
      "tree": "ffffbc915c05b8a5d0a830618364261dedfa3948",
      "parents": [
        "8b71f086ade1f48f3780cc81706669abbfe9c184"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 27 15:43:54 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 29 10:42:47 2017 -0700"
      },
      "message": "Layout string data\n\nInspect dex code in class initializers and hot methods to find out\nwhat const strings are likely to be resolved. Along with these,\nlook at static field accesses and group the field name and type with\nother hot strings.\n\nGroup method shorties together.\n\nMaps vdex PSS: 7478k -\u003e 6900k\nNo change in odex PSS.\n\nChanged dexlayout_test to use -v instead of comparing to a hex\noutput.\n\nBug: 36457259\nBug: 35800981\n\nTest: test-art-host\n\nChange-Id: Iaa5de649c5b2b1d9f178525d2f42fe00e3fb879f\n"
    },
    {
      "commit": "37c5846be19f28bd629ffe7d6cfde779abbccb89",
      "tree": "794faf53dceaff722889a94c01122cc2ef6b632a",
      "parents": [
        "46bfb7c047a590ac5c24b658f31c170631556bb6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 27 15:14:27 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 27 15:14:27 2017 -0700"
      },
      "message": "ART: Fix some tidy warnings\n\nFix some tidy warnings for macros and references.\n\nTest: m test-art-host\nChange-Id: I2f8ed2174634263d4784c08e637f60ed70977b73\n"
    },
    {
      "commit": "cc8295946caf3b965bff778fd7ae3adbcba47de3",
      "tree": "d7c9b77d14217d049911ded65f346271cf5c7849",
      "parents": [
        "fcfaa8d823017eb209fd6e18a6fe496f4c979026"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Mar 14 16:13:39 2017 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Mar 15 19:25:02 2017 -0700"
      },
      "message": "Finish adding checks to dex ir verification.\n\nAdds missing checks for class defs, annotations, class data, code, etc.\n\nBug: 36107940\nTest: mm test-art-host\nChange-Id: Ifaac07299cf237827160c29b4230b0dc0845dc41\n"
    },
    {
      "commit": "ec7f1a96683836d9375adc48c6bf802c0ce2160e",
      "tree": "f07435d668c04c239dca0036b6b072611d45b046",
      "parents": [
        "13ef0447b43ecbf18d3c4e4c72d66bbbc1815f0c"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Mar 13 16:24:24 2017 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Mar 13 16:59:46 2017 -0700"
      },
      "message": "Added new -v option to dexlayout to verify output dex file.\n\nPassing -v will cause dexlayout to do an IR level comparison of the\noutput with the original input dex file. This checks that the data in\nthe dex files are the same, but allows for different offsets since the\noutput dex file may have a different layout.\n\nTest: mm test-art-host\nBug: 36107940\nChange-Id: If75a93973ffdd2d91111727f089713c800d8cee8\n"
    },
    {
      "commit": "8f48f4cb1760cd5d1b193e87ba6b56043bb08f35",
      "tree": "467c2da76191237292be4b0cbe3f36d9315c3a0a",
      "parents": [
        "5442ff6bad80f910f84ddf265393796d5fa9d977",
        "4a436ac4b4daa4e322d2a7cc2395462fbb16cd54"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 11 02:29:10 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Mar 11 02:29:10 2017 +0000"
      },
      "message": "Merge \"Fix dex file verification check for dexlayout output file.\""
    },
    {
      "commit": "4a436ac4b4daa4e322d2a7cc2395462fbb16cd54",
      "tree": "243bc4a490fc31203f7fcb0e8747ac3eedc57477",
      "parents": [
        "1352e02ceeb30a3191809df4a7ee9fd711962f30"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Mar 10 17:05:01 2017 -0800"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Mar 10 17:05:01 2017 -0800"
      },
      "message": "Fix dex file verification check for dexlayout output file.\n\nFor debug builds, we want to run the output dex file through the dex\nfile verifier as a sanity check. The initial check was actually checking\nthe input dex file again...\n\nBug: 36107940\nTest: mm test-art-host\nChange-Id: Ibd434d67f661c325a443d4ca9cced481e7a9b02c\n"
    },
    {
      "commit": "bd40af72aac39c53fadca6fe2e8d90f2ba2c4502",
      "tree": "37aa77fec55f4fa97190efbe49278dde27a13cf5",
      "parents": [
        "1352e02ceeb30a3191809df4a7ee9fd711962f30",
        "9335749d25f8826c72ea7ea4d470ee8bc171fa87"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Mar 10 18:08:50 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 10 18:08:51 2017 +0000"
      },
      "message": "Merge \"Add section size statistics\""
    },
    {
      "commit": "9335749d25f8826c72ea7ea4d470ee8bc171fa87",
      "tree": "9f6fffab6b8c44d1d38434e66a8f345cb5eeceeb",
      "parents": [
        "74f94dd8edb4a6070f6f7bfef6d28a8b4a21fc30"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Mar 09 08:02:44 2017 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Mar 10 08:02:08 2017 -0800"
      },
      "message": "Add section size statistics\n\nAdd an option to display the size of dex file sections for easier\nanalysis.\n\nBug: none\nTest: test-art-host\n\nChange-Id: I779f776657ad79e7a50c18c2b9486e6778c70f13\n"
    },
    {
      "commit": "b756815e581e2bcc3db7ee0cb3ae6c031fb22ae8",
      "tree": "c49999dc1d8683d14d628f1e595f86900368bc93",
      "parents": [
        "74f94dd8edb4a6070f6f7bfef6d28a8b4a21fc30"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Mar 09 18:14:48 2017 -0800"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Mar 09 18:14:48 2017 -0800"
      },
      "message": "Add dex file verification check for dexlayout output file.\n\nFor debug builds, run the output dex file of dexlayout through the dex\nfile verifier as a sanity check.\n\nBug: 36107940\nTest: mm test-art-host\nChange-Id: I2b556db32cfd360cc4fe8d1d080508deebd27aa0\n"
    },
    {
      "commit": "863f1d79a70403443c089a91ca893db6cbadd3d8",
      "tree": "383e99645839dc26735369273d665cd59ee7bbb6",
      "parents": [
        "fddc19338d9fdee24c4e10b758db1a6997004e2e"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Mar 01 12:18:19 2017 -0800"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Mar 01 12:31:59 2017 -0800"
      },
      "message": "Prevent dexlayout from moving code items if preceded by class data.\n\nClass data has uleb encoded offsets to the code item, and moving code\nitems will change the size of the class data, which would in turn affect\nthe code item offsets if they precede the code items.\n\nFor now, make it so that dexlayout does not move the code items at all\nin this case. A better fix would be to swap the order of the sections in\ndexlayout, but that can be done in a future CL.\n\nUnit test to follow.\n\nBug: 35855748\nTest: mm test-art-host\nChange-Id: Ica6da1e5e951cf0003fc9793f13ad10b74004eb9\n"
    },
    {
      "commit": "e17f589d8fa46d0d0179499354b7967801f9582c",
      "tree": "ab0d1d2c46c8016c0f13a7469333d895ad3fab0d",
      "parents": [
        "06f658ab309a5f1930b8a6bc306ef79d0ef0616e"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Feb 23 16:14:04 2017 -0800"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Feb 24 10:47:43 2017 -0800"
      },
      "message": "Dexlayout fix for duplicate class data and preserving last code item.\n\nThis change fixes a dexlayout issue when multiple class defs reference\nthe same class data. A set is used to tell what class data has already\nbeen visited.\n\nThis change also makes dexlayout preserve the offset of the last code\nitem in the dex file if the following section is not 4-byte aligned.\nDue to limitations in dexlayout, it is difficult to adjust the offsets\nof sections if more space is needed. An overhaul of dexlayout should\nbe done to properly fix this.\n\nBug: 35451910\nTest: mm test-art-host-gtest-dexlayout_test\nChange-Id: I8d066c2151a1a57c382ce35f12bf53a519da89f6\n"
    },
    {
      "commit": "33083d626dbf2c8b06badfd73f50e98114483059",
      "tree": "f6f5db21855a6182b591b57e6a34e5c1fc41b7d0",
      "parents": [
        "fd5f52b60cfa217fb0c4d7dcabdd0336b55990d7"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jan 18 15:29:12 2017 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jan 18 19:00:21 2017 -0800"
      },
      "message": "Rename offline_profiling_info to profile_compilation_info\n\nThis solves a long standing TODO to align the names of the files and the\nclass.\n\nBug: 32434870\nTest: test-art-host\n\nChange-Id: I2707da8fef8736a7223189d894fc00ff11bfab12\n"
    },
    {
      "commit": "46ee31b67d7ee1bd085fbc240502053caa3cf8fa",
      "tree": "83e870f293cd60d533207e389d7b094acd87b31f",
      "parents": [
        "9538f9e2a5d03f1b1bc07ebfbd93b61dcf8ad604"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 14 10:11:49 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 15 09:50:39 2016 -0800"
      },
      "message": "ART: Move to libbase StringPrintf\n\nRemove ART\u0027s StringPrintf implementation. Fix up clients. Add\nmissing includes where necessary.\n\nTest: m test-art-host\nChange-Id: I564038d5868595ac3bb88d641af1000cea940e5a\n"
    },
    {
      "commit": "042e898f18767ed326980e3b07d39adbf98f6222",
      "tree": "e2ea81bc5ddbab51cb3d5c0d5b7812cf9f85562e",
      "parents": [
        "608f2ce4b9870354079b9d63d40363914889f01a"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Oct 19 11:17:11 2016 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Nov 22 13:33:09 2016 -0800"
      },
      "message": "Add layout scheme to dexlayout for dex file reordering.\n\nCurrently takes startup classes from profile and groups them together\nwith the lowest class indexes. Moves the ClassDef, ClassData, and\nCodeItem sections.\n\nResults gathered from 5 second systrace of app startup (no other input):\nMaps\nbase.vdex - 24.70MB -\u003e 19.35MB (30.50MB file size)\nbase.odex - 13.22MB -\u003e 12.82MB (13.22MB file size)\nRunning time of dex2oat: 27.5s -\u003e 37.1s\n\nPhotos\nbase.vdex - 12.98MB -\u003e  9.77MB (15.10MB file size)\nbase.odex -  6.84MB -\u003e  6.24MB ( 6.84MB file size)\nRunning time of dex2oat: 15.6s -\u003e 19.9s\n\nPlus\nbase.vdex - 14.09MB -\u003e 13.29MB (16.72MB file size)\nbase.odex -  2.47MB -\u003e  2.47MB ( 2.47MB file size)\nRunning time of dex2oat: 14.1s -\u003e 18.5s\n\nPerformance and memory tracking bug: b/33017139\n\nTest: mm test-art-host-gtest-dexlayout_test\nBug: 29921113\nChange-Id: Ib500ed353d71a606e2db0dd80378750c5f7b8e33\n"
    },
    {
      "commit": "ea7c62983beec6a5a2a6676cc910a436b20ae92c",
      "tree": "cc41732efa47b2301f463f2f9fcabe957ed89c0c",
      "parents": [
        "b46782abf6752ccf688b0d9f5b4bb83e5d33793b"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Nov 14 18:10:16 2016 -0800"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Nov 22 09:12:14 2016 -0800"
      },
      "message": "Dexlayout cleanup and refactoring.\n\nCreated option to output to a mem map in preparation of hooking\ndexlayout into dex2oat.\n\nTest: mm test-art-host-gtest-dexlayout_test\nBug: 29921113\nChange-Id: Id42ef15cb8f83cc8d05b025b7647a4338e9b96b0\n"
    },
    {
      "commit": "ca620d7bc03b23a0bcf0ef58df58603ee000dca0",
      "tree": "07cb026075b70a958d14ae84b4e213178a6ba0b4",
      "parents": [
        "b02b8d7df48ea3314cfcb3c08d84ac9556363833"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 08 08:09:33 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 08 15:04:48 2016 -0800"
      },
      "message": "ART: Fix tidy warnings\n\nSwitch to char versions of find variants.\n\nAdd \"explicit\" constructor variants or refactor and\nremove defaults.\n\nUse const references.\n\nBug: 32619234\nTest: m test-art-host\nChange-Id: I970cc2f47d6cf8f0c74104b994b075b2fafb3d45\n"
    },
    {
      "commit": "caacd11864383aac65e61be837fb1bb5f91e3878",
      "tree": "0fc2836395d93349aa2e745f31a3cb248e1fdacf",
      "parents": [
        "3667e26de4856cccf24bcbab54ad3349a05267c0"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Oct 20 16:27:02 2016 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Oct 24 08:55:22 2016 -0700"
      },
      "message": "Move dex CFG dumping out of utils.cc\n\nMove CFG dumping to dexdump, the only client.\n\nBug: 22322814\nTest: test-art-host\nChange-Id: I0f39f1d5dfc446419d26d709b78d04e45616f42c\n"
    },
    {
      "commit": "b34bb193dd2d45af196592bb4bae26f30d529b13",
      "tree": "e0c38aef953ba388b7e0fb0ef41ec78ab95d4044",
      "parents": [
        "3da7190bae7c1d75edbc87f01343652c246639f2"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Oct 18 17:02:58 2016 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Oct 20 19:04:07 2016 +0100"
      },
      "message": "Dex disassembly suppport for invoke-polymorphic.\n\nBug:  30550796\nTest: art/test/dexdump/run-all-tests\nChange-Id: I013ce2ebbcf9555e01170dc47fc38036c276b1b4\n"
    },
    {
      "commit": "a86210038524cecd0d96d6ba6f8f116da348a25c",
      "tree": "3c5c243a9530f3cd64ca12b94ea2e2a4ada34260",
      "parents": [
        "b4f0076e7faca1382e0b2f68557b71b11ac34a9d"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Oct 04 18:13:44 2016 +0000"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Oct 04 14:21:13 2016 -0700"
      },
      "message": "Revert \"Revert \"Add dex file writer to dexlayout tool.\"\"\n\nThis reverts commit fd1a6c2a08ca3e2476b7424b9b0fa58e73b29e87.\n\nFixed output being clobbered during DexLayoutTest.DexFileOutput.\nOption added to put dex output file in scratch directory.\n\nBug: 29921113\nTest: mm test-art-host-gtest-dexlayout_test\n\nChange-Id: I9e6b139cf06aaa39c83ad1e74329db266464a8e4\n"
    },
    {
      "commit": "cdcfde74ccd72c60dc9456013e32d8b00fefdee6",
      "tree": "1c29e986405c23285771a31250c5f26857f41046",
      "parents": [
        "82d4838d6bb3480cd25327cedc5179fb2d86881c"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Sep 26 07:44:04 2016 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Tue Oct 04 10:47:24 2016 -0700"
      },
      "message": "Option to gnuplot dex layout\n\nDisplay the portions of the dex file that are accessed by the classes in\nthe dex file.  Optionally limit the display to only those classes that\nare present in a runtime profile.\n\nBug: 29921113\nChange-Id: I2a998fba448fec6c23941d3b4358531b1336e1b3\nTest: dexlayout test\n"
    },
    {
      "commit": "fd1a6c2a08ca3e2476b7424b9b0fa58e73b29e87",
      "tree": "1f3e846a8cf6eef30683dcad63c4dc3ce39c7058",
      "parents": [
        "69b58cf399c3507ca3debf9ec9b2db3c5a0fe7f2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 04 11:01:17 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 04 11:01:17 2016 +0000"
      },
      "message": "Revert \"Add dex file writer to dexlayout tool.\"\n\nBug: 29921113\n\nThis reverts commit 69b58cf399c3507ca3debf9ec9b2db3c5a0fe7f2.\n\nChange-Id: I8bf9b1222d99489059e45f47d220396a853170a4\n"
    },
    {
      "commit": "69b58cf399c3507ca3debf9ec9b2db3c5a0fe7f2",
      "tree": "eeea96181b252426bc7d9363c62cf22c9aac100a",
      "parents": [
        "d295618ac764b334424b0bc7a592337edef19783"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Sep 22 18:02:49 2016 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Oct 03 14:33:25 2016 -0700"
      },
      "message": "Add dex file writer to dexlayout tool.\n\nAll sections are being written out properly.\nThere is one small difference:\n  - unindexed string data is not written out\n\nBug: 29921113\nTest: mm test-art-host-gtest-dexlayout_test\nChange-Id: I3872327526a350f33f0f851516a389622c1a54ae\n"
    },
    {
      "commit": "3ab96b460684781af58b3f9c5b9fb0e370de6b50",
      "tree": "8165154e9ec5d6977ec3b2405f6b4ba0a6731b7e",
      "parents": [
        "6a40fc9bbb9421f78ffd7a9cce7f9acff3aa7d0d"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Sep 09 18:35:01 2016 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Sep 19 18:42:34 2016 -0700"
      },
      "message": "Dexlayout changes to support offset/size output of items.\n\n- Created offset \u0026 size fields for items, initially populated with\n  values from original dex file.\n- Created index field for indexed items in header.\n- Created Item objects for StringData and TypeList.\n- Created Collections container to hold unique_ptrs for all objects\n- Reorganized EncodedArrayItems to make it easier to collect them\n- Added relevant annotations-related items to Collections\n- Some size calculations and section offsets left as TODO\n\nBug: 29921113\nTest: mm test-art-host-gtest-dexlayout_test\nChange-Id: Id812f104c1930a3ee381e885f353a9a49f29ac9b\n"
    },
    {
      "commit": "72359225691975281f0bd5a0a19b07a0b2e6b498",
      "tree": "228df961b259fa72be55950a52ad7b357546e369",
      "parents": [
        "ef858c25d043074fe572c5d578e08af12e055733"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Sep 07 13:04:01 2016 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Sep 07 15:56:40 2016 -0700"
      },
      "message": "Fix some memory leaks found by valgrind.\n\nBug: 29921113\nChange-Id: If70d475a3317751d206658c5794a32d78bc33e47\nTest: valgrind-test-art-host-gtest (with --trace-children\u003dyes)\n"
    },
    {
      "commit": "853a8e10844b9b9e791c6d40e5d332cd38af97d6",
      "tree": "7339753d96f5e346c28a5c57a561a9464d83e719",
      "parents": [
        "3e65825978056adf7cbad646d4ab92c161a60e09"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Sep 01 13:03:50 2016 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Tue Sep 06 14:06:23 2016 -0700"
      },
      "message": "Separate DexIr building from constructors.\n\nMove all the construction from DexFile out of the constructors of the\nbasic IR.\n\nBug: 29921113\nChange-Id: I3f79c104ce7183ddde73f143c047061416009a54\nTest: test-art-host-gtest\n"
    },
    {
      "commit": "c3acfc5bed5d0cb22bee05e72cdbdec49a182224",
      "tree": "3f9e89e770efbea5dac6bd601d29b7707c609922",
      "parents": [
        "7629f60ffa7b8533ea0b50263d52cc1df72b2904"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Aug 29 14:18:26 2016 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Aug 31 11:09:41 2016 -0700"
      },
      "message": "Finish dexlayout dumping of dex files and added test.\n\nThe test runs dexdump and dexlayout over the first core library jar file\nand diffs the output, checking that they\u0027re the same. More dex files\nwill be added later for better coverage.\n\nBug: 29921113\nTest: mm test-art-host-gtest-dexlayout_test\n(cherry-picked from commit a378e88db648cf19e771714dd1059cf3d41d4753)\n\nChange-Id: Idfd8ac9f069885b675a4a2f0c70aef2cbef5a9b8\n"
    },
    {
      "commit": "7629f60ffa7b8533ea0b50263d52cc1df72b2904",
      "tree": "ce4d4f25c48dddf5930ff0d55c9d071f041a27fd",
      "parents": [
        "081e7a16c4fcbdb014441a236e12f58eb89ff99a"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Sun Aug 07 16:01:51 2016 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Aug 31 10:15:50 2016 -0700"
      },
      "message": "Add dex file intermediate representation\n\nAdd an intermediate representation, constructed from the DexFile\nutilities, that can be used to optimize the layout and re-emit dex\nfiles.\n\nBUG: 29921113\nTEST: TODO: Add dex files to compare output with dexdump\n\n(cherry-picked from commit af14d9f551e6169c201dc7981d9cfbcb53c7d2c7)\n\nChange-Id: I3dacb78fad5228e43d77f20b110bd40e0e116cdb\n"
    }
  ]
}
