)]}'
{
  "log": [
    {
      "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": "db40eac139e2bc2b7b450277f4ba63c131d30dbc",
      "tree": "e91b75a9fc69c28b06e91c9028d7fc29dcfaa1a0",
      "parents": [
        "16d59b2b0ff202be99cbe24830e8a5080b774357"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 09 18:34:11 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 12 18:10:35 2017 -0700"
      },
      "message": "Address review comments for aog/411660\n\nAdded test for bulk adding method apis.\n\nTest: test-art-host\n\nChange-Id: Ib5b8c73e572110bccbbab031c11f030c23545fba\n"
    },
    {
      "commit": "faf8320e7b3a72d79876ff76d88a6b88740b8c02",
      "tree": "b46372ecb22f7c9f813a24f787788a4caead713e",
      "parents": [
        "58794c5c23f46a7476a58e5a10dbeebb6321aa90"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 08 10:35:20 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 09 11:45:10 2017 -0700"
      },
      "message": "Optimize FetchAndCacheResolvedClassesAndMethods\n\nMoved FetchAndCacheResolvedClassesAndMethods to use a newly added\nmemory efficient DexReferenceCollection. This reduces RAM by\n6+ bytes per sampled method during the process.\n\nChanged profile logic to use bulk adding for each dex file instead\nof looping through all of the ids and doing a string map comparison\nfor each one.\n\nAlso moved the vectors to use arena allocators to make sure the\npages get released after sampling is done.\n\nTime in FetchAndCacheResolvedClassesAndMethods for Maps goes from\n90.4ms to 47ms (average of 5 samples).\n\nThe motivation is to improve this call since it will be called more\noften for sampling post startup methods.\n\nTest: test-art-host\nTest: manually look at -verbose:profiler output\n\nBug: 36457259\n\nChange-Id: I3ed647ae15900c96d2180eb5c799f45393794dda\n"
    }
  ]
}
