)]}'
{
  "log": [
    {
      "commit": "bcd94c8ea9bde4e075c25fbdfb3a2ef6858eed7b",
      "tree": "2719f29261e1fced1c94ef309e12230ef103a79e",
      "parents": [
        "e283588e56df7eebabd795b98264003105b20ece"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 03 13:23:33 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 03 14:02:16 2016 +0000"
      },
      "message": "Refine statistics around the JIT.\n\n- Better namings.\n- Now also time the code cache collection time.\n- Random cleanups.\n\nbug:23128949\nbug:27445008\nbug:27442890\n\nChange-Id: I1dd52544bea678af868e7c47907f7a0fc9a146c3\n"
    },
    {
      "commit": "e283588e56df7eebabd795b98264003105b20ece",
      "tree": "56572fedc4552ec3ddbca891c2e3923f3a5befc6",
      "parents": [
        "e4cec517faf1c74d6895e0e5b512a6e2f83a0e06",
        "1e7da9bd04bdd2664a4196f1d7e285c010f8881f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 03 09:26:46 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 03 09:26:46 2016 +0000"
      },
      "message": "Merge \"Do a TryLock when allocating a ProfilingInfo from the interpreter.\""
    },
    {
      "commit": "e4cec517faf1c74d6895e0e5b512a6e2f83a0e06",
      "tree": "59ca33857bb6b232eb795028f58f6a0b094f4bdc",
      "parents": [
        "0b136ac861fbf9e8b97ded8a7a3ae316f46078e4",
        "0b8b4a609120b90081d898dbf3c26f68fe80de96"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 02 22:01:28 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 02 22:01:28 2016 +0000"
      },
      "message": "Merge \"Delete alloc tracking map outside of critical section\""
    },
    {
      "commit": "0b8b4a609120b90081d898dbf3c26f68fe80de96",
      "tree": "3ce5726465ef095245e6d0acb2465e47b11f4629",
      "parents": [
        "6ba1d6834c7457cccf00e2a8faf4846b23a05094"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 02 12:52:37 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 02 13:53:16 2016 -0800"
      },
      "message": "Delete alloc tracking map outside of critical section\n\nThere can be lock order violations otherwise due to runtime shutdown\nlock that may get acquired in the condition variable destructor.\n\nChange-Id: I23cb2dfe241f5cc6c42bf6766e89042cf06069b6\n"
    },
    {
      "commit": "b5e8ade3b6bf2162a885133f2ac728c578c3c2b0",
      "tree": "328252a5eba3615246ec12dc7d55cf1961253358",
      "parents": [
        "0344f4e1bd62eb092d77840ec7d9cb48adb48a15",
        "00b53b7f3f9ce5996b767b52c28dd846f47a723c"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Mar 02 20:17:51 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 02 20:17:52 2016 +0000"
      },
      "message": "Merge \"Fast ART MIPS64 interpreter\""
    },
    {
      "commit": "0344f4e1bd62eb092d77840ec7d9cb48adb48a15",
      "tree": "446fe94c19beb7290aabbef3ab5e279548923de5",
      "parents": [
        "6ba1d6834c7457cccf00e2a8faf4846b23a05094",
        "511e41b4ec2d378a5c434598ebd0b3d6136fff9d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 02 19:47:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 02 19:47:54 2016 +0000"
      },
      "message": "Merge \"Clear inline caches if a ProfilingInfo gets revived.\""
    },
    {
      "commit": "5b83050affa6a3b1d3863c0b903f9d48fe4aefb2",
      "tree": "6ffce3adefced9b6ab9f019327e542e0535e225e",
      "parents": [
        "a71ec6419d9e80b354de721003c8b7929d224a49"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 02 10:30:23 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 02 10:47:20 2016 -0800"
      },
      "message": "Fix potential linear alloc memory leak\n\nPreviously, if we created a linear alloc for a class loader but\nnever created the class table, the linear alloc would never get\nfreed since it would have no corresponding ClassLoaderData.\n\nFixes valgrind-test-art-host-gtest-oat_test\n\nBug: 27384882\nChange-Id: Ic8f35b58c3117127a39521b6b9d25ef12c72040c\n"
    },
    {
      "commit": "511e41b4ec2d378a5c434598ebd0b3d6136fff9d",
      "tree": "e1b9d4e67ae2226d6f6abfb452daf837b619d151",
      "parents": [
        "785eeae66ebeb68d05878add2777df855846a1e2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 02 17:09:35 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 02 17:45:47 2016 +0000"
      },
      "message": "Clear inline caches if a ProfilingInfo gets revived.\n\nThis avoids stalled class references.\n\nBug: 27398183\nBug: 23128949\nBug: 26846185\nChange-Id: I9539215241708e26fef887e02201ce1feabc2d1a\n"
    },
    {
      "commit": "52d6810e592aad55e411d9af7e645d7abd02fe36",
      "tree": "028d79d78339d1aa82364f189f10fafc7cee8b61",
      "parents": [
        "00e94fb884eb0c58e75a623b0fd26330a9327f1e",
        "35122443e5f8606cc5a660ac32745a06aefb341b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 02 16:39:08 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 02 16:39:08 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Use the interpreter as a heartbeat for the JIT.\"\"\""
    },
    {
      "commit": "35122443e5f8606cc5a660ac32745a06aefb341b",
      "tree": "be44db33797ae729342c671fb95b7746e363e799",
      "parents": [
        "f9f3c5b0ebacbfed59af9c5c81fe9752e6b1258c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 02 12:05:30 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 02 16:35:18 2016 +0000"
      },
      "message": "Revert \"Revert \"Use the interpreter as a heartbeat for the JIT.\"\"\n\nBug: 27398183\nBug: 23128949\nBug: 26846185\n\nThis reverts commit a96917a6983a5abbe973255a3846fda549fb1657.\n\nChange-Id: I5c4f0d87d3293a6a7ab56a33396670704b66a347\n"
    },
    {
      "commit": "00b53b7f3f9ce5996b767b52c28dd846f47a723c",
      "tree": "f0f5edd96d6b4b2256955fe78aad4b2f1da0b45f",
      "parents": [
        "00e94fb884eb0c58e75a623b0fd26330a9327f1e"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Tue Feb 02 20:25:45 2016 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Mar 02 08:04:30 2016 -0800"
      },
      "message": "Fast ART MIPS64 interpreter\n\nChange-Id: I5dda522df0acf9f9df626fe4f5ecfe6c4df600d3\n"
    },
    {
      "commit": "00e94fb884eb0c58e75a623b0fd26330a9327f1e",
      "tree": "b4b98244dffd70273ad7f65b0e04cad8505b6750",
      "parents": [
        "15427ae9ca187b6513cb72caab07c09f517a982a",
        "c8705a7801338b85cf9a8f8908b9e92a3283b114"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Mar 02 15:53:46 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 02 15:53:46 2016 +0000"
      },
      "message": "Merge \"ART: Enable JitProfiling for x86_64 Mterp\""
    },
    {
      "commit": "3d4770c4577107caab23ba40547124c993e21c38",
      "tree": "9b76f236f94f608b00a857ead3e2a622ecab7d81",
      "parents": [
        "8d468e351e42e8424f93746d9ee183f8cff01ec2",
        "0c659394d1ee74d28157c42656b31ea48cb54f8b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 02 10:27:22 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 02 10:27:22 2016 +0000"
      },
      "message": "Merge \"Revert \"ART: Allow unwinding unattached threads\"\""
    },
    {
      "commit": "0c659394d1ee74d28157c42656b31ea48cb54f8b",
      "tree": "ed0a002d71f059a87957b851b710554b4ed2b561",
      "parents": [
        "f7286721a51c772b2abb42fef5bc0d2548df2372"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 02 10:27:01 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 02 10:27:01 2016 +0000"
      },
      "message": "Revert \"ART: Allow unwinding unattached threads\"\n\nThis reverts commit f7286721a51c772b2abb42fef5bc0d2548df2372.\n\nChange-Id: I6c96ece063041e94d40a96bdd054f89cd7875ade\n"
    },
    {
      "commit": "8d468e351e42e8424f93746d9ee183f8cff01ec2",
      "tree": "ffc658cbd3ffc6875b90103e1d41fc66e75aad69",
      "parents": [
        "e33785cd73b8af1e0ce3a46caf731711cac454ce",
        "25e0456b6ea13eba290b63ea88b6b7120ed89413"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 02 09:39:06 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 02 09:39:06 2016 +0000"
      },
      "message": "Merge \"Give the JIT its own arena pool to avoid lock contentions.\""
    },
    {
      "commit": "c8705a7801338b85cf9a8f8908b9e92a3283b114",
      "tree": "f5e634dba2b258e6585f304cff0952622b5504b0",
      "parents": [
        "f4849547579504fc660fe601687f7c60242473bb"
      ],
      "author": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Fri Feb 26 13:00:40 2016 +0600"
      },
      "committer": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Wed Mar 02 12:07:03 2016 +0600"
      },
      "message": "ART: Enable JitProfiling for x86_64 Mterp\n\nAdds branch profiling and enables for x86_64.\nSupport interpreter switching in x86_64 mterp.\n\nChange-Id: I0cb9fcf3e2a01e411d84efc78449e86c10e6bcac\nSigned-off-by: Serguei Katkov \u003cserguei.i.katkov@intel.com\u003e\n"
    },
    {
      "commit": "f4849547579504fc660fe601687f7c60242473bb",
      "tree": "95ba1ab57779a778ade3f48e38745756ab120e9b",
      "parents": [
        "c3fe420c57689e613e80e5b4033649d19f800e21",
        "f7286721a51c772b2abb42fef5bc0d2548df2372"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 02 05:00:05 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 02 05:00:05 2016 +0000"
      },
      "message": "Merge \"ART: Allow unwinding unattached threads\""
    },
    {
      "commit": "78fb377733796e4a203bc3530ef7dfc6df104245",
      "tree": "d8bf4f2885f6ed2c359b08851fedd8b7f2238eb1",
      "parents": [
        "bbc300c4c59ebf9541f04c67bdff0c257c43805d",
        "eebc3af4453f5c1fb5fd80c710cfd49566080d28"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 02 01:40:52 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 02 01:40:52 2016 +0000"
      },
      "message": "Merge \"Fix allocation tracking race\""
    },
    {
      "commit": "eebc3af4453f5c1fb5fd80c710cfd49566080d28",
      "tree": "b4b679247bbee26fef7a818514a09849670090af",
      "parents": [
        "73e31f8ae826be5b9b0c3c216abb904cbfa71077"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Feb 29 18:13:38 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Mar 01 17:25:02 2016 -0800"
      },
      "message": "Fix allocation tracking race\n\nCheck if changed from uninstrumented to instrumented during GC for\nalloc. If we changed, retry the allocation with kInstrumented \u003d true.\n\nAdded stress test.\n\nBug: 27337759\n\nChange-Id: Iaad7977693c9ed927f779a66b29cd58341a837da\n"
    },
    {
      "commit": "9e927f57415372591bab2a5c7af2520204902ca4",
      "tree": "3789604f5c0edb89e2fbe2871ebaf2348111860f",
      "parents": [
        "73e31f8ae826be5b9b0c3c216abb904cbfa71077"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Feb 29 20:49:38 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 01 14:41:51 2016 -0800"
      },
      "message": "Lower JIT thread priority\n\nModify the JIT thread to run at a lower priority in order to allow\nUI-critical threads to get enough CPU time.\n\nBug: 27417985\n\n(cherry picked from commit e701f088f8fe3a2c1f16e2895402f26283f4bcc7)\n\nChange-Id: I5b962a7970ae81dac9e01a8011128c538cd78e40\n"
    },
    {
      "commit": "f7286721a51c772b2abb42fef5bc0d2548df2372",
      "tree": "6fbcc9b506928dc77300b7e3a60c1abc6b6a4604",
      "parents": [
        "73e31f8ae826be5b9b0c3c216abb904cbfa71077"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 01 14:38:37 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 01 14:38:37 2016 -0800"
      },
      "message": "ART: Allow unwinding unattached threads\n\nPartial revert of commit ed8b723c5f3989d2593ec21c65c96d6d8bf25579.\n\nMake it (constexpr) configurable whether we allow unwinding native\nstacks of unattached threads.\n\nChange-Id: Ibb1fd0956fb796583f78ec9c3a74521f6fbe96d9\n"
    },
    {
      "commit": "73e31f8ae826be5b9b0c3c216abb904cbfa71077",
      "tree": "ed0a002d71f059a87957b851b710554b4ed2b561",
      "parents": [
        "a8fde8e67dc8d15a436db16c7bbe201dbb249290",
        "a96917a6983a5abbe973255a3846fda549fb1657"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 01 22:18:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 01 22:18:18 2016 +0000"
      },
      "message": "Merge \"Revert \"Use the interpreter as a heartbeat for the JIT.\"\""
    },
    {
      "commit": "a96917a6983a5abbe973255a3846fda549fb1657",
      "tree": "aa03a2a6d0f70faa20f3579458abde24f71abb04",
      "parents": [
        "7273a5d045d3ceb3ff011ad65765356b69b155e8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 01 22:18:02 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 01 22:18:02 2016 +0000"
      },
      "message": "Revert \"Use the interpreter as a heartbeat for the JIT.\"\n\nHits a DCHECK testing libcore.\n    art F 11973 12675 art/runtime/jit/jit_code_cache.cc:644] Check failed: it.second-\u003eGetProfilingInfo(sizeof(void*)) !\u003d nullptr \n\n\nBug: 27398183\nBug: 23128949\nBug: 26846185\n\nThis reverts commit 7273a5d045d3ceb3ff011ad65765356b69b155e8.\n\nChange-Id: I6614a82e775ea71aa16f041313f67546db41eac8\n"
    },
    {
      "commit": "a8fde8e67dc8d15a436db16c7bbe201dbb249290",
      "tree": "bf14962581bc8d070d51c05f51f9a910ef7d5c1b",
      "parents": [
        "06d111517419aabb9835f5f003352497ff16dfb9",
        "034eb1a6ae870d53f9b3774e416ebbbd9859fdda"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 01 22:16:55 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 01 22:16:55 2016 +0000"
      },
      "message": "Merge \"Revert \"Fix bogus interaction between code cache and instrumentation.\"\""
    },
    {
      "commit": "034eb1a6ae870d53f9b3774e416ebbbd9859fdda",
      "tree": "bacb31729cc86d232cf300a52c51949eaa1dd5c8",
      "parents": [
        "e9924b7d4fcafe7261233d2c16ebb73d7bb5e8e8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 01 22:16:35 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 01 22:16:35 2016 +0000"
      },
      "message": "Revert \"Fix bogus interaction between code cache and instrumentation.\"\n\nhits a DCHECK when testing libcore:\n    art F 11973 12675 art/runtime/jit/jit_code_cache.cc:644] Check failed: it.second-\u003eGetProfilingInfo(sizeof(void*)) !\u003d nullptr \n\n\nThis reverts commit e9924b7d4fcafe7261233d2c16ebb73d7bb5e8e8.\n\nChange-Id: I37d05991b9506a53a7c76738a7e4a6def1010958\n"
    },
    {
      "commit": "d0ea91213cd821302237f620caa03d3dcfe52e4f",
      "tree": "259a3c21b408f33ff33049a951160fc921d6b014",
      "parents": [
        "7191fddfe6c623976dc8a97f785e3ce848e46d39",
        "e9924b7d4fcafe7261233d2c16ebb73d7bb5e8e8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 01 18:51:27 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 01 18:51:27 2016 +0000"
      },
      "message": "Merge \"Fix bogus interaction between code cache and instrumentation.\""
    },
    {
      "commit": "e9924b7d4fcafe7261233d2c16ebb73d7bb5e8e8",
      "tree": "d152008494dca4aae2360c5bfdb059faf2eaa0a0",
      "parents": [
        "01f4dae0b455f03ae3ba531a37eff5e4e8e9451f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 01 18:43:46 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 01 18:43:46 2016 +0000"
      },
      "message": "Fix bogus interaction between code cache and instrumentation.\n\nChange-Id: Icc314089ec1a05248b8994476d478a543e629e4d\n"
    },
    {
      "commit": "7191fddfe6c623976dc8a97f785e3ce848e46d39",
      "tree": "2b4283da97295eb7612c7302c9c1fe4e9a5dba90",
      "parents": [
        "a2313aa47096ea59ffb661d5afc7ff792bab22d6",
        "6cbe0814952bd3bbb329c4ca4dc683ac87c2c2de"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Mar 01 18:19:42 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 01 18:19:42 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Fast ART x86_64 interpretator\"\"\""
    },
    {
      "commit": "462678629165f16df563b31b232d3f4ff69a7c23",
      "tree": "127e08d3dac2ecc70ce675288c39c08a484b7f98",
      "parents": [
        "01f4dae0b455f03ae3ba531a37eff5e4e8e9451f",
        "897338d7eaf5059f481d581e3c795068ae64d8b3"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Mar 01 15:35:07 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 01 15:35:08 2016 +0000"
      },
      "message": "Merge \"x86 Fast Interpreter: Fix CFI\""
    },
    {
      "commit": "01f4dae0b455f03ae3ba531a37eff5e4e8e9451f",
      "tree": "bacb31729cc86d232cf300a52c51949eaa1dd5c8",
      "parents": [
        "4cb069fa2fd967312d5884b86bbdac343df9eb28",
        "7273a5d045d3ceb3ff011ad65765356b69b155e8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 01 15:17:42 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 01 15:17:42 2016 +0000"
      },
      "message": "Merge \"Use the interpreter as a heartbeat for the JIT.\""
    },
    {
      "commit": "4cb069fa2fd967312d5884b86bbdac343df9eb28",
      "tree": "9873012d491191a20ad719a7a2b577f462554c2e",
      "parents": [
        "411539c65c2f3462812f8dbc4a29b75469dadc12",
        "42ad288254e660ad091d03fad8c8fbad1d34ec89"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Mar 01 14:38:42 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 01 14:38:42 2016 +0000"
      },
      "message": "Merge \"Fix the signature of the IndexOf entry point.\""
    },
    {
      "commit": "1e7da9bd04bdd2664a4196f1d7e285c010f8881f",
      "tree": "4d028a231ecbc684eebe1b4a5a3022ff46801769",
      "parents": [
        "09294dc760d77d64ea4168c1fd6d96fbfbe38018"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 01 14:11:40 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 01 14:13:17 2016 +0000"
      },
      "message": "Do a TryLock when allocating a ProfilingInfo from the interpreter.\n\nThis removes some thread contentions just for allocating ProfilingInfo.\n\nbug:23128949\n\nChange-Id: I9ff7d44c4b0ee272425cf4c6248d3065f67958f3\n"
    },
    {
      "commit": "7273a5d045d3ceb3ff011ad65765356b69b155e8",
      "tree": "addf5dcdc82e54605cfb9a622d284bf06b849327",
      "parents": [
        "c3bcf40e905c53ec857ec40a9ae45f4c86738929"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 29 15:35:39 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 01 14:03:32 2016 +0000"
      },
      "message": "Use the interpreter as a heartbeat for the JIT.\n\nWhen doing a partial code cache collection, update all entrypoints to\ninterpreter, so that the next full collection will remove code\nthat wasn\u0027t executed during that window.\n\nbug:27398183\nbug:23128949\nbug:26846185\n\nChange-Id: I4423f5c4810dac183dc8973078bf218818745e80\n"
    },
    {
      "commit": "25e0456b6ea13eba290b63ea88b6b7120ed89413",
      "tree": "212c7433997a9e498ce68136ab511ae366e983e9",
      "parents": [
        "47bce25b3eaf5c0e1d46f0555eaf4676f958a7a7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 01 13:17:58 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 01 13:17:58 2016 +0000"
      },
      "message": "Give the JIT its own arena pool to avoid lock contentions.\n\nSharing it with the verifier and the class loader is not ideal,\nespecially at startup time.\n\nbug:27398183\nbug:23128949\nChange-Id: I1b91663a13f6c5b33ad3b4be780d93eb7fe445b4\n"
    },
    {
      "commit": "2a524bd724d746aa807bf891cc379ad6abd81b64",
      "tree": "8b6ad30de6c5d28d93f8942cca4e319075718a43",
      "parents": [
        "47bce25b3eaf5c0e1d46f0555eaf4676f958a7a7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 01 12:18:47 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 01 12:18:47 2016 +0000"
      },
      "message": "Dump more information to diagnose problem.\n\nbug:27424509\nChange-Id: Id502cf408a7f117a2a891534f5c999d60f9370b1\n"
    },
    {
      "commit": "897338d7eaf5059f481d581e3c795068ae64d8b3",
      "tree": "8172fd92983d3be553b9cf482ce993fb92a1ec04",
      "parents": [
        "9f03916ff79dca0d529a39c0202b67ac256cf9df"
      ],
      "author": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Tue Mar 01 15:53:22 2016 +0600"
      },
      "committer": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Tue Mar 01 16:33:53 2016 +0600"
      },
      "message": "x86 Fast Interpreter: Fix CFI\n\nWith this change gdb can fall through x86 Fast Interpreter frame.\n\nChange-Id: Ia5efe0059ecbdb09491d37ab47367e222d29f1d3\nSigned-off-by: Serguei Katkov \u003cserguei.i.katkov@intel.com\u003e\n"
    },
    {
      "commit": "47bce25b3eaf5c0e1d46f0555eaf4676f958a7a7",
      "tree": "fa7455dbac260e764d20b0f02e312c3ba7800024",
      "parents": [
        "757701fc80dfe35ff9677c858b3d85e946e1ae36",
        "cc3839c15555a2751e13980638fc40e4d3da633e"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Mar 01 10:24:08 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 01 10:24:08 2016 +0000"
      },
      "message": "Merge \"Improve documentation about StringFactory.newStringFromChars.\""
    },
    {
      "commit": "6cbe0814952bd3bbb329c4ca4dc683ac87c2c2de",
      "tree": "cdfac167046bf0da3b2bb372a756aceff42835b5",
      "parents": [
        "757701fc80dfe35ff9677c858b3d85e946e1ae36"
      ],
      "author": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Tue Mar 01 16:10:48 2016 +0600"
      },
      "committer": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Tue Mar 01 16:16:22 2016 +0600"
      },
      "message": "Revert \"Revert \"Fast ART x86_64 interpretator\"\"\n\nCFI is updated. Now unwinder can fall through fast interpreter.\n\nThis reverts commit c4a575f58007036ff3408b15c2ec48108add20f3.\n\nChange-Id: Ibb0a2ef41e4d02ab0b4ecc4f030ba0e72971aa9d\nSigned-off-by: Serguei Katkov \u003cserguei.i.katkov@intel.com\u003e\n"
    },
    {
      "commit": "9f03916ff79dca0d529a39c0202b67ac256cf9df",
      "tree": "eec5d3f396017e4456c41335f103d2c4e9393356",
      "parents": [
        "f2493846a85b596f1994ce4dd294f80d363879d7",
        "200f040af3e4fe9e178cb63c90860d58d90ef665"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Feb 29 18:54:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 29 18:54:10 2016 +0000"
      },
      "message": "Merge \"[MIPS] Add Fast Art interpreter for Mips32.\""
    },
    {
      "commit": "032c0051eb47f1f62586602894e5833356f4f9ec",
      "tree": "5b867c1f5ce6a89c18bdc81b0618b9589d134fc0",
      "parents": [
        "a48224f32797b234f07d78fbbede5edbb212ceab"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Feb 28 13:10:58 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Feb 29 10:40:19 2016 -0800"
      },
      "message": "Revert \"Revert \"Improve immune spaces logic\"\"\n\nTest was flaky due to missing guard page at the end of the region.\n\nBug: 27136196\n\nThis reverts commit 07dbbca0b42cb8da1811de8209b4a7d4becfc7b2.\n\nChange-Id: I4eb345f34e66b8684cd71a7897e3a8caa2f84140\n"
    },
    {
      "commit": "42ad288254e660ad091d03fad8c8fbad1d34ec89",
      "tree": "6b5707f3d407f240b8e9df61c28b03f64d320c5b",
      "parents": [
        "c3bcf40e905c53ec857ec40a9ae45f4c86738929"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Feb 29 18:26:54 2016 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Feb 29 18:26:54 2016 +0000"
      },
      "message": "Fix the signature of the IndexOf entry point.\n\nThe IndexOf entry point was declared as taking four\narguments (void*, uint32_t, uint32_t, uint32_t) whereas all\nactual implementations use three arguments (void*, uint32_t,\nuint32_t).  As that fourth argument is not documented, drop\nit from the intrinsic declaration to have it match the\nimplementations.\n\nChange-Id: I65d747033192025ccd2b9a5e8f8ed05b77a21941\n"
    },
    {
      "commit": "cc3839c15555a2751e13980638fc40e4d3da633e",
      "tree": "4068f602067f7a7f2a3ef5d0655c2aa4ee81e1a4",
      "parents": [
        "c3bcf40e905c53ec857ec40a9ae45f4c86738929"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Feb 29 16:23:48 2016 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Feb 29 16:46:12 2016 +0000"
      },
      "message": "Improve documentation about StringFactory.newStringFromChars.\n\nMake it clear that the native method requires its third\nargument to be non-null, and therefore that the intrinsics\ndo not need a null check for it.\n\nBug: 27378573\nChange-Id: Id2f78ceb0f7674f1066bc3f216b738358ca25542\n"
    },
    {
      "commit": "a48224f32797b234f07d78fbbede5edbb212ceab",
      "tree": "39f331bb00b902736c5f5ed169cdc9bff7b24fac",
      "parents": [
        "d8e6d82adb9027bfa34958b22301a7d53142edad",
        "07dbbca0b42cb8da1811de8209b4a7d4becfc7b2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Feb 27 11:30:49 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 27 11:30:49 2016 +0000"
      },
      "message": "Merge \"Revert \"Improve immune spaces logic\"\""
    },
    {
      "commit": "07dbbca0b42cb8da1811de8209b4a7d4becfc7b2",
      "tree": "77a5f4d06e4813c495420d6749cd9a928ac38dba",
      "parents": [
        "17b8bce064fe4c0b29117abe489b7f8c2c950d43"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Feb 27 11:30:25 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Feb 27 11:30:25 2016 +0000"
      },
      "message": "Revert \"Improve immune spaces logic\"\n\ntest is flaky. For example:\n\n[ RUN      ] ImmuneSpacesTest.MultiImage\nart/runtime/gc/collector/immune_spaces_test.cc:351: Failure\nValue of: space5-\u003eLimit()\n  Actual: 0xb6d72000\nExpected: reinterpret_cast\u003cuint8_t*\u003e(spaces.GetLargestImmuneRegion().End())\nWhich is: 0xb6d93000\n[  FAILED  ] ImmuneSpacesTest.MultiImage (1076 ms)\n\nBug: 27136196\n\nThis reverts commit 17b8bce064fe4c0b29117abe489b7f8c2c950d43.\n\nChange-Id: I9168421dd6ebabc271ed5c2cdbc5a27c211dcf5a\n"
    },
    {
      "commit": "d8e6d82adb9027bfa34958b22301a7d53142edad",
      "tree": "81b0753ce414192a055119056d00cf0cbef3f65d",
      "parents": [
        "0002311638d67025382d7697f36b8221b1fda734",
        "17b8bce064fe4c0b29117abe489b7f8c2c950d43"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Feb 27 01:22:19 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 27 01:22:19 2016 +0000"
      },
      "message": "Merge \"Improve immune spaces logic\""
    },
    {
      "commit": "17b8bce064fe4c0b29117abe489b7f8c2c950d43",
      "tree": "6f50d4672163cce20080cfb6eb566b974aa5e729",
      "parents": [
        "c37a3eb8180d6488466961239eabc9ab0712bd05"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Feb 22 19:32:16 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Feb 26 17:20:00 2016 -0800"
      },
      "message": "Improve immune spaces logic\n\nWe now properly include the largest continuous region with the most\nimage bytes. Oat bytes are considered as part of the region but are\nnot counted when comparing. This can result in more image bytes in\ncases where large oat files were previously included for the immune\nregion.\n\nAlso added handling for adjacent oat files:\n[image][image][oat][oat][space] will now properly be a single region.\n\nBug: 27136196\nChange-Id: If2c002176dd32122e320e8a94551df46bd95256a\n"
    },
    {
      "commit": "0002311638d67025382d7697f36b8221b1fda734",
      "tree": "39f331bb00b902736c5f5ed169cdc9bff7b24fac",
      "parents": [
        "420ae23220a58f6146aa321f91c11e6549f8fd7b",
        "bc4d218ce2ceef0c4f308d4ff42f7ec1ec43c40e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Feb 26 23:44:02 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 26 23:44:02 2016 +0000"
      },
      "message": "Merge \"ART: Add unstarted-runtime functions\""
    },
    {
      "commit": "bc4d218ce2ceef0c4f308d4ff42f7ec1ec43c40e",
      "tree": "a583db9be377183508653607a724dcb8742f4ca2",
      "parents": [
        "01c30e8dbc45bdc5d922cef6e5a404be7bed0e8c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Feb 22 10:03:12 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Feb 26 15:43:14 2016 -0800"
      },
      "message": "ART: Add unstarted-runtime functions\n\nAdd more functions to allow compile-time initialization of\ncode.\n\nBug: 27248115\n\n(cherry picked from commit 0866f4ed6338faa4a193b7e819fc7cd72bd7b0ae)\n\nChange-Id: Iaf8d92deb73547ccd31c0d6dde68da3bc14c3985\n"
    },
    {
      "commit": "420ae23220a58f6146aa321f91c11e6549f8fd7b",
      "tree": "63b0580200da6950e0693c319490699b03cf5ae4",
      "parents": [
        "4f626cd1d2375df98dd5286fe875ba87f802e058",
        "4a28e1e4e02aa44aa6fd20e22d50f9d73f6279cc"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Feb 26 23:35:49 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 26 23:35:50 2016 +0000"
      },
      "message": "Merge \"Support new JDWP InterfaceType.InvokeMethod command\""
    },
    {
      "commit": "4f626cd1d2375df98dd5286fe875ba87f802e058",
      "tree": "e12d355662be56911e298edc40a5ff7d60c660ab",
      "parents": [
        "da11cef6fb6d8a9e08cb445576a50abff8773a25",
        "c5dd319c574f67d11a71f1b60ac6c34bfe93b750"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Feb 26 22:23:38 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 26 22:23:38 2016 +0000"
      },
      "message": "Merge \"Add and use loaded class profiling\""
    },
    {
      "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": "da11cef6fb6d8a9e08cb445576a50abff8773a25",
      "tree": "4f39b571b5d47ad0e6f8b9bafd1459715299e779",
      "parents": [
        "48a13431f09ff9bbdcd1ee991da6a04e694c5134",
        "7e1ce285c3c2cbd8d97c744699c2f2347fa7487b"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Feb 26 20:03:27 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 26 20:03:27 2016 +0000"
      },
      "message": "Merge \"Assembly TLAB allocation fast path for arm.\""
    },
    {
      "commit": "1bdfdb3e879267dafb4b6811dd70cc8b7511fe15",
      "tree": "a3b0985c44ac215b36e163da83241a0cc9af9d8f",
      "parents": [
        "01c30e8dbc45bdc5d922cef6e5a404be7bed0e8c",
        "2a6aad9d388bd29bff04aeec3eb9429d436d1873"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Feb 26 18:27:29 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 26 18:27:29 2016 +0000"
      },
      "message": "Merge \"Implement fp to bits methods as intrinsics.\""
    },
    {
      "commit": "2a6aad9d388bd29bff04aeec3eb9429d436d1873",
      "tree": "a5fa70df33d410af1be1064c460b6e34f07caf93",
      "parents": [
        "9ec486cc08ad658eee33f9bde405b97502562840"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Feb 25 11:32:32 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Feb 26 09:16:07 2016 -0800"
      },
      "message": "Implement fp to bits methods as intrinsics.\n\nRationale:\nBetter optimization, better performance.\n\nResults on libcore benchmark:\n\nMost gain is from moving the invariant call out of the loop\nafter we detect everything is a side-effect free intrinsic.\nBut generated code in general case is much cleaner too.\n\nBefore:\ntimeFloatToIntBits() in 181 ms.\ntimeFloatToRawIntBits() in 35 ms.\ntimeDoubleToLongBits() in 208 ms.\ntimeDoubleToRawLongBits() in 35 ms.\n\nAfter:\ntimeFloatToIntBits() in 36 ms.\ntimeFloatToRawIntBits() in 35 ms.\ntimeDoubleToLongBits() in 35 ms.\ntimeDoubleToRawLongBits() in 34 ms.\n\nbug\u003d11548336\n\nChange-Id: I6e001bd3708e800bd75a82b8950fb3a0fc01766e\n"
    },
    {
      "commit": "01c30e8dbc45bdc5d922cef6e5a404be7bed0e8c",
      "tree": "45d5c735386d3253e65a986b15e3eab9b9bf75cd",
      "parents": [
        "af86c4e44184bd17411de330d48aad7784d569d4",
        "a1de9188a05afdecca8cd04ecc4fefbac8b9880f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 26 16:39:57 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 26 16:39:57 2016 +0000"
      },
      "message": "Merge \"Optimizing: Reduce memory usage of HInstructions.\""
    },
    {
      "commit": "a1de9188a05afdecca8cd04ecc4fefbac8b9880f",
      "tree": "a671c8aef814ccf194e5c3950a551f2711516c53",
      "parents": [
        "950d063395c7cecbbe372fd607468018d661a35c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Feb 25 11:37:38 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 26 16:01:59 2016 +0000"
      },
      "message": "Optimizing: Reduce memory usage of HInstructions.\n\nPack narrow fields and flags into a single 32-bit field.\n\nChange-Id: Ib2f7abf987caee0339018d21f0d498f8db63542d\n"
    },
    {
      "commit": "af86c4e44184bd17411de330d48aad7784d569d4",
      "tree": "1bd33a10719b05d3eeefa6885f70a82759490956",
      "parents": [
        "8744d24d5b3ae63e2d822b30aaa12845c94d8076",
        "481352dea337cb882615c940c85d1b26fd65c0ac"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Feb 26 14:10:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 26 14:10:54 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"ART: Support interpreter switching in x86 mterp\"\"\""
    },
    {
      "commit": "15315abf91c94a4ebb0a64050f2753798b34bc1f",
      "tree": "851f18eeb8b6401793051d5f52dfad1f7e69f965",
      "parents": [
        "3140ed59665d2ecea1e3ff153363ff26dab48b75",
        "c4a575f58007036ff3408b15c2ec48108add20f3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 26 08:57:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 26 08:57:18 2016 +0000"
      },
      "message": "Merge \"Revert \"Fast ART x86_64 interpretator\"\""
    },
    {
      "commit": "c4a575f58007036ff3408b15c2ec48108add20f3",
      "tree": "c08cc40abef82342c73019be6a52dc37561c0c44",
      "parents": [
        "c669beb798e273dd3d44cfa6a7a95ff90eba7209"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 26 08:56:45 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 26 08:56:45 2016 +0000"
      },
      "message": "Revert \"Fast ART x86_64 interpretator\"\n\nFails gcstress configuration.\n\nThis reverts commit c669beb798e273dd3d44cfa6a7a95ff90eba7209.\n\nChange-Id: Ifac92471f91a116fc271d0dde8356fbbb0a08048\n"
    },
    {
      "commit": "200f040af3e4fe9e178cb63c90860d58d90ef665",
      "tree": "ee57a9a9fe55bb8c4c333d3f87d245517913e31f",
      "parents": [
        "8ff01690eb2796604b8927076fdde7452b4c8a60"
      ],
      "author": {
        "name": "Douglas Leung",
        "email": "douglas.leung@imgtec.com",
        "time": "Thu Feb 25 20:05:47 2016 -0800"
      },
      "committer": {
        "name": "Douglas Leung",
        "email": "douglas.leung@imgtec.com",
        "time": "Thu Feb 25 20:05:47 2016 -0800"
      },
      "message": "[MIPS] Add Fast Art interpreter for Mips32.\n\nChange-Id: I6b9714dc8c01b8c9080bcba175faec1d2de08f8f"
    },
    {
      "commit": "3140ed59665d2ecea1e3ff153363ff26dab48b75",
      "tree": "2bf229bbfa9bf5fb1e525beab2885b5f2871e304",
      "parents": [
        "36be5c503c21f4dbd1998f0c0b72e00e6cedd8fa",
        "a6e81ed4c185b7362cd5199ebe5507d00883a9b0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Feb 26 00:44:06 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 26 00:44:07 2016 +0000"
      },
      "message": "Merge \"Add lz4hc image compression format\""
    },
    {
      "commit": "36be5c503c21f4dbd1998f0c0b72e00e6cedd8fa",
      "tree": "5ed5f60d13ed5fe97de98501877d975a3ec3137a",
      "parents": [
        "eea36cb923b078b86c7b5033ce75fe1b8ea4e522",
        "c669beb798e273dd3d44cfa6a7a95ff90eba7209"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Feb 25 23:18:19 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 25 23:18:19 2016 +0000"
      },
      "message": "Merge \"Fast ART x86_64 interpretator\""
    },
    {
      "commit": "a6e81ed4c185b7362cd5199ebe5507d00883a9b0",
      "tree": "851f18eeb8b6401793051d5f52dfad1f7e69f965",
      "parents": [
        "eea36cb923b078b86c7b5033ce75fe1b8ea4e522"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 25 13:52:10 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 25 14:55:55 2016 -0800"
      },
      "message": "Add lz4hc image compression format\n\nSmaller than lz4 and decompresses at the same speed. Compression is\na bit slower.\n\nExample saves on old FB APK:\nUncompressed: 44748800 bytes\nLZ4: 12443648 bytes\nLZ4HC: 11055104 bytes\n\nGenerating the image slows down by ~1s per 20MB of image due to\nslower compression. Decompression is about the same speed but there\nshould be a slight speedup since less data needs to be read from\nflash.\n\nAdded test.\n\nBug: 22858531\n\nChange-Id: Ib2704305b9bec5b0ba3b1e871f59f4eedff330b7\n"
    },
    {
      "commit": "7e1ce285c3c2cbd8d97c744699c2f2347fa7487b",
      "tree": "40d525eeda56a05576cb396a72479c366d2d463f",
      "parents": [
        "4e4e64511e530db37b33f450016afe49db3c4b20"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Dec 11 15:46:19 2015 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Feb 25 14:00:48 2016 -0800"
      },
      "message": "Assembly TLAB allocation fast path for arm.\n\nSpeedup (GSS GC with TLAB on N5):\n    BinaryTrees:  1872 -\u003e  796 ms (-57%)\n    MemAllocTest: 2522 -\u003e 2219 ms (-12%)\n\nBug: 9986565\nChange-Id: Icb9d1259461f3abe83a4a82c8aff911937eaf57d\n"
    },
    {
      "commit": "eea36cb923b078b86c7b5033ce75fe1b8ea4e522",
      "tree": "e42b4d5ce5a8c10b5521e46791e7bbaedd96ee44",
      "parents": [
        "9ed87a8f69c3a8fbd47950ccc02a95c223bae5af",
        "31317c319667cf1d7d0f61229ccb5e76f22606cf"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 25 21:55:13 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 25 21:55:13 2016 +0000"
      },
      "message": "Merge \"Add a decompression scoped timing for image loading\""
    },
    {
      "commit": "9ed87a8f69c3a8fbd47950ccc02a95c223bae5af",
      "tree": "1b157a4cbd2c2a9ff75fc33a242e3ff9945e2f6d",
      "parents": [
        "6d174eebe711d52d59df04890375d3f67bc5682e",
        "6ea1a0e2168c8d9b6d97c075c73a72d84080f45b"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Feb 25 20:55:22 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 25 20:55:23 2016 +0000"
      },
      "message": "Merge \"AOT compile framework code as non-debuggable\""
    },
    {
      "commit": "31317c319667cf1d7d0f61229ccb5e76f22606cf",
      "tree": "a43d293d93b59bdbb256e7080bb60ade8983e093",
      "parents": [
        "9ec486cc08ad658eee33f9bde405b97502562840"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 25 12:28:40 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 25 12:48:22 2016 -0800"
      },
      "message": "Add a decompression scoped timing for image loading\n\nShows up in systrace.\n\nBug: 22858531\nChange-Id: Ic165cd0106dd019c002b600d37560b71b4e351d1\n"
    },
    {
      "commit": "481352dea337cb882615c940c85d1b26fd65c0ac",
      "tree": "1e26cffb1f712cdb5eb89171d8976337509b67a9",
      "parents": [
        "950d063395c7cecbbe372fd607468018d661a35c"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Feb 25 17:37:46 2016 +0000"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Feb 25 10:48:09 2016 -0800"
      },
      "message": "Revert \"Revert \"ART: Support interpreter switching in x86 mterp\"\"\n\nFixes the invoke template.  Previously, it was permitting\nan interpreter switch *before* advancing the Dalvik PC.\nThis meant that on a switch, the invoke would be interpreted\ntwice.\n\nThis reverts commit a14bf4460268064e0adc4bb210d237209be33eaf.\n\nChange-Id: I285d19077c8dd58ce607a4c42ed20549942fab45\n"
    },
    {
      "commit": "4a28e1e4e02aa44aa6fd20e22d50f9d73f6279cc",
      "tree": "a80ef1c63ed7340cdbcb1f802e0cb26f00d2317f",
      "parents": [
        "8ff01690eb2796604b8927076fdde7452b4c8a60"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Feb 24 16:35:59 2016 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Feb 25 09:41:30 2016 -0800"
      },
      "message": "Support new JDWP InterfaceType.InvokeMethod command\n\nThis command is used to invoke static methods in interfaces.\n\nBug: 27218415\n\nChange-Id: Ie4dc1876a20567240267f309dc18f1aec2c1b4c2\n"
    },
    {
      "commit": "6d17995db00460fbb4519adc7496897dbfad373e",
      "tree": "d4511392937e41fef8ad7648280b0a1243e32679",
      "parents": [
        "87265b4af8cdc7258a8f90360cca9fc655548ac5",
        "fcdd72941810f03460a8efca0c6255439be80c35"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 25 16:46:48 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 25 16:46:48 2016 +0000"
      },
      "message": "Merge \"Dump the number of OSR compiled code.\""
    },
    {
      "commit": "950d063395c7cecbbe372fd607468018d661a35c",
      "tree": "2228ad34f135335ae8db758fe7c0d7cd7b84e0bf",
      "parents": [
        "ebd486978e005c994aac3aff90b0a4e0927f1b0a",
        "f1dcaccfac4a9e022ea49752a774552b2f791489"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Feb 25 15:54:27 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 25 15:54:27 2016 +0000"
      },
      "message": "Merge \"ART: Profile all branches for on-stack replacement\""
    },
    {
      "commit": "ebd486978e005c994aac3aff90b0a4e0927f1b0a",
      "tree": "76cbc8681d806d44636f8286e2bf3b2b9de6dc2c",
      "parents": [
        "1de3bb289ba5e8a249840c634ad5eb108b827d69",
        "1bbdfd73a98b149c31f8a80888c7ee9ab2587630"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Feb 25 15:45:58 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 25 15:45:58 2016 +0000"
      },
      "message": "Merge \"Verify encoded stack maps in debug builds.\""
    },
    {
      "commit": "dcedaaa4dc6d05b6044ecef50f2d9bb95575d49c",
      "tree": "bb225ab5b2ceae62765e424b8ece66ae66ae9f71",
      "parents": [
        "7d66ac5038a81554d89f79b419e3a80e63ca1f92",
        "7dc11782ff0a5dffcd8108f256f8975f0b3e8076"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Feb 25 15:15:58 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 25 15:15:59 2016 +0000"
      },
      "message": "Merge \"Implement \u003c\u003c operator for DexRegisterLocation::Kind.\""
    },
    {
      "commit": "1bbdfd73a98b149c31f8a80888c7ee9ab2587630",
      "tree": "f23816b520fd4b2a9b47642ac16bf37c5cec512f",
      "parents": [
        "7dc11782ff0a5dffcd8108f256f8975f0b3e8076"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Feb 24 16:39:26 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Feb 25 14:40:21 2016 +0000"
      },
      "message": "Verify encoded stack maps in debug builds.\n\nRead all stack map data back after we write it and DCHECK the content.\n\nChange-Id: Ia679594ac9e5805f6d4c56686030af153b45ea8b\n"
    },
    {
      "commit": "7dc11782ff0a5dffcd8108f256f8975f0b3e8076",
      "tree": "c3f6463fb378775d9b348f8fcfccfcdb410cfcc2",
      "parents": [
        "99da8cd8818e015b21d1c2af73ac40749698c930"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Feb 25 13:23:56 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Feb 25 14:07:27 2016 +0000"
      },
      "message": "Implement \u003c\u003c operator for DexRegisterLocation::Kind.\n\nThis makes it comparable in DCHECK_EQ and similar methods.\n\nChange-Id: I6b5b237be89325850ae6860d011fd6741189ab01\n"
    },
    {
      "commit": "f1dcaccfac4a9e022ea49752a774552b2f791489",
      "tree": "2e11cbb0bead0b24dd527f307a58a0588e707901",
      "parents": [
        "db11e7ecc9c902ffde6336c261fe236299a81944"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Feb 24 14:24:24 2016 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Feb 25 05:47:09 2016 -0800"
      },
      "message": "ART: Profile all branches for on-stack replacement\n\nChange the switch, goto and mterp interpreters to profile\nnot-taken as well as taken branches.  This allows for on-stack\nreplacement when the cfg has been rearranged such that the loop\nheader was originally the fallthrough of a Dalvik byte-code branch.\n\nNote that this increases the already-heavy cost of branch profiling.\nMeasuring on a Nexus 6 using a very branchy benchmark (logic subtest\nfrom Caffeinemark), we see:\n\n            No profiling     Taken only     Taken \u0026 not-taken\nmterp          9728            3434              2384\nC++ goto       3914            2422              2037\nC++ switch     2986            2411              2112\n\nAs measured, the cost of branch profiling is dominating execution\ntime.  This will be addressed in follow-up CLs.\n\nChange-Id: Ibc858f317398dd991ed8e4f3c3d72bd4c9a60594\n"
    },
    {
      "commit": "7d66ac5038a81554d89f79b419e3a80e63ca1f92",
      "tree": "261d14d2a585fdac0ea7b789e03e027654640ad5",
      "parents": [
        "1470073c3a9ce17a0f7d3167345746d0b8d2202b",
        "a14bf4460268064e0adc4bb210d237209be33eaf"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 25 13:35:36 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 25 13:35:36 2016 +0000"
      },
      "message": "Merge \"Revert \"ART: Support interpreter switching in x86 mterp\"\""
    },
    {
      "commit": "a14bf4460268064e0adc4bb210d237209be33eaf",
      "tree": "177fc8673b271192c86797ba64fb12557520df33",
      "parents": [
        "4429b110c7b4d9bda2c31b4df257e840831d01f6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 25 13:34:18 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 25 13:34:18 2016 +0000"
      },
      "message": "Revert \"ART: Support interpreter switching in x86 mterp\"\n\nFails:\ntest-art-host-run-test-ndebug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-304-method-tracing32\ntest-art-host-run-test-ndebug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-545-tracing-and-jit32\ntest-art-host-run-test-ndebug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-570-checker-osr32\ntest-art-host-run-test-ndebug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-802-deoptimization32\n\nThis reverts commit 4429b110c7b4d9bda2c31b4df257e840831d01f6.\n\nChange-Id: I30c42e22b44bb9c9bbd6efaedbc97516d575bf11\n"
    },
    {
      "commit": "fcdd72941810f03460a8efca0c6255439be80c35",
      "tree": "ce279d446fd5fa4e9dd1e42b53444e991b90ae2f",
      "parents": [
        "1470073c3a9ce17a0f7d3167345746d0b8d2202b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 25 13:27:47 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 25 13:27:47 2016 +0000"
      },
      "message": "Dump the number of OSR compiled code.\n\nChange-Id: I20efc80e8556da8220dab92c3a7947f883d48cf8\n"
    },
    {
      "commit": "7f4ea4895380d9a7fbced84da7af5113de631706",
      "tree": "1a731817130ee0a8f66c0cc9fb2513a66414c91b",
      "parents": [
        "489b1f226466925685cf61466319f9e9024c6e2f",
        "4429b110c7b4d9bda2c31b4df257e840831d01f6"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Feb 25 12:43:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 25 12:43:23 2016 +0000"
      },
      "message": "Merge \"ART: Support interpreter switching in x86 mterp\""
    },
    {
      "commit": "489b1f226466925685cf61466319f9e9024c6e2f",
      "tree": "176452fb7512ad0d47505856a1a54935c78308b8",
      "parents": [
        "57bb557954c58f63de0f065f4d1f1519ef33b090",
        "b0d220835f2ddc03510f17fcc4fb4c64b426a0f5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 25 10:21:34 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 25 10:21:34 2016 +0000"
      },
      "message": "Merge \"Forgot to initialize JIT memory use fields.\""
    },
    {
      "commit": "c66577ece35b73250f2078d8d59ac661a95a63d0",
      "tree": "927de986fc4eeb270428a07fda91569c09ac6abe",
      "parents": [
        "ea9fc5bd31781fb380ace74ccddf2137c7dcc5d9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 25 08:50:50 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 25 08:50:50 2016 +0000"
      },
      "message": "Revert \"Preload public libraries on Runtime::Start()\"\n\nBreaks anyone not working on up-to-date devices/trees. I\u0027ll work on a revert of the revert.\n\nBug: http://b/27245894\n\nThis reverts commit ea9fc5bd31781fb380ace74ccddf2137c7dcc5d9.\n\nChange-Id: Ie8fc286a64de4db2c905502a528005022803ed94\n"
    },
    {
      "commit": "ea9fc5bd31781fb380ace74ccddf2137c7dcc5d9",
      "tree": "f75edd10a60aab5b7c1ac1bf210b35cd2913d425",
      "parents": [
        "4e4e64511e530db37b33f450016afe49db3c4b20"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Feb 22 14:26:48 2016 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Feb 24 16:42:50 2016 -0800"
      },
      "message": "Preload public libraries on Runtime::Start()\n\nPreloading public libraries on Runtime::Start()\ninstead of doing it in native_loader c-tor\nensures that the libraries are loaded only for\nbinaries that are using Android Runtime, and not\njust linking against libandroid_runtime or libart.\n\nLoading public libraries on Runtime::Start()\nalso helps some apps to save startup time and space\nby ensuring that all NDK libraries are loaded\nand ready to use.\n\nBug: http://b/27245894\nChange-Id: I15679a72450f3d18a7dd503d0ae977cebcfd7f52\n(cherry picked from commit 7bca74e53d3665bcd243d4e0277f6561c0c80271)\n"
    },
    {
      "commit": "4429b110c7b4d9bda2c31b4df257e840831d01f6",
      "tree": "ea4cdc5cb5df4c5b3e66d9adbd623eaf4cddaba3",
      "parents": [
        "db11e7ecc9c902ffde6336c261fe236299a81944"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Feb 24 15:16:46 2016 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Feb 24 15:16:46 2016 -0800"
      },
      "message": "ART: Support interpreter switching in x86 mterp\n\nBecause mterp only supports a subset of special modes and\ninstrumentation, it needs to recognize when new instrumentation\nis added and bail out to the reference interpreter if needed.\n\nThe arm and arm64 mterp targets do this.  This CL adds the\nfunctionality to x86 mterp.\n\nChange-Id: I72783577e6f26b2695677b07d8fa57fb887a36c8\n"
    },
    {
      "commit": "db11e7ecc9c902ffde6336c261fe236299a81944",
      "tree": "177fc8673b271192c86797ba64fb12557520df33",
      "parents": [
        "f5a28f77abefc080a870869ae933106435af4232",
        "970e19164326d93947441f9f0c2c754225dfb6e8"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Feb 24 21:37:29 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 24 21:37:29 2016 +0000"
      },
      "message": "Merge \"Made art/runtime/arch/stub_test.cc compile with -O2 again.\""
    },
    {
      "commit": "0c0a7a326b3a76846d2a0b0e039cff877d43b588",
      "tree": "efa05665288b3a777330fc540ace3287c3a1c46e",
      "parents": [
        "8ff01690eb2796604b8927076fdde7452b4c8a60",
        "83723aedac536fd8a3cd6e1662dbd6260e576194"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 24 19:44:11 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 24 19:44:11 2016 +0000"
      },
      "message": "Merge \"Add MapAnonymous handling for null error_str\""
    },
    {
      "commit": "83723aedac536fd8a3cd6e1662dbd6260e576194",
      "tree": "b49882ff8afa010fcdc06b4d58212f13ab646acf",
      "parents": [
        "c37a3eb8180d6488466961239eabc9ab0712bd05"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 24 10:09:23 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 24 10:59:00 2016 -0800"
      },
      "message": "Add MapAnonymous handling for null error_str\n\nWe use MapAnonymous with null error_str for app image loading when\nwe want to fail quickly. Also avoid doing CheckNonOverlapping in\nCheckMapRequest if error_msg is null. The result from\nCheckNonOverlapping is unused and CheckNonOverlapping is slow since\nit creates a backtrace map.\n\nBug: 22858531\nBug: 26746779\nChange-Id: I8605ec0b9d9ae554a4b74f2606fa7dd81ade9021\n"
    },
    {
      "commit": "b0d220835f2ddc03510f17fcc4fb4c64b426a0f5",
      "tree": "ab5041089c04767d7957cd99fc7af43f5f47dc48",
      "parents": [
        "a6be605d83473c8c97245f823f3da2596cb63817"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 24 17:18:25 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 24 17:18:25 2016 +0000"
      },
      "message": "Forgot to initialize JIT memory use fields.\n\nChange-Id: I82ae97adffd8e633de048f044cdbdb953b2f9763\n"
    },
    {
      "commit": "a6be605d83473c8c97245f823f3da2596cb63817",
      "tree": "c7694ad0e7104721fa9a51398fb6002245889870",
      "parents": [
        "d9ad7463eda39d9b8bee204f91a3b7b7fa6b0a1a",
        "b74353a6765447b1551b337fd76803eb6aa86b8b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 24 16:05:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 24 16:05:37 2016 +0000"
      },
      "message": "Merge \"MIPS32: Implement intrinsics from java.lang.Math:\""
    },
    {
      "commit": "29c612299d50b52a1a4b2716a07232a1dad67bc1",
      "tree": "e7eaec29229428581368bec35b024d19f2140d8f",
      "parents": [
        "d15ede2df7d157ea5480614fd18c2bf0d37a6c2a",
        "2de973de1094b6598d4d2b3457a3490d40c5d4fb"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Feb 24 14:59:07 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 24 14:59:07 2016 +0000"
      },
      "message": "Merge \"ART: Enable JitProfiling for x86 Mterp\""
    },
    {
      "commit": "970e19164326d93947441f9f0c2c754225dfb6e8",
      "tree": "2829252b919888076014bf727d396722b1c5a9dd",
      "parents": [
        "d15ede2df7d157ea5480614fd18c2bf0d37a6c2a"
      ],
      "author": {
        "name": "Bilyan Borisov",
        "email": "bilyan.borisov@linaro.org",
        "time": "Wed Feb 10 11:51:17 2016 +0000"
      },
      "committer": {
        "name": "Bilyan Borisov",
        "email": "bilyan.borisov@linaro.org",
        "time": "Wed Feb 24 14:49:55 2016 +0000"
      },
      "message": "Made art/runtime/arch/stub_test.cc compile with -O2 again.\n\nThe test file art/runtime/arch/stub_test.cc wasn\u0027t compiling with -O2\nas the optimisations interacted with -fstack-protector-strong. The\naarch64 _asm_ block in the Invoke3WithReferrerAndHidden function was\nclobbering all possible registers, and clang requires at least one\nregister to be live across an _asm_ block to do the checking.\n\nThe fix was to remove a callee-saved register, x20, from the clobber\nlist of the aarch64 asm block of Invoke3WithReferrerAndHidden. The\nblock was also modified to save and restore x20 to ensure that it\nwon\u0027t be clobbered by the stubs invoked by the blr instruction. Also\nadded some comments above the clobber list.\n\nChange-Id: I03597fd2d14cf2d6e32edf02835aee2eb68bab17\n"
    },
    {
      "commit": "bf63303f8a98c88fb8f0a726ab9431660f26df5a",
      "tree": "c31615ac4c02b2f9a0b56cf843d211729e3846fb",
      "parents": [
        "9baccdc75ee01dd96ac4e57e17965635f96def27",
        "944da603cde59a4277f3bbc31d860a90842a1a2a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 24 11:52:14 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 24 11:52:14 2016 +0000"
      },
      "message": "Merge \"ART: Allow method references across oat files for multi-image, 2nd attempt.\""
    },
    {
      "commit": "944da603cde59a4277f3bbc31d860a90842a1a2a",
      "tree": "733bc38a905822097a6a601a1de20b49f54440d3",
      "parents": [
        "52d9c2f0c584877e9c7f9e859d8068b3a2ccb12f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 19 12:27:55 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 24 11:19:23 2016 +0000"
      },
      "message": "ART: Allow method references across oat files for multi-image, 2nd attempt.\n\nThese were disabled because we didn\u0027t have sufficient\ninformation about the multi-image layout when processing\nlink-time patches in OatWriter. This CL refactors the\nELF file creation so that the information is available.\n\nAlso clean up ImageWriter to use oat file indexes instead\nof filenames and avoid reopening the oat file to retrieve\nthe checksum.\n\nChange-Id: Icc7b528deca29da1e473c8f079521a36d6c4892f\n"
    },
    {
      "commit": "dddfaa5ec5eee11b6ca8c489ed5e92f10a334b22",
      "tree": "cd089d0c149b4704822198f5e8f3f0a64a75c8b1",
      "parents": [
        "21ce0dae31a72cee459dba352b4aa1ccb5157a5d",
        "8d37250f7b9a7839b11488f45a1842b025026f94"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 24 10:35:01 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 24 10:35:01 2016 +0000"
      },
      "message": "Merge \"Introduce partial code cache collection.\""
    },
    {
      "commit": "2de973de1094b6598d4d2b3457a3490d40c5d4fb",
      "tree": "f9d752c6418fadedbbc80e7e0b7b4c2df40c2a40",
      "parents": [
        "028d1027f9b6ea6c80982407984171204458ff9b"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Feb 23 13:25:00 2016 -0800"
      },
      "committer": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Wed Feb 24 16:02:25 2016 +0600"
      },
      "message": "ART: Enable JitProfiling for x86 Mterp\n\nAdds branch profiling and enables for x86.\n\nChange-Id: I875034d5bc6b639df08a0236e415195521994238\n"
    },
    {
      "commit": "028d1027f9b6ea6c80982407984171204458ff9b",
      "tree": "a9fe4cd0f4888b5f34142824a1f9cf0434e9d066",
      "parents": [
        "b4982aab07ae4cdaba13b4cb99306459d92e52d5",
        "3612149aee482ab7a17da68b0ef5fef3879729a2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Feb 23 22:33:55 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 23 22:33:55 2016 +0000"
      },
      "message": "Merge \"Make JNI work correctly with default methods.\""
    },
    {
      "commit": "6ea1a0e2168c8d9b6d97c075c73a72d84080f45b",
      "tree": "7a75b6191dc6539823c174e06256dd09ae50c637",
      "parents": [
        "b4982aab07ae4cdaba13b4cb99306459d92e52d5"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Fri Jan 29 12:12:49 2016 -0800"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Tue Feb 23 13:44:50 2016 -0800"
      },
      "message": "AOT compile framework code as non-debuggable\n\nWhen a debugger attaches, we patch method entry points in framework\ncode to interpreter bridge. The code will later be jitted as debuggable.\n\nChange-Id: Id148069ccad95e2339ba214742ae3ef4f084f495\n"
    },
    {
      "commit": "3612149aee482ab7a17da68b0ef5fef3879729a2",
      "tree": "42180a35266333cbf37163a12185cf8824255a71",
      "parents": [
        "a5502e31cb558c6e257d1dd1889c073a793e3d9d"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Feb 22 13:43:29 2016 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Feb 23 13:24:05 2016 -0800"
      },
      "message": "Make JNI work correctly with default methods.\n\nAlso adds some tests for JNI and DefaultMethods.\n\nBug: 27259142\nBug: 24618811\n\nChange-Id: I31222e3e41059d803be1dbb0f40e1144ac4bf457\n"
    },
    {
      "commit": "16e51beb9a771ffe7be833173e3dd5f2dac63892",
      "tree": "88264cf5dada81a9497f906449718f3ec0e2e3c0",
      "parents": [
        "96cd22822b8b88bca6322172db018421d829f746"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 23 10:37:32 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 23 10:37:32 2016 -0800"
      },
      "message": "Fix allocation tracking race\n\nNeed to instrument the stubs before calling\nHeap::SetAlloctrackingEnabled or else we can get this DCHECK failing\nDCHECK(!IsAllocTrackingEnabled())\n\nChange-Id: I1fb5df217a2785baf22b4f57887cd323f13f0973\n"
    },
    {
      "commit": "8d37250f7b9a7839b11488f45a1842b025026f94",
      "tree": "d0394ebde45888dabd811852468afcf4b71c7bf1",
      "parents": [
        "a016ba5614054e27eada7f4815df7d4bac7ba8d8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 23 13:56:43 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 23 14:33:16 2016 +0000"
      },
      "message": "Introduce partial code cache collection.\n\nIt will collect code that is known unused (because it deoptimized),\nand osr code.\n\nbug:26846185\n\nChange-Id: Ic27dfeb944efb2ca464039007ba365c1e0d4a040\n"
    }
  ],
  "next": "6406b521bed1a1cc465edc6be083ce57ba0f524e"
}
