)]}'
{
  "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": "7aa557256a87a8a7ad4be7d9ff90aee54a99124c",
      "tree": "dd5e34a864dcb866eea52e85c49f514a39bacda5",
      "parents": [
        "74f774f0d6389c432122ca262c6705118f5ebd6e",
        "aa919207d2fb63af11d72d3b7cdbc435769565af"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 22 07:32:14 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 22 07:32:16 2015 +0000"
      },
      "message": "Merge \"Fix String Change baseline compiler errors.\""
    },
    {
      "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": "74f774f0d6389c432122ca262c6705118f5ebd6e",
      "tree": "6d44f62f825b9fd5f035089330ed1f0ee53e2e90",
      "parents": [
        "883ac209066d61404627a8820770755d60068a2b",
        "ab00b7af209acd9aab4e577900fc55249b19bae4"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Jun 21 00:08:20 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Jun 21 00:08:21 2015 +0000"
      },
      "message": "Merge \"Make dump-oat-target work with second architecture\""
    },
    {
      "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": "883ac209066d61404627a8820770755d60068a2b",
      "tree": "94496a0449471b70d954df1923b9e2904cf81847",
      "parents": [
        "1e73a95d74848020fab512a95a7f9a7ada72497b",
        "c9ede3839e1ae33d90ec2ad978ecccde1f9bcf8f"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sat Jun 20 05:56:48 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jun 20 05:56:48 2015 +0000"
      },
      "message": "Merge \"Move LD_USE_LOAD_BIAS to run-test-jar to reduce log verbosity.\""
    },
    {
      "commit": "c9ede3839e1ae33d90ec2ad978ecccde1f9bcf8f",
      "tree": "59794b80dfa3c08300cb9611d719a5fa8409ac53",
      "parents": [
        "f16474d08ed51a3ccfaa70360aefdf12ebc79da1"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sat Jun 20 06:03:53 2015 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sat Jun 20 06:43:49 2015 +0100"
      },
      "message": "Move LD_USE_LOAD_BIAS to run-test-jar to reduce log verbosity.\n\nLD_USE_LOAD_BIAS is needed so that we can use dlopen.\nWithout it, we will fallback to our own loader and\ndump all mmap for diagnostics which makes the tests verbose.\n\nChange-Id: Ib12e9834b3454ffd726642859550545826ce38bf\n"
    },
    {
      "commit": "ab00b7af209acd9aab4e577900fc55249b19bae4",
      "tree": "4458e9c5f4342f5de34c6101efc3489e35497f61",
      "parents": [
        "1e73a95d74848020fab512a95a7f9a7ada72497b"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jun 19 22:05:35 2015 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jun 19 22:05:59 2015 -0700"
      },
      "message": "Make dump-oat-target work with second architecture\n\nBug: 19909409\nChange-Id: Iff21c5d3ce0e6b057a677da6726ee42af64463e7\n"
    },
    {
      "commit": "1e73a95d74848020fab512a95a7f9a7ada72497b",
      "tree": "8778e5334fa5bd841a078fc40a3c6a2122fd494c",
      "parents": [
        "a60bd74737fcd1b3737bc523741efa1097bbd782",
        "17065880693d1b15ffeb60b9955a2d092839977f"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sat Jun 20 04:30:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jun 20 04:30:30 2015 +0000"
      },
      "message": "Merge \"Use signed encoding when using relative CFI addresses.\""
    },
    {
      "commit": "17065880693d1b15ffeb60b9955a2d092839977f",
      "tree": "518f28f4767f3144173df2c52d35c4d5f46c532c",
      "parents": [
        "f16474d08ed51a3ccfaa70360aefdf12ebc79da1"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sat Jun 20 05:01:22 2015 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sat Jun 20 05:09:22 2015 +0100"
      },
      "message": "Use signed encoding when using relative CFI addresses.\n\nThis is required for gdb to work.\nlibunwind works with either encoding.\n\nBug: 21924613\nChange-Id: I4e4f1cf9c65d48fa885a5993eeeed0253a3f2579\n"
    },
    {
      "commit": "a60bd74737fcd1b3737bc523741efa1097bbd782",
      "tree": "35069a0c16e84be12d599e6062fef8858ddecc89",
      "parents": [
        "ba7837b2308aeaaa613383297737488af558aed7",
        "ef0b1a1dbc99fe7c92f9598cbfc164763c1b66d7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Jun 20 04:03:20 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jun 20 04:03:21 2015 +0000"
      },
      "message": "Merge \"ART: Check for expected args for instance methods\""
    },
    {
      "commit": "ef0b1a1dbc99fe7c92f9598cbfc164763c1b66d7",
      "tree": "a644d45fae2717442d15927b196786ff175c56d8",
      "parents": [
        "0420f81a5c6c08bc62060b8ff5dda8949f9a9ce9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 19 20:37:46 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 19 20:46:23 2015 -0700"
      },
      "message": "ART: Check for expected args for instance methods\n\nDon\u0027t assume that the receiver is expected. This was writing out\nof bounds (or triggering a DCHECK).\n\nBug: 21817284\nBug: 21872240\nBug: https://code.google.com/p/android/issues/detail?id\u003d176571\nBug: https://code.google.com/p/android/issues/detail?id\u003d176572\nChange-Id: I7cad2c1dfc39feb0b1b4660deeb43afdcb844ba3\n"
    },
    {
      "commit": "ba7837b2308aeaaa613383297737488af558aed7",
      "tree": "4e4b199a55ffa3b287e7dd3175f8b46ebd412f3d",
      "parents": [
        "d1a06338b9aa818b730ef1d46549a09af8f35c5b",
        "29498a23bcfe47a7134552aacad5524ecb484a49"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Jun 20 00:43:39 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jun 20 00:43:39 2015 +0000"
      },
      "message": "Merge \"ART: Check var-arg count earlier in method verifier\""
    },
    {
      "commit": "29498a23bcfe47a7134552aacad5524ecb484a49",
      "tree": "0f677bef57ab626caf3877e19df4e090920e2241",
      "parents": [
        "0420f81a5c6c08bc62060b8ff5dda8949f9a9ce9"
      ],
      "author": {
        "name": "Taiju Tsuiki",
        "email": "tzik@google.com",
        "time": "Mon Apr 13 14:21:00 2015 +0900"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 19 17:41:23 2015 -0700"
      },
      "message": "ART: Check var-arg count earlier in method verifier\n\nCheck the count in vararg instructions before filling the temp\narray. Avoids a DCHECK.\n\nBug: 21869663\nBug: 20170976\n\nChange-Id: I1ff93502ab84c5967ad54d1b50dba517da791637\n"
    },
    {
      "commit": "d1a06338b9aa818b730ef1d46549a09af8f35c5b",
      "tree": "8823d13a8db63e65e06a4b35b61295efcff75f47",
      "parents": [
        "d5ff8c584b230da350f4ebfffec1d245c09bf26b",
        "f8da196097d1b33121a73abcaf443d173ceab8eb"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 19 22:42:21 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 19 22:42:21 2015 +0000"
      },
      "message": "Merge \"Fix GC map generation edge case\""
    },
    {
      "commit": "f8da196097d1b33121a73abcaf443d173ceab8eb",
      "tree": "8823d13a8db63e65e06a4b35b61295efcff75f47",
      "parents": [
        "d5ff8c584b230da350f4ebfffec1d245c09bf26b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 19 13:55:27 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 19 15:19:56 2015 -0700"
      },
      "message": "Fix GC map generation edge case\n\nPreviously we checked the number of bits, but then rounded up to a\nbyte boundary. If ref_bitmap_bits was 65535, it would pass the check\nbut not actually fit in the 13 bits for ref_bitmap_bytes since we\nrounded up to 8192 bytes.\n\n(cherry picked from commit 1626b919005df42ccc90ebe68fc57b7c56d44029)\n\nRegression test infeasible due to smali limitations.\n\nBug: 21888453\nChange-Id: If4b769431f27ecca14fe7852d017bcde01b3e146\n"
    },
    {
      "commit": "d5ff8c584b230da350f4ebfffec1d245c09bf26b",
      "tree": "06efa56d932dfdaab5ae27b020cdb7e292558dfe",
      "parents": [
        "e102f1937ca14df87594469430d2e6e0ebe0f357",
        "dde9827f75d1e1e9cd4b7e6b54086aec54f29b5f"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Jun 19 18:15:00 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 19 18:15:00 2015 +0000"
      },
      "message": "Merge \"Fix case where block has no predecessor for StringChange.\""
    },
    {
      "commit": "dde9827f75d1e1e9cd4b7e6b54086aec54f29b5f",
      "tree": "06efa56d932dfdaab5ae27b020cdb7e292558dfe",
      "parents": [
        "e102f1937ca14df87594469430d2e6e0ebe0f357"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Jun 17 16:04:26 2015 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Jun 19 11:03:50 2015 -0700"
      },
      "message": "Fix case where block has no predecessor for StringChange.\n\nRemoves part that checks for throwing half of instruction. It\u0027s no\nlonger necessary. Also adds regression test.\n\nBug: 21902684\n\n(cherry-picked from commit 3e91a44bc9063f7f69b5415e3cf162991f73283f)\n\nChange-Id: I8d7308ff227816fb475341c2b74ed84d5695a2f5\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": "e4bb626ff09e409c9482e515716de7cd595ea466",
      "tree": "e01c42443ab5b6de7cd0f52bbb509824cf970bd3",
      "parents": [
        "87a135e8699119c9ef99b0221acf481d7d6501d4",
        "8958f7f8702327e713264d0538ab5dec586f3738"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 19 16:39:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 19 16:39:30 2015 +0000"
      },
      "message": "Merge \"Quick: Handle total high/low register overlap on arm/mips.\""
    },
    {
      "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": "ff3fd957020f0e5cf5cc279f4bbbca3545ce8745",
      "tree": "80e976c515c5e21238658e287e0dc422d6bfc7c3",
      "parents": [
        "dbc0345e7a066726fda6dbfe47592963f4602c56",
        "f11c420c448baffac6a70ac0884d481ab347e257"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 19 15:44:22 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 19 15:44:23 2015 +0000"
      },
      "message": "Merge \"Quick: Fix optimizations for empty if blocks.\""
    },
    {
      "commit": "dbc0345e7a066726fda6dbfe47592963f4602c56",
      "tree": "d8d146c61e3250f7fc0979686fa3dbb77353bae9",
      "parents": [
        "7ed9cec8bc302a0b4fe5a127b58bfddd702a70e8",
        "46648896b9ff3640a9b7ec742ec63957c412eab3"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jun 19 15:09:31 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 19 15:09:32 2015 +0000"
      },
      "message": "Merge \"Opt compiler: Add a description to MIP64 slow paths.\""
    },
    {
      "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": "7ed9cec8bc302a0b4fe5a127b58bfddd702a70e8",
      "tree": "0d96a327d1b3a7e09eff178a66c0b5fb946cfc85",
      "parents": [
        "71af6f7aab7491665fe2d6beb9af4c251a99ad56",
        "4dda3376b71209fae07f5c3c8ac3eb4b54207aa8"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jun 19 14:51:33 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 19 14:51:34 2015 +0000"
      },
      "message": "Merge \"MIPS: Initial version of optimizing compiler for MIPS64R6.\""
    },
    {
      "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": "8958f7f8702327e713264d0538ab5dec586f3738",
      "tree": "4734d488a200ae240d368b07a6dc335044d55108",
      "parents": [
        "97d207c3beba0a4ed6402e882c5909c5ac5bde6d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 19 14:56:38 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 19 15:14:58 2015 +0100"
      },
      "message": "Quick: Handle total high/low register overlap on arm/mips.\n\nOpRegCopyWide() in arm and mips backends didn\u0027t handle the\ntotal register overlap when the registers holding the source\nand destination pairs are the same but in reverse order.\n\nBug: 21897012\nChange-Id: Ia1f0005cbf5cc1c2d30899575dea21b3efa20ae6\n"
    },
    {
      "commit": "f11c420c448baffac6a70ac0884d481ab347e257",
      "tree": "dc7c7c03810c21351d2411e5c01bc0be8299ddd6",
      "parents": [
        "d8d7b90ca57e8e3762951bb419b6f2645bb414c5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 19 12:58:22 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 19 15:01:42 2015 +0100"
      },
      "message": "Quick: Fix optimizations for empty if blocks.\n\nIf a block ending with if-eqz or if-nez has the same \"taken\"\nand \"fallthrough\", we cannot assume that the value has been\nchecked against zero in one of the succesors. This affects\nthe null check elimination pass as well as GVN. Refactor all\nthose checks to a single function in BasicBlock and check\nthat the \"taken\" and \"falthrough\" are different when needed.\n\nBug: 21614284\nChange-Id: I8c6ac23e96cdaf5984786a555ebbd28110f095cb\n"
    },
    {
      "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": "be59b85251f085359d40bb89b1aa7e037c8ac0ef",
      "tree": "4690a379bd53c55233ed539866084738d6fb45cc",
      "parents": [
        "511b7cb2c2c1f276875ff2762bbc97337d824a63",
        "f7714e6c4a02594acb5ac6efb683b277066e758f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 19 10:07:46 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 19 10:07:47 2015 +0000"
      },
      "message": "Merge \"Make Main public to pass tests on all configurations.\""
    },
    {
      "commit": "511b7cb2c2c1f276875ff2762bbc97337d824a63",
      "tree": "b095eccb630dd0a051ba292af1c1b13a111b1236",
      "parents": [
        "f12ffdb549f1947125e3f56694cb479a619f02bf",
        "ea9ef4dccf8af7ef9865b373ea6da00f007cf641"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 19 09:50:49 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 19 09:50:50 2015 +0000"
      },
      "message": "Merge \"Use the right bug number. Spotted by vmarko.\""
    },
    {
      "commit": "f7714e6c4a02594acb5ac6efb683b277066e758f",
      "tree": "4cfe6a7c5f24f80329d0249f56a6e7227572df07",
      "parents": [
        "3c4fb2d1836a81823677191ad91203779427b610"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 19 10:45:44 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 19 10:47:31 2015 +0100"
      },
      "message": "Make Main public to pass tests on all configurations.\n\nThere\u0027s a mismatch between compile-time and runtime access checks.\nThis doens\u0027t fix it but keep us green.\n\nbug:21923303\n\nChange-Id: I1d4a80557f9d8ca9d8bef18a8c23230ed46d4a4c\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": "ea9ef4dccf8af7ef9865b373ea6da00f007cf641",
      "tree": "b095eccb630dd0a051ba292af1c1b13a111b1236",
      "parents": [
        "f12ffdb549f1947125e3f56694cb479a619f02bf"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 19 10:05:50 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 19 10:11:58 2015 +0100"
      },
      "message": "Use the right bug number. Spotted by vmarko.\n\nbug:21863767\n\nChange-Id: I203072188c0c97b2d6709e1a59555b45fc5a0ab2\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": "f12ffdb549f1947125e3f56694cb479a619f02bf",
      "tree": "f7d34a8fcc4521269490c04a4586213a0e85bd8e",
      "parents": [
        "542ca97d3e4266896407b9abd29b36b1c59d798c",
        "52ea33b10370d60d4ce877aec529626537b7813b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 19 00:00:07 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 19 00:00:07 2015 +0000"
      },
      "message": "Merge \"Fix moving GC bug in DoFilledNewArray\""
    },
    {
      "commit": "52ea33b10370d60d4ce877aec529626537b7813b",
      "tree": "29f82ff0237589ead820356fd01eb43d9473fb4d",
      "parents": [
        "5592c688070fa327f56036c4c67c790289db63d9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 18 16:48:52 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 18 16:49:05 2015 -0700"
      },
      "message": "Fix moving GC bug in DoFilledNewArray\n\nPreviously we read from componentClass after allocating the array.\n\nBug: 21783443\n\nChange-Id: I5283982edab479434e27416509e1436b4176fe01\n"
    },
    {
      "commit": "542ca97d3e4266896407b9abd29b36b1c59d798c",
      "tree": "4c62b78f19f2b21de641d3927602b870a2d5e4a9",
      "parents": [
        "46d8702167d679dbf87ba9fa8fd0f1b6bbb3ed62",
        "2371c7233e0dbb6f770f8089837654c1cb99c9f6"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jun 18 22:41:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 18 22:41:57 2015 +0000"
      },
      "message": "Merge \"test: Fix lambda test incorrectly globbing together compiler arguments\""
    },
    {
      "commit": "2371c7233e0dbb6f770f8089837654c1cb99c9f6",
      "tree": "4c62b78f19f2b21de641d3927602b870a2d5e4a9",
      "parents": [
        "46d8702167d679dbf87ba9fa8fd0f1b6bbb3ed62"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jun 18 15:38:59 2015 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jun 18 15:40:09 2015 -0700"
      },
      "message": "test: Fix lambda test incorrectly globbing together compiler arguments\n\nThis also fixes test failures when running imageless tests.\n\nChange-Id: I9b0deb836907060160e31c434cf0710507f9665a\n"
    },
    {
      "commit": "46d8702167d679dbf87ba9fa8fd0f1b6bbb3ed62",
      "tree": "6ebe7d6e313475d7b969b29f5a4754af6f1bd90c",
      "parents": [
        "247e97746016b49183b52f4c386bedf7cd53e590",
        "9346ff0cfad6344d0bf4eaa69362dbe1987ac054"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 18 20:01:24 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 18 20:01:24 2015 +0000"
      },
      "message": "Merge \"Fix moving GC bugs in proxy stub for X86/X86_64\""
    },
    {
      "commit": "247e97746016b49183b52f4c386bedf7cd53e590",
      "tree": "758c0a7c60c2099fb6a8cf2d4ea68ffc8c9459ac",
      "parents": [
        "2b696ab55e817b583d7b3b3ffd39e48c38db6989",
        "158f35c98e2ec0d40d2c032b8cdce5fb60944a7f"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jun 18 19:56:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 18 19:56:58 2015 +0000"
      },
      "message": "Merge \"interpreter: Add experimental lambda opcodes for invoke/create-lambda\""
    },
    {
      "commit": "9346ff0cfad6344d0bf4eaa69362dbe1987ac054",
      "tree": "b54b7a4ea4025173f89640a753d09384bb7f914a",
      "parents": [
        "f16474d08ed51a3ccfaa70360aefdf12ebc79da1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 18 10:17:26 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 18 11:51:25 2015 -0700"
      },
      "message": "Fix moving GC bugs in proxy stub for X86/X86_64\n\nNeeded to restore the refs.\n\nBug: 21907554\nChange-Id: I562906dff07dcaa78dfb39646ba9ab35a5f56c6c\n"
    },
    {
      "commit": "2b696ab55e817b583d7b3b3ffd39e48c38db6989",
      "tree": "1bb97d1ae32fbf5ce91fbfc71491b6c1eca6c69e",
      "parents": [
        "3d266a96750db6969f24bcdb8025c06745e5a449",
        "2d1a0a408fd148f7b2a2d670e6942ec3d920f875"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 18 18:22:48 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 18 18:22:49 2015 +0000"
      },
      "message": "Merge \"Quick: Don\u0027t expect move-exception in every catch block.\""
    },
    {
      "commit": "2d1a0a408fd148f7b2a2d670e6942ec3d920f875",
      "tree": "1bb97d1ae32fbf5ce91fbfc71491b6c1eca6c69e",
      "parents": [
        "3d266a96750db6969f24bcdb8025c06745e5a449"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 18 17:40:00 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 18 19:15:13 2015 +0100"
      },
      "message": "Quick: Don\u0027t expect move-exception in every catch block.\n\nThe dalvik bytecode doesn\u0027t require a move-exception in\na catch handler that ignores the exception.\n\nBug: 21873167\nChange-Id: I3b49218a8c7ff021141387bd929bb2ae798f8509\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": "158f35c98e2ec0d40d2c032b8cdce5fb60944a7f",
      "tree": "63bb3bbed85b0add42c7fdc714cd611424d8af2e",
      "parents": [
        "c449e8b79aaaf156ce055524c41474cc1200ed5a"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Jun 10 15:55:30 2015 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jun 18 10:22:27 2015 -0700"
      },
      "message": "interpreter: Add experimental lambda opcodes for invoke/create-lambda\n\nThese opcodes are not yet fully specified, and *will* change before they become shippable.\nDo not write production code against experimental opcodes.\n\n--\n\nImplement partial interpreter support for new dex instructions invoke/create-lambda, and a\nnew opcode format 25x.\n\n* Does not verify, in fact verification will soft fail when we see those opcodes.\n* Compilers will punt to interpreter since they don\u0027t support new opcodes.\n* As there is no way to capture/liberate variables yet, the \"closure\" is just\n  an ArtMethod for the time being.\n\nAll new opcodes are disabled by default, use runtime option -Xexperimental-lambdas to enable them.\n\nFor example:\n  dalvikvm ... -Xexperimental-lambdas ...\n  dex2oat --runtime-arg -Xexperimental-lambdas ...\n\nChange-Id: I6c996ca32a9b54ec45ec21d7a959b84dfb8a24eb\n"
    },
    {
      "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": "92fe57fe6e3512616f71b2b2183344c56d6753e6",
      "tree": "504736b4a992cbbe1a2d6eb117d65cdf8042fd57",
      "parents": [
        "46ff9b6100e66306233534e26c16d3c6738070a9",
        "511d408909b7fe9be3c95e032cc7f426f4a01e6e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 18 15:51:35 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 18 15:51:36 2015 +0000"
      },
      "message": "Merge \"Quick: Fix marking unused registers 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": "46ff9b6100e66306233534e26c16d3c6738070a9",
      "tree": "d873cf286172ae95c87bc760cb9bdaae62a7b73c",
      "parents": [
        "d4de42f6fd0f00c5b3ca01fed6a26d11e617c3b9",
        "07785bb98dc8bbe192970e0f4c2cafd338a8dc68"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 18 14:19:22 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 18 14:19:23 2015 +0000"
      },
      "message": "Merge \"ART: Fix reporting initialized classes by CompilerDriver.\""
    },
    {
      "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": "07785bb98dc8bbe192970e0f4c2cafd338a8dc68",
      "tree": "d12a20d7790fffc8648d7da6a7944595516c1d89",
      "parents": [
        "6ebf70ec61eff097e1bdddb1b887316389e34dde"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jun 15 18:52:54 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 18 12:44:51 2015 +0100"
      },
      "message": "ART: Fix reporting initialized classes by CompilerDriver.\n\nFix a bug where the CompilerDriver was erroneously reporting\nclasses as initialized during AOT compilation when they were\nnot guaranteed to be initialized at runtime.\n\nThis fix prevents the Quick compiler from inlining calls to\nstatic methods in classes that are not guaranteed to be\ninitialized, so that the runtime performs the initialization\nrequired for correctness.\n\nBug: 21847756\nChange-Id: I6fee5ef9c05c2e5190ab8a9fe61365d5119011c5\n"
    },
    {
      "commit": "511d408909b7fe9be3c95e032cc7f426f4a01e6e",
      "tree": "c44784c64d7c28479b749e4451a732a8d6a5d412",
      "parents": [
        "b66fda7c7e2e3c24e2a146c3f9d904b1828346a1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jun 17 22:00:09 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 18 11:53:14 2015 +0100"
      },
      "message": "Quick: Fix marking unused registers in DCE.\n\nBug: 21702651\nChange-Id: Idca17b465152e0c61704fc49761c7ba89caf5b20\n"
    },
    {
      "commit": "3c4fb2d1836a81823677191ad91203779427b610",
      "tree": "beb4b4847e399e09bb737751a6e7e9f76d9c8c61",
      "parents": [
        "f16474d08ed51a3ccfaa70360aefdf12ebc79da1",
        "7f43791329dd06727e157c15784836db94dc1747"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 18 07:42:02 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 18 07:42:02 2015 +0000"
      },
      "message": "Merge \"Forgot this change in last commit.\""
    },
    {
      "commit": "f16474d08ed51a3ccfaa70360aefdf12ebc79da1",
      "tree": "0f73cb94559ad3eeec6b6bb863377f4cb7366af1",
      "parents": [
        "5592c688070fa327f56036c4c67c790289db63d9",
        "05b7226787f1470ad93f6f632fed60f70bc8631e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 18 00:02:11 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 18 00:02:12 2015 +0000"
      },
      "message": "Merge \"Fix some java_lang_Class related moving GC bugs\""
    },
    {
      "commit": "05b7226787f1470ad93f6f632fed60f70bc8631e",
      "tree": "0f73cb94559ad3eeec6b6bb863377f4cb7366af1",
      "parents": [
        "5592c688070fa327f56036c4c67c790289db63d9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 17 16:11:12 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 17 16:55:40 2015 -0700"
      },
      "message": "Fix some java_lang_Class related moving GC bugs\n\nThere was some missing handles around mirror::Class*.\n\nBug: 21898408\nChange-Id: Icb754074dfb469473101d20d6873a5bc3274abc5\n"
    },
    {
      "commit": "5592c688070fa327f56036c4c67c790289db63d9",
      "tree": "7dd43aa4603984616517474ca89e27e2ec18378f",
      "parents": [
        "0420f81a5c6c08bc62060b8ff5dda8949f9a9ce9",
        "4d122c180c3ff8c677cbaae83e856acf0d856498"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 17 22:42:46 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 17 22:42:47 2015 +0000"
      },
      "message": "Merge \"Add missing EndAssertNoThreadSuspension\""
    },
    {
      "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": "0420f81a5c6c08bc62060b8ff5dda8949f9a9ce9",
      "tree": "2a258a5c9c0f2a5cb719d04eed161a0b432a91bf",
      "parents": [
        "b66fda7c7e2e3c24e2a146c3f9d904b1828346a1",
        "82e73dcc290ae8603c8a2e533d6a8a19cc2983a3"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jun 17 21:59:58 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 17 21:59:59 2015 +0000"
      },
      "message": "Merge \"Release dummy MemMaps corresponding to dlopen.\""
    },
    {
      "commit": "82e73dcc290ae8603c8a2e533d6a8a19cc2983a3",
      "tree": "6677966c718dc1067eea0c9e8108fe590c03669e",
      "parents": [
        "b3e3000a59a3b0d765840bd1a939213a2b400763"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jun 17 18:36:23 2015 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jun 17 22:52:48 2015 +0100"
      },
      "message": "Release dummy MemMaps corresponding to dlopen.\n\nThis fixes memory leak.\n\nChange-Id: I857f078e8559a56b2d10dd081256c41ab28c8ec6\n"
    },
    {
      "commit": "4d122c180c3ff8c677cbaae83e856acf0d856498",
      "tree": "2551515ef0f48620ac5dca714a8cf63d78eb276c",
      "parents": [
        "b66fda7c7e2e3c24e2a146c3f9d904b1828346a1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 17 14:14:36 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 17 14:30:59 2015 -0700"
      },
      "message": "Add missing EndAssertNoThreadSuspension\n\n(cherry picked from commit a3b9d4eda1ef0845f307891f349eaf752750ac16)\n\nBug: 21872507\nChange-Id: I20f9920e4a12511ce498c252bca955d82a4f4102\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": "7f43791329dd06727e157c15784836db94dc1747",
      "tree": "16e1b0553a62daeb199b0d3f5530d4ca6f8746b4",
      "parents": [
        "b66fda7c7e2e3c24e2a146c3f9d904b1828346a1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 15 14:35:01 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 17 21:59:37 2015 +0100"
      },
      "message": "Forgot this change in last commit.\n\nbug:21746693\nChange-Id: I1ae9690d393cf1bae10cb06ff1c6754ab2a50595\n"
    },
    {
      "commit": "b66fda7c7e2e3c24e2a146c3f9d904b1828346a1",
      "tree": "25d18676c87c9738624793f2983bc0e87faecf6e",
      "parents": [
        "43d154bed3ad0bba766211af1f2637500d30a93f",
        "2ef645ba50544b879a82ea30e606f18c9af98917"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jun 17 17:42:11 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 17 17:42:12 2015 +0000"
      },
      "message": "Merge \"ART: Allow PackedSwitch instructions with zero targets\""
    },
    {
      "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": "43d154bed3ad0bba766211af1f2637500d30a93f",
      "tree": "53de01908990954cdf0f46168cb437d5c12ebf2e",
      "parents": [
        "cb5dc7f4b795c3ef7ec48989542efdbe44898b94",
        "15875b0d36fce555534bb840b13b39d61fd108f2"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jun 17 17:01:16 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 17 17:01:16 2015 +0000"
      },
      "message": "Merge \"Revert \"ART: Allow PackedSwitch instructions with zero targets\"\""
    },
    {
      "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": "cb5dc7f4b795c3ef7ec48989542efdbe44898b94",
      "tree": "bdffe0a82c85051607a5ecd61056262836eac212",
      "parents": [
        "edb83c606e034d76bed1331f34cdc435df47bb95",
        "241f9c41924e33e0c3bab9a7c4306397458749ca"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jun 17 16:32:51 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 17 16:32:51 2015 +0000"
      },
      "message": "Merge \"ART: Allow PackedSwitch instructions with zero targets\""
    },
    {
      "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": "edb83c606e034d76bed1331f34cdc435df47bb95",
      "tree": "53de01908990954cdf0f46168cb437d5c12ebf2e",
      "parents": [
        "4b9a93e7774d6650f6f3b637d018109d6fe97546",
        "7cb499b1af1575c854860b0d6a103c4a2a59a569"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 17 10:50:00 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 17 10:50:00 2015 +0000"
      },
      "message": "Merge \"Fix bug in optimizing around instanceof.\""
    },
    {
      "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": "4b9a93e7774d6650f6f3b637d018109d6fe97546",
      "tree": "0327e8fb6842dad40418639d67a71b518b5bfc8e",
      "parents": [
        "445e35028bc5cb6d921dc60e579b7b40ceb16c71",
        "3cde6227678cf62e06bca264671d1e957456ac3d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 17 09:44:18 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 17 09:44:20 2015 +0000"
      },
      "message": "Merge \"Remove bogus DCHECK in BCE.\""
    },
    {
      "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": "445e35028bc5cb6d921dc60e579b7b40ceb16c71",
      "tree": "7878cb9d6ee9aa9c07f8a6272a666ced151cbc86",
      "parents": [
        "a28905535905ed2b86de6f621991b8775beb493e",
        "12bdb72221f344ba0d86f338cc0feb49799c37f0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 17 09:19:09 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 17 09:19:13 2015 +0000"
      },
      "message": "Merge \"More stack map dumping.\""
    },
    {
      "commit": "12bdb72221f344ba0d86f338cc0feb49799c37f0",
      "tree": "2e67328d604f9904f779a66c8389bca7aa435347",
      "parents": [
        "088bd0d28acb70302d20f6e19a9db7f0536c09ee"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 17 09:44:43 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 17 10:01:29 2015 +0100"
      },
      "message": "More stack map dumping.\n\nChange-Id: I1f734c0c9eabda1cc6adaf32579e4c3be4a45c9a\n"
    },
    {
      "commit": "a28905535905ed2b86de6f621991b8775beb493e",
      "tree": "f91e7d61cb62b0f8714f7f4dd5db350f1b982135",
      "parents": [
        "233cf0e8584225f1f7d21d4999cda18c23469d59",
        "c37769b63faf7b120a6ed80f5cfb92667f5090c4"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Jun 17 08:57:36 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 17 08:57:39 2015 +0000"
      },
      "message": "Merge \"Fix lint error.\""
    },
    {
      "commit": "233cf0e8584225f1f7d21d4999cda18c23469d59",
      "tree": "b84e18b6d9d0b8c0c2c2eece78d2086eb6fbf1c5",
      "parents": [
        "088bd0d28acb70302d20f6e19a9db7f0536c09ee",
        "ca1476ff428edc29d258a5e693d894b0f7a0f7b7"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jun 17 08:56:12 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 17 08:56:12 2015 +0000"
      },
      "message": "Merge \"Exercise sun.misc.Unsafe.getObject.\""
    },
    {
      "commit": "c37769b63faf7b120a6ed80f5cfb92667f5090c4",
      "tree": "6b5d743c3f2a41db3c97383271ba6c9d7ec28986",
      "parents": [
        "088bd0d28acb70302d20f6e19a9db7f0536c09ee"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Jun 17 09:49:40 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Jun 17 09:54:19 2015 +0100"
      },
      "message": "Fix lint error.\n\nBlank line at the start of a code block.\n\nChange-Id: Ifc0d78acc8b2eecbdc1a340009757f9218ce2c5c\n"
    },
    {
      "commit": "088bd0d28acb70302d20f6e19a9db7f0536c09ee",
      "tree": "f1c8201a5704b984569b839695a50b9423247ae7",
      "parents": [
        "b3daa2312747eaf852c948c189ca0745db116447",
        "cf93a5cd9c978f59113d42f9f642fab5e2cc8877"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jun 17 08:45:51 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 17 08:45:52 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"ART: Implement literal pool for arm, fix branch fixup.\"\"\""
    },
    {
      "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"
    }
  ],
  "next": "b3daa2312747eaf852c948c189ca0745db116447"
}
