)]}'
{
  "log": [
    {
      "commit": "58d40f3a7245e65d57a5daf6bf27c3b209260044",
      "tree": "3132e2e1e5b1f1af558652d9b39eeb6c994ec256",
      "parents": [
        "93afc5f20a23ece78d6d6e506ed75775b8ef2113"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Jul 27 10:35:03 2016 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Jul 27 10:35:03 2016 -0700"
      },
      "message": "Fix profiling output to properly display class info.\n\nThe profiler stores class def indexes, not type ids.\n\nChange-Id: Ieec9374a2ba381387ed444f376922478183145f8\n"
    },
    {
      "commit": "7bcdb53803d8e276d374fc7bb74d6dd893b39345",
      "tree": "b4cb3757d6d8db36a7c3cdd9f029bf9b97dd1635",
      "parents": [
        "c45885712f70f3d0a328fe3df5550a2ee080cef3"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Jun 07 16:14:47 2016 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Jun 28 13:26:30 2016 +0100"
      },
      "message": "Add ability to generate a random test profile\n\nThis is usefull to drive automated profile guided compilations.\n\nTest: added TestProfileGeneration in profile_assistant_test.\n\nbug: 29066961\nChange-Id: Ib7ce7de898abefae1c2cf1b8ff16c4f0fc9b0d0e\n"
    },
    {
      "commit": "c45885712f70f3d0a328fe3df5550a2ee080cef3",
      "tree": "f7ff21873952a82b9217787552a2c48b0c7963f0",
      "parents": [
        "337fcb78e278d9f17e7b546c183171c9c2212fc6"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jun 08 14:24:13 2016 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Jun 28 12:28:21 2016 +0100"
      },
      "message": "Add debug option to ignore checksum checks in profiles.\n\nTest: existing tests passing, profile_compilation_info_test.\n\nBug: 29066961\nChange-Id: I6084f50d6a6ada7407e1c7ad92fea9af3351715e\n"
    },
    {
      "commit": "b384e5e845adc60915294844c80e574c853ae4be",
      "tree": "58b1b9651f595efe772db7b61351bfd971699306",
      "parents": [
        "808d6d019edf692817b2506093d3c1b8d6fb705a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 29 12:03:56 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon May 02 09:21:11 2016 -0700"
      },
      "message": "Fix profile saver to use base dex location\n\nPreviously we were using the dex location. This only matches the\nbase location for the main dex file, and resulted in only the\nmain dex file to have classes recorded.\n\nBug: 28463739\n\n(cherry picked from commit 9275af6ec0d71d1a13a97a1d292806b73f755717)\n\nChange-Id: Ie822c2a38fd1316c3ba604b8625c48388f6a8c07\n"
    },
    {
      "commit": "4eb6fbf367f25da5bae5ee0a423ffbad7dd32ea8",
      "tree": "dd9498441ae3011053ce818158ad1607e4564a89",
      "parents": [
        "dbea8b4eacb62b357bce1bc299c8442788b288a1"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Mon Apr 25 19:14:17 2016 +0200"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Mon Apr 25 19:14:17 2016 +0200"
      },
      "message": "Use explicit cast to avoid compilers error\n\nGCC (mips32 Buildbot) is complaining when passing \u0027uint16_t\u0027\nto std::to_string.\n\nChange-Id: I0df72204947b7a4d445594851f043ec69196dbb7\n"
    },
    {
      "commit": "9962962eb26f906e8f92cde1d6854dadbbc5e8ad",
      "tree": "1cf89988fdb5b572b798310ea00b137bc7e6fb1e",
      "parents": [
        "6543933527f4d2b3f6bb65532c8af166547f9bac"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Apr 19 16:33:46 2016 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Apr 22 16:16:19 2016 +0100"
      },
      "message": "ProfileSaver: query profiling_infos instead of the code_map\n\nThis is the first step in being able to record profiles without jit\nbeing active.\n\nBug: 27916886\n\n(cherry picked from commit e2d066d0337b7c81d47e4806e6025b70d83fcd56)\n\nChange-Id: Ie36c4b4a11d3b6e5de959121a1acea22a9e25121\n"
    },
    {
      "commit": "5d1bd0aecdbd4093028c83c4c23f0340ac835e85",
      "tree": "f08e5300dec07e7b29392e15441d74444a2a8e18",
      "parents": [
        "876f3503119fa6ea21b85990b7f8b5f5abcdd1b0"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Mar 24 20:33:22 2016 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Apr 22 16:12:11 2016 +0100"
      },
      "message": "Discard corrupted or out of date profiles\n\nUntil now we bailed out if the previous profile contained invalid data.\nThis CLs forces the save and clears any data in a profile that has the\nwrong version or contains bad data.\n\nBug: 27081617\n\n(cherry picked from commit fe297a96bc6d3da11579709add9b4568730d2b4f)\n\nChange-Id: I9184e0483ea0a869d7aa92630acd6fa04a9d2e03\n"
    },
    {
      "commit": "876f3503119fa6ea21b85990b7f8b5f5abcdd1b0",
      "tree": "945f21763f049028cf69d370cc8d5bb30b21a028",
      "parents": [
        "64142952e360bc933b0ec948860ae46dffc3bf32"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Mar 24 16:16:34 2016 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Apr 22 16:11:47 2016 +0100"
      },
      "message": "Extend profman to be able to dump profile content.\n\nWith the move to binary format it gets harder to debug profiles. This\nadds a simple dumping mechanism to make profiles human readable.\n\nBug: 27600652\n\n(cherry picked from commit 54196728c25421e72d0009cac4c3145a0da18a58)\n\nChange-Id: I73148fe9e24f30089e9f0fb383e9f6f6c61a46e5\n"
    },
    {
      "commit": "64142952e360bc933b0ec948860ae46dffc3bf32",
      "tree": "a70b450f8d7215bf2f6d53d7917f85997722ea5c",
      "parents": [
        "6726546bf3fd6bdb96a34197119d210bccda7e01"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Mar 21 14:37:55 2016 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Apr 22 16:11:17 2016 +0100"
      },
      "message": "Update and improve profiles format\n\n- add profile version in the header\n- change the profile format to a binary format (saves more than 50% of\nspace)\n- improve error handling during parsing\n- improve corner cases handling (all methods/classes in the\nfile)\n- improve error reporting\n\nBug: 27600652\nBug: 27081617\n\n(cherry picked from commit b8697b15145834c9861bebfb03daa745ecbe53e8)\n\nChange-Id: Ia0a30e839eb11ada212bede34e4a2d556674219d\n"
    },
    {
      "commit": "6726546bf3fd6bdb96a34197119d210bccda7e01",
      "tree": "a3ef34066efd223c91dd5281932e3dbe88274385",
      "parents": [
        "b9c1b9bdd7689c0e80c64c371581f99e53749e05"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Mar 18 16:23:40 2016 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Apr 22 16:10:41 2016 +0100"
      },
      "message": "Improve ProfileSaver to cache data and do minimal I/O\n\nThis CLs introducing caching to further optimize the I/O performed by\nthe ProfileSaver. The cache stats are also recorded.\n\nResolved classes are captured and cached after 2 seconds but written\nlater during application lifetime.\n\nMethods are also cached and the write got smarter to avoid\nreading/writing them if it\u0027s not needed.\n\nOn non scientific experiments the size of the cache reaches just a few\nhundreds uint16_t values kept in set, so its impact is minimal.\n\nIn terms of how much data we write. In the same non scientific\nexperiments this reduces the total bytes written by at least 2-3x. In\nthe first few minutes of after the boot gmscore writes ~3KB (down from\n9kb) and quicksearchlauncher writes ~20KB (down from 40KB).\n\nBug: 27600652\n\n(cherry picked from commit 85f7bf3bbfa17d65ff77e3e826b5f7aff45838a9)\n\nChange-Id: I6ecb04ce81b281d1c1538060dbbaeeeb08906775\n"
    },
    {
      "commit": "b8e69994d10534e0f4f96878725bc53e531f2c6f",
      "tree": "e3d9a4f0a7a6d4794822aae22ca6536e397ec44e",
      "parents": [
        "59ff8cb690d1928e6788e4f831af6c6dde8f9ed5"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Mar 09 15:37:48 2016 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Apr 22 16:09:25 2016 +0100"
      },
      "message": "Add ProfileSaver stats and dump them during SigQuit\n\nBug: 27516906\n\n(cherry picked from commit c19c1c2e1def1f4f5ab5fd9e71b1a6f76d42988f)\n\nChange-Id: I7d2b1091c3523805ef0f87df42feed1098678aad\n"
    },
    {
      "commit": "a807780b1d8ee01dfb03923c673621b4c81ac858",
      "tree": "ef7485dca9ad8375559524d74b7c4971d6f088fa",
      "parents": [
        "895375bb30716a488bf7b8234e900d1e15de1d21"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 16 19:08:31 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 18 15:21:08 2016 -0700"
      },
      "message": "Add verify-profile compiler filter\n\nOnly verifies and dex2dex compiles classes in the profile. Goal\nis to reduce application launch time.\n\n~2x faster than interpret-only for Facebook.\n\nBug: 27688727\n\n(cherry picked from commit a079e3aa62cceb76c1c1811e6e09bcaf75e20289)\n\nChange-Id: Iad5aa1adee3aa6c2408820e8cbbab2d4412021b8\n"
    },
    {
      "commit": "32ce2adefb8a3d0eda59a29f5e87c1eb43eef796",
      "tree": "50aaa40b31ede355359765259edc7989485cc7d5",
      "parents": [
        "c71dc3852edfa8e0cd2083d12845ff8607e189ff"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 04 14:58:03 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 04 18:37:19 2016 -0800"
      },
      "message": "Add more systracing everywhere\n\nAdded to:\nJIT\nDexFile functions\nOat file manager\n\nAdded helper ScopedTrace to prevent errors and reduce excess code.\n\nBug: 27502458\n\n(cherry picked from commit dabdc0fe183d4684f3cf4d70cb09d318cff81b42)\n\nChange-Id: Ifaeff8913d79eefc797380987d13cc00456266f8\n"
    },
    {
      "commit": "c5dd319c574f67d11a71f1b60ac6c34bfe93b750",
      "tree": "51de8bdd7a891478e6d22a6f53781d53290c2d20",
      "parents": [
        "01c30e8dbc45bdc5d922cef6e5a404be7bed0e8c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Dec 09 16:38:30 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Feb 26 13:07:39 2016 -0800"
      },
      "message": "Add and use loaded class profiling\n\nClass profiling is a way to keep track of which classes are resolved.\nFrom here the compiler can use this information to generate a smaller\napp image.\n\nTODO: Add tests for profile stuff.\n\nBug: 22858531\n\n(cherry picked from commit 8913fc1a27df8cf3b37fd99e94d87f290591328e)\n\nChange-Id: Ifcd09230cbdc266305bc1247e0d31e7920eb353e\n"
    },
    {
      "commit": "2e2db786b8fbaa4dceb37603a4296b0b2aea4e9e",
      "tree": "7fef29d5fcdb997950fd1a2524ae853b4dcfac3d",
      "parents": [
        "3da74687e42de7d33a8e75df9bd64374e650f75e"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Feb 23 12:00:03 2016 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Feb 23 12:00:03 2016 +0000"
      },
      "message": "Revert \"Revert \"Add profman tool: responsible to process profiles\"\"\n\nThis reverts commit 3da74687e42de7d33a8e75df9bd64374e650f75e.\n\nChange-Id: Id005096bd8063c6c602744d4476d5eb7e0d34e90\n"
    },
    {
      "commit": "3da74687e42de7d33a8e75df9bd64374e650f75e",
      "tree": "f3bf62678200380dc672647af1da136c562f60b3",
      "parents": [
        "6caefd983a800a063b219f1d3ed71b1416cecd70"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 22 22:37:52 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 22 22:37:52 2016 +0000"
      },
      "message": "Revert \"Add profman tool: responsible to process profiles\"\n\nNeeds a profile_assistant_test fix.\n\nBug: 26719109\nBug: 26563023\n\nThis reverts commit 6caefd983a800a063b219f1d3ed71b1416cecd70.\n\nChange-Id: Ibdeb7385737dd7846ed861e0a95f083abb9aa974\n"
    },
    {
      "commit": "6caefd983a800a063b219f1d3ed71b1416cecd70",
      "tree": "7fef29d5fcdb997950fd1a2524ae853b4dcfac3d",
      "parents": [
        "c017318a7c5a9142b1fff9f57eb4105b1d397bbd"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Feb 01 12:06:18 2016 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Feb 22 13:55:18 2016 +0000"
      },
      "message": "Add profman tool: responsible to process profiles\n\nThis pulls out profile parsing from dex2oat into a separate tool.\nSome additional refactoring:\n- better return codes\n- dex2oat now accepts only one profile file\n\nThis is the first step towards support secondary dex files and\nextracting profiles out of the code_cache directory.\n\nBug: 26719109\nBug: 26563023\n\n(cherry picked from commit d81c289e58f4ced8ec7674fd377c356669f97227)\n\nChange-Id: I34d408faa318e866e1a23d4d04c369131ee5012b\n"
    },
    {
      "commit": "31708b736a2d75a9eb21f51038a7703f84f95f31",
      "tree": "1279672f7b97bb4eff9ca602c29395e0d8f289f0",
      "parents": [
        "1660d214de55678c97defef10395f6f9d184e1fa"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Feb 05 19:44:05 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 12 12:32:29 2016 +0000"
      },
      "message": "Fix compiler driver gtest.\n\n(cherry picked from commit 35c4e0b2ad573e820d6e9d461a571af300611d36)\n\nChange-Id: Ia59f4463a6158f7a949debd7a93f35fa633cd36a\n"
    },
    {
      "commit": "34900cc6d9a14fb29a51daca02fe4b3e47e1b64c",
      "tree": "a6ad19e0dac68cb6b0f291ac3dde3241fffc2ea7",
      "parents": [
        "d3caabd4f85f86dd744da432993e12935d843a83"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Feb 05 16:19:19 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 12 11:58:45 2016 +0000"
      },
      "message": "Store relative paths in the profile file\n\nBug: 26409579\nBug: 26080105\n\n(cherry picked from commit f06d6bc0d083d383371aeb1f0d97249f3e20fc25)\n\nChange-Id: I7eeea06e7df49a7f8af4c4cb71da58c21f1c185b\n"
    },
    {
      "commit": "877fd963548a3175665bfef25b0d24bc0e5a0135",
      "tree": "db4cae18266f7cd9415a362c21d50fef93a8488f",
      "parents": [
        "37a5abcf5e7644ae1fd1a85e865c8a71e38a9af2"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Jan 05 14:29:29 2016 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Jan 19 11:17:24 2016 -0800"
      },
      "message": "Improve profile processing\n\n- allow file descriptors in addition to file names for profiles\n- fix some minor issues (wrong comparison signs, unhandled errors)\n- added gtests for profile_compilation_info, profile_assistant\nand compiler_driver\n\nBug: 26080105\nChange-Id: I136039fa1f25858399000049e48b01eafae54eb1\n"
    },
    {
      "commit": "998c21661b5074c293cae818d0ab7c44dcda3a66",
      "tree": "c9abd63c18abc18f9d9206ca8c22c318523d0544",
      "parents": [
        "5e2b971e468ca73a8e10a120730b3b6f17fad408"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Dec 21 15:39:33 2015 +0200"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Jan 07 16:23:18 2016 +0000"
      },
      "message": "Perform profile file analysis in dex2oat\n\nDex2oat can accept now multiple profile files to drive a profile based\ncompilation. --profile-file and --reference-profile-file speficy a pair\nof profile files which will be evaluated for significant differences\nbefore starting the compilation. If the difference is insignificant\n(according to some internal metric) the compilation is skipped and a\nmessage is logged.\n\nMultiple pairs of --profile-file and --reference-profile-file can be\nspecified. This effectively enables multi user support since profiles\nfor different users will be kept separately.\n\n--reference-profile-file can be left out, case in which the decision is\nsolely based on --profile-file. If both flags are present, then their\nrepetition should form unique pairs.\n\nIf the compilation is performed and --reference-profile-file is given\nthen its data is merged with the data from the corresponding --profile-\nfile and saved back to the file.\n\nIf no profile flags are given, dex2oat proceeds as before and compiles\nthe dex files unconditionally.\n\nAs part of this change\n- merge ProfileCompilationInfo and OfflineProfilingInfo under the same\nobject. There was no use to keep them separate anymore.\n- SaveProfilingInfo now merges the data with what was in\nthe file before instead of overwriting it.\n\nBug: 26080105\n\nChange-Id: Ia8c8b55587d468bca5179f78941854285426234d\n"
    },
    {
      "commit": "5e2b971e468ca73a8e10a120730b3b6f17fad408",
      "tree": "5168766339acfd7c61852ca38595fe3459b2eb81",
      "parents": [
        "b7371a5517f78f61759f7e6124f2d957d974d9cd"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Dec 18 14:10:00 2015 +0200"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Jan 04 19:01:13 2016 +0000"
      },
      "message": "Assume the profile file was created before saving.\n\nbug: 26080105\nChange-Id: I9969a4abd8533614922076551fcbae2cdf695525\n"
    },
    {
      "commit": "4d77b6a511659f26fdc711e23825ffa6e7feed7a",
      "tree": "7ac013467a20fcdf64cb6cf4c79a8ff67dc7690a",
      "parents": [
        "66f55237679db90cb0a0a265043a787932b466f8"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Dec 01 18:38:09 2015 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Dec 24 12:02:12 2015 +0200"
      },
      "message": "Save profile information in a separate thread.\n\nPreviously we would save the profiling information only when the app\nwas sent to background. This missed on an important number of updates\non the jit code cache and it didn\u0027t work for background processes.\n\nBug: 26080105\n\nChange-Id: I84075629870e69b3ed372f00f4806af1e9391e0f\n"
    },
    {
      "commit": "66f55237679db90cb0a0a265043a787932b466f8",
      "tree": "50784132be869b47562e8ce41ea318d79c6cf6ab",
      "parents": [
        "fb9f4ad455eced3a07bef1d4772ab1fe34ec133b"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Dec 08 15:09:10 2015 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Dec 17 12:38:27 2015 +0200"
      },
      "message": "Pass down to the runtime the application code paths.\n\nWhen registering the app with the runtime the framework needs to pass\ndown the list of application code paths. This will be used by JIT to\nknow what profile info to persist.\n\nThis fixes the reliance on OatFileManager::GetPrimaryOatFile which may\nproduce inconsistent results based on external factors (i.e. class path\norder or failing to compile the first dex file from the class path)\n\nBug: 26080105\nChange-Id: Iadcebd2684fcd48569e8f76ef21bd4d117fedc05\n"
    },
    {
      "commit": "226501b317e148aa8a8983355e85acb59c1eee83",
      "tree": "e580485b79123403b7436793e1fdea40cdb585ea",
      "parents": [
        "66278646b5b332142d1474703ac7d945dfbf7c78"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Dec 11 14:41:31 2015 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Dec 11 18:41:35 2015 +0000"
      },
      "message": "Revert \"Revert \"Enable profiled guided compilation in dex2oat\"\"\n\nThis reverts commit 2306ae0d412cc53cbf64877e4a8c37292dd907d8.\n\nChange-Id: I50640009c2fac88ea703812b76549a0e8a6d7584\n"
    },
    {
      "commit": "2306ae0d412cc53cbf64877e4a8c37292dd907d8",
      "tree": "fcda284846a6a468e39aec2783812d2d1129a35e",
      "parents": [
        "500c9be1f261a8a95ae7a25f4f8084f43207f313"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Dec 11 14:00:52 2015 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Dec 11 14:00:52 2015 +0000"
      },
      "message": "Revert \"Enable profiled guided compilation in dex2oat\"\n\nThe test still have some flakiness in it which didn\u0027t reproduce locally.\n\nThis reverts commit 500c9be1f261a8a95ae7a25f4f8084f43207f313.\n\nChange-Id: I132aff62bf03c2f926aafde6869707573bae9b36\n"
    },
    {
      "commit": "500c9be1f261a8a95ae7a25f4f8084f43207f313",
      "tree": "e36173ca0ea9dfa88e6e605f156c3992414d7d1b",
      "parents": [
        "836ee764c86892aff1dca6b0f8b27e32c7374cc7"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Nov 25 15:59:14 2015 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Dec 10 17:34:06 2015 +0000"
      },
      "message": "Enable profiled guided compilation in dex2oat\n\n- add parsing of the profile info saved during JIT.\n- don\u0027t compile methods which are not part of the profile info.\n- delete old profile hooks.\n- add test for reading/writing profile. The test is disable in:\n   * interpreter modes: the test needs JIT.\n   * no-dex2oat/no-prebuild: we only save profiling info for the primary\n     oat file. In these modes we don\u0027t create oat files and thus nothing\n     is saved.\n\nBug:26080105\n\nChange-Id: Ifdc63dc9d4b537fc79e54c3edc3ae3a462bc30fb\n"
    },
    {
      "commit": "9fdb129b90c9a985f606f9d95627b4852171dc11",
      "tree": "c7b1e1da1450f61a504cdf6e21cda62541e93ee7",
      "parents": [
        "57989d6f7292155f4d91ce423cede17d04dd9343"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 02 22:44:52 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 02 23:00:53 2015 +0000"
      },
      "message": "Revert \"Enable profiled guided compilation in dex2oat\"\n\nTest has flakes:\n\n+art F 30865 30865 art/runtime/java_vm_ext.cc:466] JNI DETECTED ERROR IN APPLICATION: input is not valid Modified UTF-8: illegal start byte 0x80\n+art F 30865 30865 art/runtime/java_vm_ext.cc:466]     string: \u0027��gy�\u0027\n+art F 30865 30865 art/runtime/java_vm_ext.cc:466]     input: \u0027\u003c0x80\u003e 0xd8 0x67 0x79 0x8e 0x7f\u0027\n+art F 30865 30865 art/runtime/java_vm_ext.cc:466]     in call to NewStringUTF\n+art F 30865 30865 art/runtime/java_vm_ext.cc:466]     from java.lang.String Main.getProfileInfoDump(java.lang.String, java.lang.Class, java.lang.Class)\n\nThis reverts commit 27e17fd81cc30e16e86c9c15498cae7f920c9dfe.\n\nChange-Id: Id224b5970c3620c4c71fc0d39ed4a2e4755e5f29\n"
    },
    {
      "commit": "32501800e2e72902ddcf6f93bf7f71a843dc8fac",
      "tree": "64072837e0d25f1262ceaee3d41831825488ce68",
      "parents": [
        "1d2760bb6128f1bd623824ebcef5784d81b2ab85"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 02 22:45:39 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 02 22:45:39 2015 +0000"
      },
      "message": "Revert \"Fix the order in which profiled methods are dumped.\"\n\nTest has flakes:\n+art F 30865 30865 art/runtime/java_vm_ext.cc:466] JNI DETECTED ERROR IN APPLICATION: input is not valid Modified UTF-8: illegal start byte 0x80\n+art F 30865 30865 art/runtime/java_vm_ext.cc:466]     string: \u0027��gy�\u0027\n+art F 30865 30865 art/runtime/java_vm_ext.cc:466]     input: \u0027\u003c0x80\u003e 0xd8 0x67 0x79 0x8e 0x7f\u0027\n+art F 30865 30865 art/runtime/java_vm_ext.cc:466]     in call to NewStringUTF\n+art F 30865 30865 art/runtime/java_vm_ext.cc:466]     from java.lang.String Main.getProfileInfoDump(java.lang.String, java.lang.Class, java.lang.Class)\n\nThis reverts commit 1d2760bb6128f1bd623824ebcef5784d81b2ab85.\n\nChange-Id: I84e478d715c1496892fa800778fc454d15e5d2c5\n"
    },
    {
      "commit": "1d2760bb6128f1bd623824ebcef5784d81b2ab85",
      "tree": "9aea4071e385542d7a6e7a331ef90474b7f710be",
      "parents": [
        "95f51a71d28be844e68fe3dda3ed0bba6b99f8ad"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Dec 02 18:21:39 2015 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Dec 02 18:21:39 2015 +0000"
      },
      "message": "Fix the order in which profiled methods are dumped.\n\nThis fixes flacky behaviour in tests.\n\nChange-Id: I1b79111ad739ca9f3936110bce6719335b5ea112\n"
    },
    {
      "commit": "27e17fd81cc30e16e86c9c15498cae7f920c9dfe",
      "tree": "96b03ed3671236b696e25e0671e3d6f27604c035",
      "parents": [
        "47229aa5848df7d45578dbdd9285f57dfa9399a8"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Nov 25 15:59:14 2015 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Dec 02 16:17:21 2015 +0000"
      },
      "message": "Enable profiled guided compilation in dex2oat\n\n- add parsing of the profile info saved during JIT\n- don\u0027t compile methods which are not part of the profile info.\n- delete old profile hooks\n\nChange-Id: I45a13c3aeb36265d335e57cd160b9ea0fab3cbb5\n"
    },
    {
      "commit": "31f2c155975c5794d481df03eb0947cb48d2c6b5",
      "tree": "b0ed3a2235fc115f73060ab4b51bda31e3ada596",
      "parents": [
        "22c20ef131812a6e7ff01f8c57ffe1eb0942fc39"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Oct 23 17:56:15 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Nov 24 19:31:16 2015 +0000"
      },
      "message": "Save jit profiling info to file.\n\nCurrently saves only the hot method references and omits the inline\ncache.\n\nChange-Id: I79e91f855f6b52dc19a9a86662604f2eee16613c\n"
    }
  ]
}
