)]}'
{
  "log": [
    {
      "commit": "eb7b7399dbdb5e471b8ae00a567bf4f19edd3907",
      "tree": "a0a488040883c14cc6cbec3186654137459d44ff",
      "parents": [
        "8ec0e20347e13592539a8c0786b1db1735149800"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Fri Jun 19 14:47:01 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Jun 22 11:57:36 2015 +0100"
      },
      "message": "Opt compiler: Add disassembly to the \u0027.cfg\u0027 output.\n\nThis is automatically added to the \u0027.cfg\u0027 output when using the usual\n`--dump-cfg` option.\n\nChange-Id: I864bfc3a8299c042e72e451cc7730ad8271e4deb\n"
    },
    {
      "commit": "8ec0e20347e13592539a8c0786b1db1735149800",
      "tree": "657f56663b10d4b79fbaf1f8d9003f7349fbf723",
      "parents": [
        "0f0be7261c68ebb701677b70d40e373accef4d09",
        "1e9ec053008fca7eb713815716c69375c37b399c"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Jun 22 10:16:45 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 22 10:16:45 2015 +0000"
      },
      "message": "Merge \"ART: Simplify (Not)Equal bool vs. int to true/false\""
    },
    {
      "commit": "1e9ec053008fca7eb713815716c69375c37b399c",
      "tree": "dc7306ce1153648bfc34c67b9475f7fbfbbd18f6",
      "parents": [
        "e85647ed00d07169193cc07ffa09e3b70ce38f59"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Jun 22 10:26:45 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Jun 22 11:07:57 2015 +0100"
      },
      "message": "ART: Simplify (Not)Equal bool vs. int to true/false\n\nOptimizations on the HGraph may produce comparisons of bool and ints.\nInstruction simplifier will simplify these only for 0/1 int constants.\nSince the range of bool is known, comparison against all other int\nconstants can always be determined statically.\n\nChange-Id: I502651b7a08edf71ee0b2589069f00def6aacf66\n"
    },
    {
      "commit": "0f0be7261c68ebb701677b70d40e373accef4d09",
      "tree": "6ea3fd862cfe430b3c1e2ebcdcdbd69936e0ff26",
      "parents": [
        "e85647ed00d07169193cc07ffa09e3b70ce38f59",
        "463580ca5a1e75e27ad0207537ffc6252091326a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 22 10:05:58 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 22 10:05:59 2015 +0000"
      },
      "message": "Merge \"Revert \"Use IsAssignableFrom instead of IsSubclass for robustness.\"\""
    },
    {
      "commit": "463580ca5a1e75e27ad0207537ffc6252091326a",
      "tree": "c0cb71ddac18ab10c38ffdc5e406ed5283932ca2",
      "parents": [
        "af268bbc4fbd0b9847acf1f7b79c038806118467"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 22 10:04:29 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 22 10:05:01 2015 +0000"
      },
      "message": "Revert \"Use IsAssignableFrom instead of IsSubclass for robustness.\"\n\nNot correct for Quick.\n\nBug:21870666\n\nThis reverts commit af268bbc4fbd0b9847acf1f7b79c038806118467.\n\nChange-Id: Id44849cc877a42495619fd71bfd2db75159b6868\n"
    },
    {
      "commit": "e85647ed00d07169193cc07ffa09e3b70ce38f59",
      "tree": "8050e51ee09ee93bf33f1446d6489032d20b53e6",
      "parents": [
        "8cf7cbf7854199cfd5001fa9503c78c3b15f0b58",
        "af268bbc4fbd0b9847acf1f7b79c038806118467"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 22 07:53:43 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 22 07:53:44 2015 +0000"
      },
      "message": "Merge \"Use IsAssignableFrom instead of IsSubclass for robustness.\""
    },
    {
      "commit": "8cf7cbf7854199cfd5001fa9503c78c3b15f0b58",
      "tree": "6ea3fd862cfe430b3c1e2ebcdcdbd69936e0ff26",
      "parents": [
        "7aa557256a87a8a7ad4be7d9ff90aee54a99124c",
        "8d82a0c2b2b12f259ccb357d3b1e699c68ad0400"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 22 07:52:58 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 22 07:52:59 2015 +0000"
      },
      "message": "Merge \"Fix wrong DCHECK in bounds check elimination.\""
    },
    {
      "commit": "aa919207d2fb63af11d72d3b7cdbc435769565af",
      "tree": "dd5e34a864dcb866eea52e85c49f514a39bacda5",
      "parents": [
        "74f774f0d6389c432122ca262c6705118f5ebd6e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Jun 21 18:57:02 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Jun 21 18:57:02 2015 +0100"
      },
      "message": "Fix String Change baseline compiler errors.\n\nThe String Change adds multiple move results if the uninitialized string\nis in multiple registers. This adds StoreLocals on the same instruction,\nwhich isn\u0027t allowed. Now, a LoadLocal is added for each extra move\nneeded.\n\nChange-Id: I49f676cb85de051e737e0653138cbb947a73e48b\n"
    },
    {
      "commit": "8d82a0c2b2b12f259ccb357d3b1e699c68ad0400",
      "tree": "01bf7818062d6832a28d13fdeeccf27012bebb92",
      "parents": [
        "883ac209066d61404627a8820770755d60068a2b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Jun 20 23:49:01 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Jun 20 23:49:01 2015 +0100"
      },
      "message": "Fix wrong DCHECK in bounds check elimination.\n\nThe lower range of an array length instruction can\nbe changed by other instructions than HBoundsCheck,\nlike HNewArray.\n\nbug:21862741\nChange-Id: Idbe50ac114287ea6d852fb6fe9f9e2d440d18af5\n"
    },
    {
      "commit": "af268bbc4fbd0b9847acf1f7b79c038806118467",
      "tree": "66c3c20a7776cd27368dfcccc307af4745dc6057",
      "parents": [
        "87a135e8699119c9ef99b0221acf481d7d6501d4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 19 18:35:41 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 19 18:42:17 2015 +0100"
      },
      "message": "Use IsAssignableFrom instead of IsSubclass for robustness.\n\nWe can get interface methods as referrer. Instead of crashing,\njust use IsAssignableFrom.\n\nbug:21870666\n\nChange-Id: I7978e36fb981d44611635fbaf3899138bae60672\n"
    },
    {
      "commit": "e102f1937ca14df87594469430d2e6e0ebe0f357",
      "tree": "df8cb62b5ddd25f2ecb038639287c6b2d8f42abd",
      "parents": [
        "e4bb626ff09e409c9482e515716de7cd595ea466",
        "cad65427d39c8ca9849d49d049ca6d263ada938a"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Jun 19 17:38:55 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 19 17:38:56 2015 +0000"
      },
      "message": "Merge \"Fix StringChange for optimizing compiler.\""
    },
    {
      "commit": "87a135e8699119c9ef99b0221acf481d7d6501d4",
      "tree": "c0cb71ddac18ab10c38ffdc5e406ed5283932ca2",
      "parents": [
        "ff3fd957020f0e5cf5cc279f4bbbca3545ce8745",
        "8b20f88b0a8d1b374dd5eaae289d19734c77b8f8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 19 15:52:24 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 19 15:52:24 2015 +0000"
      },
      "message": "Merge \"Be careful with predecessor/successor index.\""
    },
    {
      "commit": "8b20f88b0a8d1b374dd5eaae289d19734c77b8f8",
      "tree": "7bb855bee3c93bd2d4edec359480b4606606559d",
      "parents": [
        "d8d7b90ca57e8e3762951bb419b6f2645bb414c5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 19 16:17:05 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 19 16:46:00 2015 +0100"
      },
      "message": "Be careful with predecessor/successor index.\n\nWhen we simplify the CFG, we must preserve things that were already\nsimplified. For example, the index in the predecessor list or\nsuccessor list of a block must be preserved for ensuring the\nfirst block is a loop pre header.\n\nbug:21867463\n\nChange-Id: Ic3fcb3eb2c3fb109d8a57ee2a6b6d4d65fdb9410\n"
    },
    {
      "commit": "46648896b9ff3640a9b7ec742ec63957c412eab3",
      "tree": "d8d146c61e3250f7fc0979686fa3dbb77353bae9",
      "parents": [
        "7ed9cec8bc302a0b4fe5a127b58bfddd702a70e8"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jun 19 16:07:18 2015 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jun 19 16:08:33 2015 +0100"
      },
      "message": "Opt compiler: Add a description to MIP64 slow paths.\n\nChange-Id: I773a543cd4f146d64819cc347e57e6472dea0b38\n"
    },
    {
      "commit": "4dda3376b71209fae07f5c3c8ac3eb4b54207aa8",
      "tree": "0d96a327d1b3a7e09eff178a66c0b5fb946cfc85",
      "parents": [
        "71af6f7aab7491665fe2d6beb9af4c251a99ad56"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Mon Jun 01 18:31:49 2015 -0700"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jun 19 15:43:58 2015 +0100"
      },
      "message": "MIPS: Initial version of optimizing compiler for MIPS64R6.\n\nBug: 21555893\nChange-Id: I874dc356eee6ab061a32f8f3df5f8ac3a4ab7dcf\nSigned-off-by: Alexey Frunze \u003cAlexey.Frunze@imgtec.com\u003e\nSigned-off-by: Douglas Leung \u003cdouglas.leung@imgtec.com\u003e\n"
    },
    {
      "commit": "71af6f7aab7491665fe2d6beb9af4c251a99ad56",
      "tree": "698aa9561b9225e5faf3855958929195b898279c",
      "parents": [
        "97d207c3beba0a4ed6402e882c5909c5ac5bde6d",
        "9931f319cf86c56c2855d800339a3410697633a6"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Jun 19 14:21:58 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 19 14:21:58 2015 +0000"
      },
      "message": "Merge \"Opt compiler: Add a description to slow paths.\""
    },
    {
      "commit": "9931f319cf86c56c2855d800339a3410697633a6",
      "tree": "94e98f4a670d9bded4ed3fbc194c31e4c733d198",
      "parents": [
        "edb83c606e034d76bed1331f34cdc435df47bb95"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Fri Jun 19 14:47:01 2015 +0100"
      },
      "committer": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Fri Jun 19 14:47:01 2015 +0100"
      },
      "message": "Opt compiler: Add a description to slow paths.\n\nChange-Id: I22160d90de3fe0ab3e6a2acc440bda8daa00e0f0\n"
    },
    {
      "commit": "97d207c3beba0a4ed6402e882c5909c5ac5bde6d",
      "tree": "de4cd78e9eb789c14fc248755a5e905d5a277b3d",
      "parents": [
        "d8d7b90ca57e8e3762951bb419b6f2645bb414c5",
        "30451743493bc2f589e96d68ab98f557461f97f9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 19 13:02:11 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 19 13:02:11 2015 +0000"
      },
      "message": "Merge \"Use compiling class instead of referrer for access checks.\""
    },
    {
      "commit": "30451743493bc2f589e96d68ab98f557461f97f9",
      "tree": "7d663eaeba566457b54691c03f377fbfdd609cae",
      "parents": [
        "f12ffdb549f1947125e3f56694cb479a619f02bf"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 19 13:32:41 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 19 13:59:38 2015 +0100"
      },
      "message": "Use compiling class instead of referrer for access checks.\n\nbug:21869670\nChange-Id: Ief329247e90202835e27fa38803e02dd2e2ae8ca\n"
    },
    {
      "commit": "d8d7b90ca57e8e3762951bb419b6f2645bb414c5",
      "tree": "2bf677ead5fcb040745c247b410a1390110841ca",
      "parents": [
        "e43875749fbc674fbad23ba11af64f25ab2add0d",
        "3c4ab80c102ff1bfc0e74d4abddbf5454bf4008d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 19 11:03:44 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 19 11:03:45 2015 +0000"
      },
      "message": "Merge \"Do not expect 0 or 1 only when comparing a boolean.\""
    },
    {
      "commit": "e43875749fbc674fbad23ba11af64f25ab2add0d",
      "tree": "8cd2ff04d87f76d87fa9c21c43fab04c9abe9c51",
      "parents": [
        "be59b85251f085359d40bb89b1aa7e037c8ac0ef",
        "66389fbeb41c981648bb2e1e7e2f43089f095591"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 19 11:02:16 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 19 11:02:17 2015 +0000"
      },
      "message": "Merge \"Verifier: check an aput, even if we know it will fail.\""
    },
    {
      "commit": "3c4ab80c102ff1bfc0e74d4abddbf5454bf4008d",
      "tree": "88065b979f93f748b72aeb9efc9dea2c5ddcd5d4",
      "parents": [
        "be59b85251f085359d40bb89b1aa7e037c8ac0ef"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 19 11:42:07 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 19 11:59:27 2015 +0100"
      },
      "message": "Do not expect 0 or 1 only when comparing a boolean.\n\nbug:21866529\nChange-Id: I81ffba609a357010bd86073eb979024fc668ed20\n"
    },
    {
      "commit": "66389fbeb41c981648bb2e1e7e2f43089f095591",
      "tree": "f6de19a8521f2e33d5c75771867bcf569e6d2ef4",
      "parents": [
        "822c00d0fe3b70d1f1fe5bac03713674d45f8173"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 19 10:35:42 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 19 10:37:59 2015 +0100"
      },
      "message": "Verifier: check an aput, even if we know it will fail.\n\nbug:21867457\nChange-Id: I01e333d858995d0e1e083a50cf8d460a86381f2c\n"
    },
    {
      "commit": "cad65427d39c8ca9849d49d049ca6d263ada938a",
      "tree": "431225d33b11d0c23f6f151314c8920f5a0a314b",
      "parents": [
        "f12ffdb549f1947125e3f56694cb479a619f02bf"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Jun 18 21:16:08 2015 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Jun 18 21:24:03 2015 -0700"
      },
      "message": "Fix StringChange for optimizing compiler.\n\nUses optimizing compiler more and fixes x86_64 invoke codegen.\n\nBug: 21902634\n\n(cherry-picked from commit e0a9a53ec4b4ccbf9b1d67957fb99a45b469ccc2)\n\nChange-Id: I56881889bee7092b8401b090af1c0f1004c11667\n"
    },
    {
      "commit": "3d266a96750db6969f24bcdb8025c06745e5a449",
      "tree": "9fad9f8661424a537b588a82e2551a25e2386df0",
      "parents": [
        "822c00d0fe3b70d1f1fe5bac03713674d45f8173",
        "69505f86a1a653bf86c1f2b423b3e0605137d5d1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 18 17:28:16 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 18 17:28:16 2015 +0000"
      },
      "message": "Merge \"Don\u0027t check the return type in the builder.\""
    },
    {
      "commit": "69505f86a1a653bf86c1f2b423b3e0605137d5d1",
      "tree": "5c10c1175fbed15f18ad6502b24bc09f2c437d43",
      "parents": [
        "46ff9b6100e66306233534e26c16d3c6738070a9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 18 18:04:12 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 18 18:10:09 2015 +0100"
      },
      "message": "Don\u0027t check the return type in the builder.\n\nThe verifier will not complain about dead code. For the compiler,\nit is benign.\n\nbug:21863767\n\nChange-Id: I6ef7be233d1cd69dddcc4499e4e4fad54753099f\n"
    },
    {
      "commit": "822c00d0fe3b70d1f1fe5bac03713674d45f8173",
      "tree": "f44fb5642da30dc334c6ec3b264e59f53c1739c5",
      "parents": [
        "01b6ec8c982400fe415533296ab0b563971c239d",
        "b2bdfce7f805b00668a2521b1c939a0aafb2be49"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 18 15:52:30 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 18 15:52:31 2015 +0000"
      },
      "message": "Merge \"Run a simplification pass before code generation.\""
    },
    {
      "commit": "01b6ec8c982400fe415533296ab0b563971c239d",
      "tree": "eab23a382221898f016db154fc047fecaef32724",
      "parents": [
        "92fe57fe6e3512616f71b2b2183344c56d6753e6",
        "f78848f2ced8466b5fb2d7148d608288ee88757b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 18 15:51:54 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 18 15:51:54 2015 +0000"
      },
      "message": "Merge \"Don\u0027t special case HCurrentMethod in DCE.\""
    },
    {
      "commit": "b2bdfce7f805b00668a2521b1c939a0aafb2be49",
      "tree": "0c8aba9022fe62a176254b8459b414e9703f890f",
      "parents": [
        "d4de42f6fd0f00c5b3ca01fed6a26d11e617c3b9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 18 15:46:47 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 18 15:53:02 2015 +0100"
      },
      "message": "Run a simplification pass before code generation.\n\nThe code generators assume things that only the instruction\nsimplier ensures. So it has to be run last in case previous\noptimiziations broke those assumptions.\n\nbug:21865464\n\nChange-Id: I1f84016017bf691c2a34982e202a505b269f609a\n"
    },
    {
      "commit": "d4de42f6fd0f00c5b3ca01fed6a26d11e617c3b9",
      "tree": "a5145587aa7b8d8d1f843a07955cbd0354b301d6",
      "parents": [
        "3b574aadd67c5ce261a7383c38044af4cf993393",
        "015c7e63604c038e866d7af3850c557403cddc8b"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jun 18 11:54:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 18 11:54:57 2015 +0000"
      },
      "message": "Merge \"ART: Remove old DCHECK that trips Baseline\""
    },
    {
      "commit": "3b574aadd67c5ce261a7383c38044af4cf993393",
      "tree": "30c5fc3eff661c71458883fd2ad2a4c50f09cea2",
      "parents": [
        "7b295db7583a721db1e1d430be78a6ff34f4805d",
        "2e33525bd4eb892246b4c244c6d4ebf6c6d07501"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 18 11:53:49 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 18 11:53:49 2015 +0000"
      },
      "message": "Merge \"Bailout from compilation if an invoke is malformed.\""
    },
    {
      "commit": "015c7e63604c038e866d7af3850c557403cddc8b",
      "tree": "b1ce605a0be44fcb18a9b48eff7e8b88e673d710",
      "parents": [
        "3c4fb2d1836a81823677191ad91203779427b610"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jun 18 12:40:01 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jun 18 12:49:12 2015 +0100"
      },
      "message": "ART: Remove old DCHECK that trips Baseline\n\nCodegen verified that the entry block always falls through to the next\nblock. While this is the case with Optimizing, it doesn\u0027t hold for\nBaseline but it doesn\u0027t need to since codegen handles it fine.\n\nBug:21913514\nChange-Id: I751ef227e6cf103af3e7fc35fca4b01c663385a1\n"
    },
    {
      "commit": "2e33525bd4eb892246b4c244c6d4ebf6c6d07501",
      "tree": "ce1eb1ea3fe8310d4320ea71579fb12f74dd916e",
      "parents": [
        "3c4fb2d1836a81823677191ad91203779427b610"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 18 11:11:27 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 18 12:47:06 2015 +0100"
      },
      "message": "Bailout from compilation if an invoke is malformed.\n\nBecause the verifier does not check trivially dead instructions,\nthe compilers must prepare for bogus instructions. This change\nfixes the case the arguments for an invoke do not match the\nformal parameters.\n\nbug:21865459\n\nChange-Id: Ie9fa9dbaedaad0350a52391252e18c045056454d\n"
    },
    {
      "commit": "7b295db7583a721db1e1d430be78a6ff34f4805d",
      "tree": "d30773c05cd6d9e3861206cb84f73d32ba49cc71",
      "parents": [
        "3c4fb2d1836a81823677191ad91203779427b610",
        "18e6873c469b48aaed22148451523479eece98e3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 18 11:46:30 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 18 11:46:31 2015 +0000"
      },
      "message": "Merge \"Fix a bug in optimizing when the null constant has been DCE.\""
    },
    {
      "commit": "18e6873c469b48aaed22148451523479eece98e3",
      "tree": "6df7efad2f7777bb0a4dbcbbe719750393eac531",
      "parents": [
        "edb83c606e034d76bed1331f34cdc435df47bb95"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 17 23:09:05 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 17 23:11:39 2015 +0100"
      },
      "message": "Fix a bug in optimizing when the null constant has been DCE.\n\nIf it has been DCE, we should create a new one, instead of\nusing the old one.\n\nAlso move the first DCE to a place where it could actually\nbe useful.\n\nbug:21870788\n\nChange-Id: I28fc52ae481ef92cba45fc1b5abcf07c995f524c\n"
    },
    {
      "commit": "f78848f2ced8466b5fb2d7148d608288ee88757b",
      "tree": "72bfc782c51995b8c9d8ec41fafdae32f5341090",
      "parents": [
        "edb83c606e034d76bed1331f34cdc435df47bb95"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 17 11:57:56 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 17 22:15:01 2015 +0100"
      },
      "message": "Don\u0027t special case HCurrentMethod in DCE.\n\nInstead, re-create the HCurrentMethod if it is needed\nafter it has been removed.\n\nChange-Id: Id3bf15ae87b00a1d7eb35bf36d58fe96f788fba4\n"
    },
    {
      "commit": "2ef645ba50544b879a82ea30e606f18c9af98917",
      "tree": "25d18676c87c9738624793f2983bc0e87faecf6e",
      "parents": [
        "43d154bed3ad0bba766211af1f2637500d30a93f"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jun 17 18:20:52 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jun 17 18:25:03 2015 +0100"
      },
      "message": "ART: Allow PackedSwitch instructions with zero targets\n\nOptimizing and the interpreter wrongly assumed that a PackedSwitch\nalways has at least one target. This patch removes the corresponding\nDCHECKs and adds a regression test case.\n\nThis is a resubmission of CL I32b7033ed38de6f1d1a6ee5d5bf12f3a47c9b37e\n\nBug: 21863783\nChange-Id: I04e6e124bdd16591ba27c79490e6ce183c36b691\n"
    },
    {
      "commit": "15875b0d36fce555534bb840b13b39d61fd108f2",
      "tree": "53de01908990954cdf0f46168cb437d5c12ebf2e",
      "parents": [
        "241f9c41924e33e0c3bab9a7c4306397458749ca"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jun 17 16:59:53 2015 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jun 17 16:59:53 2015 +0000"
      },
      "message": "Revert \"ART: Allow PackedSwitch instructions with zero targets\"\n\nThis fixed Optimizing but revealed the same issue in the interpreter.\n\nThis reverts commit 241f9c41924e33e0c3bab9a7c4306397458749ca.\n\nChange-Id: Iad5a28b24f2c21d3575cf8ecc8b7c8fbf98d1132\n"
    },
    {
      "commit": "241f9c41924e33e0c3bab9a7c4306397458749ca",
      "tree": "bdffe0a82c85051607a5ecd61056262836eac212",
      "parents": [
        "edb83c606e034d76bed1331f34cdc435df47bb95"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jun 17 15:38:35 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jun 17 17:18:32 2015 +0100"
      },
      "message": "ART: Allow PackedSwitch instructions with zero targets\n\nOptimizing\u0027s Builder wrongly assumed that a PackedSwitch always has\nat least one target. This patch removes the corresponding DCHECK and\nadds a regression test case.\n\nBug:21863783\nChange-Id: I32b7033ed38de6f1d1a6ee5d5bf12f3a47c9b37e\n"
    },
    {
      "commit": "7cb499b1af1575c854860b0d6a103c4a2a59a569",
      "tree": "53de01908990954cdf0f46168cb437d5c12ebf2e",
      "parents": [
        "4b9a93e7774d6650f6f3b637d018109d6fe97546"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 17 11:35:11 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 17 11:35:11 2015 +0100"
      },
      "message": "Fix bug in optimizing around instanceof.\n\nWe were too aggressive when removing instanceof. We should\nnot remove it when there is one of the two static types that\nis an interface.\n\nChange-Id: I1fd80915b99b094f7b4393e7adb2b160201b30d5\n"
    },
    {
      "commit": "3cde6227678cf62e06bca264671d1e957456ac3d",
      "tree": "3ed515ca629a83c926980e42de1240e412c6d832",
      "parents": [
        "088bd0d28acb70302d20f6e19a9db7f0536c09ee"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 17 10:17:49 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 17 10:21:13 2015 +0100"
      },
      "message": "Remove bogus DCHECK in BCE.\n\nWhen creating a phi for the array length when we add HDeoptimization\nnodes, we might update accesses in inner loops to use that phi instead\nof the array length. The BCE phase was not expecting this case.\n\nChange-Id: I639f4ea6f5889726142041a42736183f162c7437\n"
    },
    {
      "commit": "cf93a5cd9c978f59113d42f9f642fab5e2cc8877",
      "tree": "55162627fcbf2cb7913a735c7ed89e8e4b5e84d7",
      "parents": [
        "db40ea768bd914125c3754dacb9b6f534a2e2399"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jun 16 11:33:24 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jun 17 09:43:51 2015 +0100"
      },
      "message": "Revert \"Revert \"ART: Implement literal pool for arm, fix branch fixup.\"\"\n\nThis reverts commit fbeb4aede0ddc5b1e6a5a3a40cc6266fe8518c98.\n\nAdjust block label positions. Bad catch block labels were the\nreason for the revert.\n\nChange-Id: Ia6950d639d46b9da6b07f3ade63ab46d03d63310\n"
    },
    {
      "commit": "db40ea768bd914125c3754dacb9b6f534a2e2399",
      "tree": "af87ccb86c7e0622912bf088a464716166ea450a",
      "parents": [
        "e4394f7de28ae0b517daa033749979e46ff676ab",
        "fbeb4aede0ddc5b1e6a5a3a40cc6266fe8518c98"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jun 16 11:32:24 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 16 11:32:25 2015 +0000"
      },
      "message": "Merge \"Revert \"ART: Implement literal pool for arm, fix branch fixup.\"\""
    },
    {
      "commit": "fbeb4aede0ddc5b1e6a5a3a40cc6266fe8518c98",
      "tree": "76ab28cf259def4dccec529df217fd760f27d2aa",
      "parents": [
        "f38caa68cce551fb153dff37d01db518e58ed00f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jun 16 11:32:01 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jun 16 11:32:01 2015 +0000"
      },
      "message": "Revert \"ART: Implement literal pool for arm, fix branch fixup.\"\n\nThis reverts commit f38caa68cce551fb153dff37d01db518e58ed00f.\n\nChange-Id: Id88b82cc949d288cfcdb3c401b96f884b777fc40\nReason: broke the tests.\n"
    },
    {
      "commit": "e4394f7de28ae0b517daa033749979e46ff676ab",
      "tree": "320596587f320a0becda91cfe4fa72c8052fb90a",
      "parents": [
        "f6c77d7632bdfe564c2ba61690fecc65f10ea9f6",
        "f38caa68cce551fb153dff37d01db518e58ed00f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jun 16 09:06:59 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 16 09:07:00 2015 +0000"
      },
      "message": "Merge \"ART: Implement literal pool for arm, fix branch fixup.\""
    },
    {
      "commit": "f38caa68cce551fb153dff37d01db518e58ed00f",
      "tree": "723612f20666f429b7c67321f0353d57425b1c63",
      "parents": [
        "bd8c725e465cc7f44062745a6f2b73248f5159ed"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 29 15:50:18 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jun 15 15:13:28 2015 +0100"
      },
      "message": "ART: Implement literal pool for arm, fix branch fixup.\n\nChange-Id: Iecc91418bb4ee1c957f42fefb737d0ee2ba960e7\n"
    },
    {
      "commit": "2cbeb52ca5a56f54ca2e419cd8a697f46ba8e6ae",
      "tree": "b083107401d5c1cfbeafe4ad880e0453543d5bd1",
      "parents": [
        "6e41d81695531499d34345354006cf4314f4559a",
        "72a5eb5d6784b318750c36e0da25c7338557ce44"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Jun 15 13:50:45 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 15 13:50:47 2015 +0000"
      },
      "message": "Merge \"Bring ReferenceTypePropagation to ArrayGet\""
    },
    {
      "commit": "6e41d81695531499d34345354006cf4314f4559a",
      "tree": "58fb1befa6a453e0b16d9cd2133edda992a0ad8b",
      "parents": [
        "3b74dcc55cedd43c2898d301bd472f67bf7f6b08",
        "ae09d2d244cf2f506822b3e14731b81c3b278f9d"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Jun 15 13:50:31 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 15 13:50:32 2015 +0000"
      },
      "message": "Merge \"Bring ReferenceTypePropagation to HInvoke return types\""
    },
    {
      "commit": "72a5eb5d6784b318750c36e0da25c7338557ce44",
      "tree": "d76567c0c761c7f4c63e7ad5b36cfe43f4f0e9b2",
      "parents": [
        "ae09d2d244cf2f506822b3e14731b81c3b278f9d"
      ],
      "author": {
        "name": "Guillaume \"Vermeille\" Sanchez",
        "email": "guillaumesa@google.com",
        "time": "Tue Jun 02 17:39:45 2015 +0100"
      },
      "committer": {
        "name": "Guillaume \"Vermeille\" Sanchez",
        "email": "guillaumesa@google.com",
        "time": "Mon Jun 15 12:31:56 2015 +0100"
      },
      "message": "Bring ReferenceTypePropagation to ArrayGet\n\nChange-Id: I602b494c4e18bd78313ce9711ff363c31570a57c\n"
    },
    {
      "commit": "ae09d2d244cf2f506822b3e14731b81c3b278f9d",
      "tree": "73e019e1b7e79800477ecf801c2a70f71cd3605c",
      "parents": [
        "ff924fb2700decce131fb10dd28de1e251465792"
      ],
      "author": {
        "name": "Guillaume \"Vermeille\" Sanchez",
        "email": "guillaumesa@google.com",
        "time": "Fri May 29 10:52:55 2015 +0100"
      },
      "committer": {
        "name": "Guillaume \"Vermeille\" Sanchez",
        "email": "guillaumesa@google.com",
        "time": "Mon Jun 15 12:30:43 2015 +0100"
      },
      "message": "Bring ReferenceTypePropagation to HInvoke return types\n\nChange-Id: Id0683f67e32874713a30c072c71dc537b1271926\n"
    },
    {
      "commit": "c4977a58b1feca22a83fd5239aa266c7ce16ab87",
      "tree": "e5c210c4e214a65ce78185a7205f2b9cb0849b30",
      "parents": [
        "6c84df35a85ac2df8a9ce6cb902136507aca38ad",
        "51d400d4ebd41b9fb4d67ac3179f8fb66a090fdd"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 15 08:57:42 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 15 08:57:43 2015 +0000"
      },
      "message": "Merge \"Fix reference comparison after redundant phi elimination.\""
    },
    {
      "commit": "51d400d4ebd41b9fb4d67ac3179f8fb66a090fdd",
      "tree": "871fe308b90bab5226ae2f2a17c99c5fc0a992b7",
      "parents": [
        "b684aa939bd17cb43ef6ebdb7b89d175c38c79f0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 15 09:01:08 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 15 09:56:48 2015 +0100"
      },
      "message": "Fix reference comparison after redundant phi elimination.\n\nOtherwise, the graph could remain mistyped.\n\nbug:21776173\n\nChange-Id: I491f4b95e1763cbd1ade777da0a23bae319fed63\n"
    },
    {
      "commit": "ff924fb2700decce131fb10dd28de1e251465792",
      "tree": "a0d91c65460c18e57f4ad6d8a293948bd3e9648d",
      "parents": [
        "2a023030d5e7d6e580ab41d6623ae86c9e5a28b9",
        "6c0c4f230f417ed484bae5c01b79551af7659389"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Jun 12 15:40:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 12 15:40:58 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Revert \"Bring ReferenceTypePropagation to HInvoke return types\"\"\"\""
    },
    {
      "commit": "6c0c4f230f417ed484bae5c01b79551af7659389",
      "tree": "9c603f9e2015a405ed1932f397df4f42930c23e2",
      "parents": [
        "a981f9d5cac9a479d3b5d16508d71cfe17d95117"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Jun 12 15:40:42 2015 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Jun 12 15:40:42 2015 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Bring ReferenceTypePropagation to HInvoke return types\"\"\"\n\nThis reverts commit a981f9d5cac9a479d3b5d16508d71cfe17d95117.\n\nChange-Id: I69faf16d5ef0ecc234fb52e071b682e728a8bf97\n"
    },
    {
      "commit": "ec632a921bc7b867574c36f3e2c57020da0a50c9",
      "tree": "d6ada0e5b5eab20a5162ea6f32e879e9afb7447b",
      "parents": [
        "93192e73ac80de28344699695712311a4d8627f2",
        "a981f9d5cac9a479d3b5d16508d71cfe17d95117"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Jun 12 15:26:32 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 12 15:26:33 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Bring ReferenceTypePropagation to HInvoke return types\"\"\""
    },
    {
      "commit": "a981f9d5cac9a479d3b5d16508d71cfe17d95117",
      "tree": "aa840457d4f757723f4838c06b3f25416a05d56e",
      "parents": [
        "958857d0f9686770a3b1117166d5fa700b39704a"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Jun 12 15:26:21 2015 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Jun 12 15:26:21 2015 +0000"
      },
      "message": "Revert \"Revert \"Bring ReferenceTypePropagation to HInvoke return types\"\"\n\nThis reverts commit 958857d0f9686770a3b1117166d5fa700b39704a.\n\nChange-Id: I196ff2a4453489f0105efc54eee73a2a9321ac4e\n"
    },
    {
      "commit": "a3a3c5943522e7325d60cfcbdd17aff1e138f53d",
      "tree": "a6c3d098fda6134b8b6ed28d33a2a8fab73d2841",
      "parents": [
        "10176757836db987e11fb3723e4cb07bd9ea7e95"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 12 14:30:53 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 12 14:49:30 2015 +0100"
      },
      "message": "Optimizing: Move optimization objects to Arena.\n\nThis should reduce the stack size needed by the\nOptimizingCompiler::CompileOptimized() which was very\nclose to our limits for clang builds, causing repeated\nbuild breakages on otherwise healthy changes:\n    art/compiler/optimizing/optimizing_compiler.cc:395:37:\n    error: stack frame size of 1760 bytes in function\n    \u0027art::OptimizingCompiler::CompileOptimized\u0027\n    [-Werror,-Wframe-larger-than\u003d]\n\nChange-Id: I2f4ab0235f4eac61823a4a320bb4fe78942a23c2\n"
    },
    {
      "commit": "10176757836db987e11fb3723e4cb07bd9ea7e95",
      "tree": "dc1ffdda3d5f547b0d8fb6a2e1a4e41652028825",
      "parents": [
        "ee1264bd21c76a2020693753d39f50765d84a2cf",
        "78f4fa74ae2d392ca9314b7ab25386d0e9a07cdb"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 12 12:15:30 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 12 12:15:32 2015 +0000"
      },
      "message": "Merge \"Preserve class loading semantics in optimizing.\""
    },
    {
      "commit": "ee1264bd21c76a2020693753d39f50765d84a2cf",
      "tree": "c9e6f9ac904e4a3f2b101ae688e156345557f3f2",
      "parents": [
        "f0bb3a6ba464afd5cc00ebf699317a65aaa6e987",
        "958857d0f9686770a3b1117166d5fa700b39704a"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Jun 12 12:14:12 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 12 12:14:13 2015 +0000"
      },
      "message": "Merge \"Revert \"Bring ReferenceTypePropagation to HInvoke return types\"\""
    },
    {
      "commit": "958857d0f9686770a3b1117166d5fa700b39704a",
      "tree": "9c603f9e2015a405ed1932f397df4f42930c23e2",
      "parents": [
        "ddedddcedaae78fc6aa29940fdb1fbe40bb05774"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Jun 12 12:13:43 2015 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Jun 12 12:13:43 2015 +0000"
      },
      "message": "Revert \"Bring ReferenceTypePropagation to HInvoke return types\"\n\nWe exceed stack frame size with Clang in art::OptimizingCompiler::CompileOptimized\n\n\nThis reverts commit ddedddcedaae78fc6aa29940fdb1fbe40bb05774.\n\nChange-Id: I6f992dda228acb9cae2087d1e6c78f2afdf30050\n"
    },
    {
      "commit": "5dcdf94a7f41cde71b5d15aab66be067ab8bee3f",
      "tree": "09e1c04d31339e0abfef0da5255da0fce93b1338",
      "parents": [
        "42361f2e8b3601813dc40d12e14c679df99a864b",
        "bd8c725e465cc7f44062745a6f2b73248f5159ed"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 12 11:06:05 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 12 11:06:06 2015 +0000"
      },
      "message": "Merge \"Optimizing: Remove PcInfo, use the StackMapStream instead.\""
    },
    {
      "commit": "78f4fa74ae2d392ca9314b7ab25386d0e9a07cdb",
      "tree": "80ba5fc6e070d87f87ee152c6176ea931a2e6f76",
      "parents": [
        "8d86843064912299b71191eabe65ce16fa7f3099"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 12 09:35:05 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 12 10:52:09 2015 +0100"
      },
      "message": "Preserve class loading semantics in optimizing.\n\nWe were being too agressive in removing HLoadClass instructions.\nA HInvokeStaticOrDirect can only remove it if it\u0027s directly before it.\n\nbug: 21711097\nChange-Id: Id63502d90e11da60eccfb46daca62e0d5d022119\n"
    },
    {
      "commit": "6ab9edbc4e55fda54ad0c39d5606e2c145b56bf5",
      "tree": "60adf9338ab52e77103be109c079da5e810d6410",
      "parents": [
        "3d4e3b93e11a8c8658a6498aed77e3b28b55bc86",
        "ddedddcedaae78fc6aa29940fdb1fbe40bb05774"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Jun 12 09:38:51 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 12 09:38:51 2015 +0000"
      },
      "message": "Merge \"Bring ReferenceTypePropagation to HInvoke return types\""
    },
    {
      "commit": "bd8c725e465cc7f44062745a6f2b73248f5159ed",
      "tree": "76ab28cf259def4dccec529df217fd760f27d2aa",
      "parents": [
        "6a1c92f1e4a455d802ab0d0ac47504cdd7c12f0f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 12 10:06:32 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 12 10:28:34 2015 +0100"
      },
      "message": "Optimizing: Remove PcInfo, use the StackMapStream instead.\n\nChange-Id: I474f3a89f6c7ee5c7accd21791b1c1e311104158\n"
    },
    {
      "commit": "45d68f138a31a3ff9b45cda313f0ba27f1431f26",
      "tree": "478708c47f348044dce946985969f50137512389",
      "parents": [
        "bc8a8eeac27e9681fc89f6c819d7296a2b007e73"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 10 18:33:26 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 10 18:33:26 2015 -0700"
      },
      "message": "ART: Fix BCE lint issue\n\nChange-Id: I7f382a3124955eff5c0b96ca39ec67fb658fa3d0\n"
    },
    {
      "commit": "3584bce5b1f45e5741d3a6ca24884a36320ecb6b",
      "tree": "d9ccce473db996594e84135cb6d50d260063aabf",
      "parents": [
        "cbc1e2ed4a7d3d43d59c20713888058097c8188f"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Tue May 19 16:01:59 2015 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Jun 10 16:51:57 2015 -0700"
      },
      "message": "Fix premature deoptimization if the loop body isn\u0027t entered.\n\nAdd a test between initial_ and end_ to see if the loop body is entered.\nIf the loop body isn\u0027t entered at all, we jump to the loop header. Loop header is\nstill executed and is going to test the condition again and loop body won\u0027t be\nentered. This makes sure no deoptimization is triggered if the loop body isn\u0027t\neven entered.\n\nBug: 21034044\nChange-Id: I2b6de1f22fbc4568ca419f76382ebd87806d9694\n"
    },
    {
      "commit": "ddedddcedaae78fc6aa29940fdb1fbe40bb05774",
      "tree": "aa840457d4f757723f4838c06b3f25416a05d56e",
      "parents": [
        "6dbf5a5a075a371cb2ff3659058e93a985485baa"
      ],
      "author": {
        "name": "Guillaume \"Vermeille\" Sanchez",
        "email": "guillaumesa@google.com",
        "time": "Fri May 29 10:52:55 2015 +0100"
      },
      "committer": {
        "name": "Guillaume Sanchez",
        "email": "guillaumesa@google.com",
        "time": "Wed Jun 10 20:00:31 2015 +0100"
      },
      "message": "Bring ReferenceTypePropagation to HInvoke return types\n\nChange-Id: I9a7e974787cb8ba75b86bd07e8a37c5fe99911c3\n"
    },
    {
      "commit": "454a481d116ec4e6dc36fab23a073017b1436d7f",
      "tree": "9c603f9e2015a405ed1932f397df4f42930c23e2",
      "parents": [
        "bebf6bdf833ea9e090171303200bd8adc9321762"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 09 10:37:32 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 10 16:13:34 2015 +0100"
      },
      "message": "Revert \"Revert \"Support for inlining virtual and interface calls.\"\"\n\nIt now works thanks to:\n- https://android-review.googlesource.com/#/c/154016/ where\n  the invoke type is changed.\n- The new FindMethodIndexIn method in this change, that\n  locates the right method index relative to the caller\u0027s\n  dex file.\n\nThis reverts commit 6e4758615308bb525b6350c30468e33a2e1f2274.\n\nChange-Id: Iddba11664a9241e210fec211cd2aed9f4b90d118\n"
    },
    {
      "commit": "bebf6bdf833ea9e090171303200bd8adc9321762",
      "tree": "cb731fa67b0bd093e3300031f1437a4e5cbca299",
      "parents": [
        "8241f7188b2c2b0feb330403e6178ee7b3ed31f1",
        "222862ceaeed48528020412ef4f7b1cdaecf8789"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 10 14:14:42 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 10 14:14:43 2015 +0000"
      },
      "message": "Merge \"Add optimizations for instanceof/checkcast.\""
    },
    {
      "commit": "222862ceaeed48528020412ef4f7b1cdaecf8789",
      "tree": "e5890d54817d80319580044d01f8bc3c65c43729",
      "parents": [
        "864a2d955aa85ab989c86d7f1eeacbe0b11f8b0f"
      ],
      "author": {
        "name": "Guillaume Sanchez",
        "email": "guillaumesa@google.com",
        "time": "Tue Jun 09 18:33:02 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 10 13:09:32 2015 +0100"
      },
      "message": "Add optimizations for instanceof/checkcast.\n\nThe optimizations try to statically determine the outcome of the\ntype tests, replacing/removing the instructions when possible.\n\nThis required to fix the is_exact flag for ReferenceTypePropagation.\n\nChange-Id: I6cea29b6c351d118b62060e8420333085e9383fb\n"
    },
    {
      "commit": "ef20f71e16f035a39a329c8524d7e59ca6a11f04",
      "tree": "a2892ae08f22ccf46baa4c77cea61f32bd07242d",
      "parents": [
        "864a2d955aa85ab989c86d7f1eeacbe0b11f8b0f"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Tue Jun 09 10:29:30 2015 +0100"
      },
      "committer": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Wed Jun 10 10:19:57 2015 +0100"
      },
      "message": "Add boilerplate code for architecture-specific HInstructions.\n\nChange-Id: I2723cd96e5f03012c840863dd38d7b2168117db8\n"
    },
    {
      "commit": "73d01bc3b227a2090be4b383c4731e1a520a282d",
      "tree": "212f20bd769ad495cb15da9aa71426f0f2ab8f06",
      "parents": [
        "edc9ea1047a0e31fc55442c60871ebe1f7eb15f4",
        "da9badb9edea5e0d18cd9f97eff0d0937ad48310"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 09 23:00:48 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 09 23:00:49 2015 +0000"
      },
      "message": "Merge \"ART: Check long and double register pairs in invokes\""
    },
    {
      "commit": "da9badb9edea5e0d18cd9f97eff0d0937ad48310",
      "tree": "ed2f0b85561daa715988f644482fbdd99995656d",
      "parents": [
        "ccd6337f31d13706c602f3d9436e9b4025075b63"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 05 20:22:12 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 09 11:25:42 2015 -0700"
      },
      "message": "ART: Check long and double register pairs in invokes\n\nFor invokes, ensure that long and double parameters are actually\nin registers pairs. We were testing the pair, but skipping the\nactual high parameter register.\n\nBug: 17410612\nChange-Id: I8f4c3335ea8b7dc3cf252bee52a5a706ae8905f8\n"
    },
    {
      "commit": "26b97f87dcd86934f8b75e018c80bb4e8d501b03",
      "tree": "12d07d6fc78c2eda30dd90521500371586d22ee2",
      "parents": [
        "6b0d6c62cbfad62c42e426de1641f2ff7473a446",
        "3507105caea0d209c66a95d5ec5d739949105c5d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 09 16:19:14 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 09 16:19:15 2015 +0000"
      },
      "message": "Merge \"Add support for inlining already sharpened interface calls.\""
    },
    {
      "commit": "69aa60163989c33a008115205d39732a76ecc1dc",
      "tree": "058392dc104a8e7b3594a548239dca2d3ec06cce",
      "parents": [
        "aa77f6e5839b2ad3bf8ca2c06a44ec92e2667af1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 09 10:34:25 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 09 16:01:49 2015 +0100"
      },
      "message": "Revert \"Revert \"Pass current method to HNewInstance and HNewArray.\"\"\n\nProblem exposed by this change was fixed in:\nhttps://android-review.googlesource.com/#/c/154031/\n\nThis reverts commit 7b0e353b49ac3f464c662f20e20e240f0231afff.\n\nChange-Id: I680c13dc9db9ba223ab11c7af255222860b4e6d2\n"
    },
    {
      "commit": "3507105caea0d209c66a95d5ec5d739949105c5d",
      "tree": "80dbeb6b1324f2ee32dbd9d113cdf16f2a8c5d75",
      "parents": [
        "7c5e26b3ea5262c0aea3374148750e81340a4bf9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 09 15:43:38 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 09 15:47:59 2015 +0100"
      },
      "message": "Add support for inlining already sharpened interface calls.\n\nChange-Id: Ia6b557c5e98e493b187b1f30da0c62449d9dd4d4\n"
    },
    {
      "commit": "ae71a0539451a8350bdd9d46c76ddab7b763f209",
      "tree": "a7f7040991d89bc787ed38864ab09f0bcbf84576",
      "parents": [
        "7c5e26b3ea5262c0aea3374148750e81340a4bf9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 09 14:12:28 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 09 15:03:47 2015 +0100"
      },
      "message": "Fix a crash in optimizing compiler with the current method.\n\nCrash was due to overwriting the location of the current method\nin the slow path of an intrinsic.\n\nChange-Id: I6ca58ef5b3cea19925e60b9500aef543bc5f71ef\n"
    },
    {
      "commit": "7c5e26b3ea5262c0aea3374148750e81340a4bf9",
      "tree": "c5d76ab74df70cf37336ef18edd9c5a962b25fec",
      "parents": [
        "93ce3528cbf61579a0f2929ae56f0dd1fe554973",
        "7b0e353b49ac3f464c662f20e20e240f0231afff"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 09 09:26:04 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 09 09:26:05 2015 +0000"
      },
      "message": "Merge \"Revert \"Pass current method to HNewInstance and HNewArray.\"\""
    },
    {
      "commit": "7b0e353b49ac3f464c662f20e20e240f0231afff",
      "tree": "b5c936df891b08521176065ccaddb1f9e27c9f46",
      "parents": [
        "e21aa42e1341d34250742abafdd83311ad9fa737"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 09 09:25:50 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 09 09:25:50 2015 +0000"
      },
      "message": "Revert \"Pass current method to HNewInstance and HNewArray.\"\n\n082-inline-execute fails on x86.\n\nThis reverts commit e21aa42e1341d34250742abafdd83311ad9fa737.\n\nChange-Id: Ib3fd25faee2e0128001e40d3d51a74f959bc4449\n"
    },
    {
      "commit": "b0c85983741d695fc568b61a1e0d8f318cd4828f",
      "tree": "d7de231a1ebf8e07e1965aa50afa26a5fced68df",
      "parents": [
        "f7bd8fafdf3bbf05fbcfc659cd798b3fd59051d5",
        "e21aa42e1341d34250742abafdd83311ad9fa737"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 09 08:13:15 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 09 08:13:16 2015 +0000"
      },
      "message": "Merge \"Pass current method to HNewInstance and HNewArray.\""
    },
    {
      "commit": "f7bd8fafdf3bbf05fbcfc659cd798b3fd59051d5",
      "tree": "175c8a3c126b1a5365495702492b019e277671d4",
      "parents": [
        "430afefe1cced35cf5eb12ce7a6dcbfc5007c97e",
        "94015b939060f5041d408d48717f22443e55b6ad"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 09 07:55:16 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 09 07:55:17 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Use HCurrentMethod in HInvokeStaticOrDirect.\"\"\""
    },
    {
      "commit": "94015b939060f5041d408d48717f22443e55b6ad",
      "tree": "3dfe8b3d8535508694dd451acdd1ff887dfa4662",
      "parents": [
        "6a1c92f1e4a455d802ab0d0ac47504cdd7c12f0f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 04 18:21:04 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 08 18:20:41 2015 +0100"
      },
      "message": "Revert \"Revert \"Use HCurrentMethod in HInvokeStaticOrDirect.\"\"\n\nFix was to special case baseline for x86, which does not have enough\nregisters to allocate the current method.\n\nThis reverts commit c345f141f11faad177aa9635a78088d00cf66086.\n\nChange-Id: I5997aa52f8d4df373ae5ff4d4150dac0c44c4c10\n"
    },
    {
      "commit": "8c4cce0abe6cfa8f4157cfa42b18474d9536c159",
      "tree": "28071634f29dbd85e20690c2cb3003eac2015ffd",
      "parents": [
        "c2c22074a4d24a53e66a4aa2afbb039746fef498",
        "6e4758615308bb525b6350c30468e33a2e1f2274"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 08 15:54:38 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 08 15:54:38 2015 +0000"
      },
      "message": "Merge \"Revert \"Support for inlining virtual and interface calls.\"\""
    },
    {
      "commit": "6e4758615308bb525b6350c30468e33a2e1f2274",
      "tree": "0a9fbb0f1f90dfe273d94659f077cc1e6b84966c",
      "parents": [
        "1d5006c34d75758752bf3499892e3d5beb11d5dc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 08 15:52:23 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 08 15:54:14 2015 +0000"
      },
      "message": "Revert \"Support for inlining virtual and interface calls.\"\n\nFails for some apps.\n\nbug: 21674542\n\nThis reverts commit 1d5006c34d75758752bf3499892e3d5beb11d5dc.\n\nChange-Id: Ia74b5e54d59f8ffe9992591324a12f71efb67af4\n"
    },
    {
      "commit": "c2c22074a4d24a53e66a4aa2afbb039746fef498",
      "tree": "b059406e0585f9339dadb6c56a712eea9494d1cd",
      "parents": [
        "ccd6337f31d13706c602f3d9436e9b4025075b63",
        "4a56acab1be232e07cee8735c29957fe6eb425d0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 08 15:53:30 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 08 15:53:30 2015 +0000"
      },
      "message": "Merge \"Revert \"Do a type check for knowing if we can inline.\"\""
    },
    {
      "commit": "4a56acab1be232e07cee8735c29957fe6eb425d0",
      "tree": "b5c936df891b08521176065ccaddb1f9e27c9f46",
      "parents": [
        "7ce4b3d4c1c562959a8a3640df764ab50f1cbdf1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 08 15:53:16 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 08 15:53:16 2015 +0000"
      },
      "message": "Revert \"Do a type check for knowing if we can inline.\"\n\nFails for some apps.\nbug:21674542\n\nThis reverts commit 7ce4b3d4c1c562959a8a3640df764ab50f1cbdf1.\n\nChange-Id: Ie25852c022391834858b2f5e34e8c7aeb1c3b3dd\n"
    },
    {
      "commit": "e21aa42e1341d34250742abafdd83311ad9fa737",
      "tree": "d2c9f8530e59876588d32f04b4effc25ebc0fa89",
      "parents": [
        "c47908e8c32fd58bc4dc75998a80f706954db1dc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 08 15:35:07 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 08 15:36:27 2015 +0100"
      },
      "message": "Pass current method to HNewInstance and HNewArray.\n\nAlso remove unsed CodeGenerator::LoadCurrentMethod.\n\nChange-Id: I4b8d3f2a30b8e2c76b6b329a72555483c993cb73\n"
    },
    {
      "commit": "6a1c92f1e4a455d802ab0d0ac47504cdd7c12f0f",
      "tree": "4804c678aecf7be4e77b4fa4adaddebe421095f3",
      "parents": [
        "8a9fba9154310ddc8024150ca8cd5a7c4b76b71b",
        "c345f141f11faad177aa9635a78088d00cf66086"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 04 17:17:45 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 04 17:17:45 2015 +0000"
      },
      "message": "Merge \"Revert \"Use HCurrentMethod in HInvokeStaticOrDirect.\"\""
    },
    {
      "commit": "c345f141f11faad177aa9635a78088d00cf66086",
      "tree": "0a9fbb0f1f90dfe273d94659f077cc1e6b84966c",
      "parents": [
        "38207af82afb6f99c687f64b15601ed20d82220a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 04 17:17:32 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 04 17:17:32 2015 +0000"
      },
      "message": "Revert \"Use HCurrentMethod in HInvokeStaticOrDirect.\"\n\nFails on baseline/x86.\n\nThis reverts commit 38207af82afb6f99c687f64b15601ed20d82220a.\n\nChange-Id: Ib71018367eb7c6046965494a7e996c22af3de403\n"
    },
    {
      "commit": "8a9fba9154310ddc8024150ca8cd5a7c4b76b71b",
      "tree": "bec101a07c28d14020daac9f766399e24de364bf",
      "parents": [
        "fd0fb02c728689ca32a12476c707b96f6ca3e1fe",
        "7ce4b3d4c1c562959a8a3640df764ab50f1cbdf1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 04 17:12:17 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 04 17:12:17 2015 +0000"
      },
      "message": "Merge \"Do a type check for knowing if we can inline.\""
    },
    {
      "commit": "7ce4b3d4c1c562959a8a3640df764ab50f1cbdf1",
      "tree": "5b68c75de9ae09d9573735a7c3f58751100fc759",
      "parents": [
        "c47908e8c32fd58bc4dc75998a80f706954db1dc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 04 18:02:34 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 04 18:04:18 2015 +0100"
      },
      "message": "Do a type check for knowing if we can inline.\n\nOtherwise, we might successfully inline:\n((String)nonStringObject).charAt()\n\nBecause the lookup of the method is based on the index of charAt,\nand not its name.\n\nChange-Id: I72ce802fd50cfb71343197f0a32bb1ef56549097\n"
    },
    {
      "commit": "f677ebfd832c9c614fea5e6735725fec2f7a3f2a",
      "tree": "051b3ba6343bdbca4929d728dd5c0341e4383a08",
      "parents": [
        "c47908e8c32fd58bc4dc75998a80f706954db1dc"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri May 29 16:29:43 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jun 04 17:25:02 2015 +0100"
      },
      "message": "Cache stack map encoding\n\nOperations on CodeInfo and StackMap objects repeatedly read encoding\ninformation from the MemoryRegion. Since these are 3-bit-loads of\nvalues that never change, caching them can measurably reduce compile\ntimes.\n\nAccording to benchmarks, this patch saves 1-3% on armv7, 2-4% on x86,\nand 0-1% on x64.\n\nChange-Id: I46b197513601325d8bab562cc80100c00ec28a3b\n"
    },
    {
      "commit": "c47908e8c32fd58bc4dc75998a80f706954db1dc",
      "tree": "b5c936df891b08521176065ccaddb1f9e27c9f46",
      "parents": [
        "4c1ac208673c677951502552cadc38ae64fe1580",
        "1d5006c34d75758752bf3499892e3d5beb11d5dc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 04 15:50:31 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 04 15:50:32 2015 +0000"
      },
      "message": "Merge \"Support for inlining virtual and interface calls.\""
    },
    {
      "commit": "4c1ac208673c677951502552cadc38ae64fe1580",
      "tree": "ed082e970338e540d86ab58925c2cd329c6f2543",
      "parents": [
        "732358201f5c319efe9119c2f61116ec85ad4187",
        "38207af82afb6f99c687f64b15601ed20d82220a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 04 15:49:21 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 04 15:49:22 2015 +0000"
      },
      "message": "Merge \"Use HCurrentMethod in HInvokeStaticOrDirect.\""
    },
    {
      "commit": "1d5006c34d75758752bf3499892e3d5beb11d5dc",
      "tree": "3540993b4bb05138e0a029c016384fd05b6ace57",
      "parents": [
        "6a0d5e7fe6dc0c9d3dd941ab991203f2d5d1c354"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 03 15:04:32 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 04 14:45:18 2015 +0100"
      },
      "message": "Support for inlining virtual and interface calls.\n\nAlso had to change the pass order to get reference type propagation\nbefore the inliner.\n\nChange-Id: I4bf3bbb2d17c7d9cab632cfdd96adad8368bdfea\n"
    },
    {
      "commit": "38207af82afb6f99c687f64b15601ed20d82220a",
      "tree": "f9360949b92e5b6b01c5828c03ac67d01adffe1d",
      "parents": [
        "6a0d5e7fe6dc0c9d3dd941ab991203f2d5d1c354"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 01 15:46:22 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 04 14:39:06 2015 +0100"
      },
      "message": "Use HCurrentMethod in HInvokeStaticOrDirect.\n\nChange-Id: I0d15244b6b44c8b10079398c55da5071a3e3af66\n"
    },
    {
      "commit": "e918d38535f210fe669eb3f18e7f286e5b687419",
      "tree": "ca69a06e5a05bca2fb820338983c8ae33b2fcd2b",
      "parents": [
        "2029c6320a3ff996095b294534ba7236bc97c45f"
      ],
      "author": {
        "name": "Guillaume \"Vermeille\" Sanchez",
        "email": "guillaumesa@google.com",
        "time": "Wed Jun 03 15:32:41 2015 +0100"
      },
      "committer": {
        "name": "Guillaume \"Vermeille\" Sanchez",
        "email": "guillaumesa@google.com",
        "time": "Thu Jun 04 12:01:09 2015 +0100"
      },
      "message": "Add $noinline$ tag to make sure a method has not been inlined.\n\nChange-Id: Ic166cf43be566a0fa44c3c9e1939f647806fc500\n"
    },
    {
      "commit": "1710bf308c1465d2130547c0aa9066d28d57648b",
      "tree": "a481a80d4d1580041e8eb732abeb8fca6d54bb13",
      "parents": [
        "ffbf83b6e9ff4e3dd12a99cb607d4d3a6630d7bc",
        "1d8199d8215a6ee7b1904edc47372d83fcdee5a3"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jun 03 19:15:05 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 03 19:15:06 2015 +0000"
      },
      "message": "Merge \"Tidy up spelling\""
    },
    {
      "commit": "682393c4b1995c209e2cf71780b0fb9023150213",
      "tree": "48ec13295adcabdd8de203ce6081034e19e12ee2",
      "parents": [
        "6a0d5e7fe6dc0c9d3dd941ab991203f2d5d1c354"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Apr 14 15:57:52 2015 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jun 03 12:37:13 2015 +0100"
      },
      "message": "Improve the performance of long-to-double conversions on ARM.\n\nUse a VMLA instruction instead of VADD \u0026 VMUL instructions\nin long-to-double conversions on ARM.  This change reduces\ncode size and improves execution times (but does not alter\nprecision).  It trades one temporary FPU register for two\ntemporary core registers.\n\nChange-Id: I1dc35bef6c12be8f305e5b46da98c2421686b60d\n"
    },
    {
      "commit": "925e56296665b36fe4dee4e65c956396969b6288",
      "tree": "0a9fbb0f1f90dfe273d94659f077cc1e6b84966c",
      "parents": [
        "faa897554ef46e4ad8bc251ed939bb41b876c91a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 03 12:23:32 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 03 12:23:32 2015 +0100"
      },
      "message": "Allow void to get in ARM64ReturnLocation.\n\nIt can now be called with it.\n\nChange-Id: Idd10dbf5c9cb5f418504cb4c9252930e6eb4942d\n"
    }
  ],
  "next": "0d1652e1e3768b30e4d80f31d59db580312581d8"
}
