)]}'
{
  "log": [
    {
      "commit": "104fd8a3f30ddcf07831250571aa2a233cd5c04d",
      "tree": "7aec8353b7d3906da500595fc81de11ad6f1ad40",
      "parents": [
        "81d804a51d4fc415e1544a5a09505db049f4eda6"
      ],
      "author": {
        "name": "Guillaume \"Vermeille\" Sanchez",
        "email": "guillaumesa@google.com",
        "time": "Wed May 20 17:52:13 2015 +0100"
      },
      "committer": {
        "name": "Guillaume \"Vermeille\" Sanchez",
        "email": "guillaumesa@google.com",
        "time": "Fri May 29 11:43:04 2015 +0100"
      },
      "message": "Bring Reference Type Propagation to Instance/StaticInstanceField\n\nFor this, we need the field index in FieldInfo, hence the add of the field.\n\nChange-Id: Id219bd826d8496acf3981307a8c42e2eb6ddb712\n"
    },
    {
      "commit": "81d804a51d4fc415e1544a5a09505db049f4eda6",
      "tree": "fcb1fbb3acf1c6328c5e6a8147e5a6f12a907534",
      "parents": [
        "c06841dac1443e99e92596f15caa82c99bfee010"
      ],
      "author": {
        "name": "Guillaume \"Vermeille\" Sanchez",
        "email": "guillaumesa@google.com",
        "time": "Wed May 20 12:42:25 2015 +0100"
      },
      "committer": {
        "name": "Guillaume \"Vermeille\" Sanchez",
        "email": "guillaumesa@google.com",
        "time": "Wed May 27 18:10:31 2015 +0100"
      },
      "message": "Bring Reference Type Propagation to NewArray\n\nChange-Id: Ieff4f38854e06b0ed4b5689ced94a4289053d80d\n"
    },
    {
      "commit": "41f27292e10792165bfdf67b9a35ccaea1a6872e",
      "tree": "96888dee63e7d3ff6a0e1b6a76f453a1138dce7a",
      "parents": [
        "9470f045c89cdb3de5175266bda523b8a1c2d96d",
        "6530baf76ef7a62f2d76a6735ad461d7d59cf0e4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue May 26 14:34:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 26 14:34:58 2015 +0000"
      },
      "message": "Merge \"Move the catalog after the stack maps.\""
    },
    {
      "commit": "6530baf76ef7a62f2d76a6735ad461d7d59cf0e4",
      "tree": "663de5d35062e3e6d6c953a2b2da967b8464fb2c",
      "parents": [
        "ce63cf656bb5b25051d580a58086f4bf15fb878b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue May 26 15:22:58 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue May 26 15:22:58 2015 +0100"
      },
      "message": "Move the catalog after the stack maps.\n\nFetching a stack map should be cheap, and therefore we should\nnot compute the size of the catalog.\n\nChange-Id: Iff6accb7832bdfa6d209a0928d6088b8b57c1aa4\n"
    },
    {
      "commit": "9470f045c89cdb3de5175266bda523b8a1c2d96d",
      "tree": "85f0be8e1a5dcd42ccc84355b184650e29086bab",
      "parents": [
        "ce63cf656bb5b25051d580a58086f4bf15fb878b",
        "d0261431ec6e2224c8bb58e194d90ada82475e20"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue May 26 14:12:51 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 26 14:12:52 2015 +0000"
      },
      "message": "Merge \"Make inlining deterministic.\""
    },
    {
      "commit": "d0261431ec6e2224c8bb58e194d90ada82475e20",
      "tree": "dd72f3c0236b8adcb5d4e82d50193edc39727811",
      "parents": [
        "092a5656937a319449346e8c356f3f4c2870d81c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue May 26 14:35:06 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue May 26 14:37:34 2015 +0100"
      },
      "message": "Make inlining deterministic.\n\nOnly the case where two methods are not in the same dex\nfile could lead to undeterministic behavior.\n\nbug:20037935\n\nChange-Id: I1a7642a979302b17e76d196894437c1aacbbbe9d\n"
    },
    {
      "commit": "c7af85dad0dc392cfc0b373b0c1cb4b4197c89f4",
      "tree": "b49bf148c462e9b5f1911037b2ae830ed3beed6e",
      "parents": [
        "8a8d8252f52bec14a8fe2b6f88e1f184c63cf351"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 26 12:05:55 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 26 12:05:55 2015 +0100"
      },
      "message": "ART: Update graph\u0027s exit block field if removed\n\nRunning DCE on an infinite loop will delete the exit block but the\ncorresponding field is currently not cleared in the parent graph.\nThis does not cause any problems at the moment as that information is\nonly used in codegens to DCHECK that a block is not the exit block.\nHowever, it will be necessary to update the inliner once we start to\ninline methods with loops.\n\nWith this patch, DCE will update the HGraph::exit_block_ field. DCHECK\nwas also added to HGraph::InlineInto to make sure that the inlined\ngraph does have an exit block.\n\nChange-Id: Ia8ddca375bbc6830cd919af6059a52cc9b73a023\n"
    },
    {
      "commit": "8a8d8252f52bec14a8fe2b6f88e1f184c63cf351",
      "tree": "8d7c1368daa545d7db3f2c1416f8bab39a1e7b5f",
      "parents": [
        "ca27be7a95e1b238c76a4a5fccaad2a3416766c2",
        "d5111bf05fc0a9974280a80eeb43db6d5227a81e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue May 26 10:02:31 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 26 10:02:31 2015 +0000"
      },
      "message": "Merge \"Do not use dex_compilation_unit after inlining.\""
    },
    {
      "commit": "ca27be7a95e1b238c76a4a5fccaad2a3416766c2",
      "tree": "1988f3a92900004b9b31fb938e5167b48b122735",
      "parents": [
        "e7654e5ab8668d14aab0d4bf1b3631ef150b36dd",
        "9bd88b0933a372e6a7b64b850868e6a7998567e2"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 22 23:07:36 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 22 23:07:36 2015 +0000"
      },
      "message": "Merge \"ARM64: Move xSELF from x18 to x19.\""
    },
    {
      "commit": "d5111bf05fc0a9974280a80eeb43db6d5227a81e",
      "tree": "cd119fb5d07f8347699ce7551e9471f2740b21ba",
      "parents": [
        "aa49c23d47e5fdfcf51380550ee864e9d30d082b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri May 22 15:37:09 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri May 22 15:37:09 2015 +0100"
      },
      "message": "Do not use dex_compilation_unit after inlining.\n\nIt\u0027s incompatible with inlining, as inlined invokes/load class/new\ncan be from another dex file.\n\nChange-Id: I8897b6a012942bc8e136f2bea70252d3fb3a7fa5\n"
    },
    {
      "commit": "d56376cce54e7df976780ecbd03228f60d276433",
      "tree": "5a523ff4a1589a4462207f4c75fad921870a62a2",
      "parents": [
        "aa49c23d47e5fdfcf51380550ee864e9d30d082b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 21 12:32:34 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri May 22 15:06:45 2015 +0100"
      },
      "message": "Revert \"Revert \"Introduce a NearLabel in thumb2.\"\"\n\nThis reverts commit 1f277e3cef6c33cd35e91123978491d83338d2ad.\n\n- Fix CompareAndBranch to not use cbz/cbnz with high registers.\n- Add a test for CompareAndBranch with the *inc file, as the\n  other assembler test infrastructure does not handle labels.\n\nChange-Id: If552bf1112b96caa3b9bb6c73c4b40bb90a33db7\n"
    },
    {
      "commit": "9bd88b0933a372e6a7b64b850868e6a7998567e2",
      "tree": "bcd275674c1234842b757ea8e100c4030f9ac6fe",
      "parents": [
        "01cb410f4ad23135671d821ba36c269f8c82affa"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@linaro.org",
        "time": "Wed Apr 22 16:24:46 2015 +0100"
      },
      "committer": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Fri May 22 12:01:07 2015 +0100"
      },
      "message": "ARM64: Move xSELF from x18 to x19.\n\nThis patch moves xSELF to callee saved x19 and removes support for\nETR (external thread register), previously used across native calls.\n\nChange-Id: Icee07fbb9292425947f7de33d10a0ddf98c7899b\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@linaro.org\u003e\n"
    },
    {
      "commit": "d6a1eaef02d0c73a8c24ff93ff68fc4f0d46925f",
      "tree": "4078995c91b3862cb899966d34b31b0c7b05072d",
      "parents": [
        "9758a8e4f7a8823161604aa876517e9ff5b8bb12",
        "1f277e3cef6c33cd35e91123978491d83338d2ad"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 21 12:26:43 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 21 12:26:44 2015 +0000"
      },
      "message": "Merge \"Revert \"Introduce a NearLabel in thumb2.\"\""
    },
    {
      "commit": "1f277e3cef6c33cd35e91123978491d83338d2ad",
      "tree": "85cae510b2103fe6685982b74f44a7cafb7428e4",
      "parents": [
        "db0bbab279534974dca507946c66cff2d05dc9f9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 21 12:26:31 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 21 12:26:31 2015 +0000"
      },
      "message": "Revert \"Introduce a NearLabel in thumb2.\"\n\nFails some benchmarks and libcore tests.\n\nThis reverts commit db0bbab279534974dca507946c66cff2d05dc9f9.\n\nChange-Id: I5d1afef5ede87e65d61f49529027c5c2f35b17fb\n"
    },
    {
      "commit": "9758a8e4f7a8823161604aa876517e9ff5b8bb12",
      "tree": "f1c3805eeec53b169d5204e4e8fda5722751bc54",
      "parents": [
        "19b71cd0af3b45a105073d80ce33ede69b14adfd",
        "b176d7c6c8c01a50317f837a78de5da57ee84fb2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 21 11:11:17 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 21 11:11:18 2015 +0000"
      },
      "message": "Merge \"Also encode the InvokeType in an InlineInfo.\""
    },
    {
      "commit": "b176d7c6c8c01a50317f837a78de5da57ee84fb2",
      "tree": "81ec0c16267c527bdc64923b374be915206e6af9",
      "parents": [
        "713c59e813daa92da3f1678add6c4c7e16dcff11"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 20 18:48:31 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 21 12:10:00 2015 +0100"
      },
      "message": "Also encode the InvokeType in an InlineInfo.\n\nThis will be needed to recover the call stack.\n\nChange-Id: I2fe10785eb1167939c8cce1862b2d7f4066e16ec\n"
    },
    {
      "commit": "1fd8dae90da7bd62c4c04cd10d4f600e8d9e4416",
      "tree": "b7d76492ba33fab9f7f7568f0739a1dcb91113de",
      "parents": [
        "01cb410f4ad23135671d821ba36c269f8c82affa",
        "db0bbab279534974dca507946c66cff2d05dc9f9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 21 10:29:26 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 21 10:29:27 2015 +0000"
      },
      "message": "Merge \"Introduce a NearLabel in thumb2.\""
    },
    {
      "commit": "db0bbab279534974dca507946c66cff2d05dc9f9",
      "tree": "190c7ace8cfb404202a342bef51aa967592c8d6b",
      "parents": [
        "099d3750d59719cecffdf49284f2633308b9c221"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 20 12:31:08 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 20 18:44:51 2015 +0100"
      },
      "message": "Introduce a NearLabel in thumb2.\n\nThis tells the assembler that the user knows the encoding\ncan be in 16bits.\n\nChange-Id: Idf36c38beb1e07a69862c972484aeb08326a0499\n"
    },
    {
      "commit": "9099ef709240f3b039f521f344c778e846840e8f",
      "tree": "fe8d64c9251c3f38e3e55d647484c105ea69c09c",
      "parents": [
        "0ba218df92d2130295eccd2c564f8fdd2efc3a71"
      ],
      "author": {
        "name": "Guillaume \"Vermeille\" Sanchez",
        "email": "guillaumesa@google.com",
        "time": "Wed May 20 15:19:21 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed May 20 17:15:04 2015 +0100"
      },
      "message": "Add tests for InstanceOf\u0027s and CheckCast\u0027s MustDoNullCheck\n\nChange-Id: I6a2b9293d91d27193625f5c61b0b64733a0c0d82\n"
    },
    {
      "commit": "0ba218df92d2130295eccd2c564f8fdd2efc3a71",
      "tree": "83f36639c262d3e37c9894178c2e9aa21e75140c",
      "parents": [
        "9ba4e65148feec589fece0c991695ba1049785bf"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue May 19 18:46:01 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed May 20 17:10:18 2015 +0100"
      },
      "message": "Remove unnecessary clinit checks\n\nBug: 20852802\nChange-Id: Ia6db8017ac22d45456845704a69ddffcc6917f4e\n"
    },
    {
      "commit": "9ba4e65148feec589fece0c991695ba1049785bf",
      "tree": "85cae510b2103fe6685982b74f44a7cafb7428e4",
      "parents": [
        "713c59e813daa92da3f1678add6c4c7e16dcff11",
        "2b79984e04a661cf0cecf85978ccd832fe97a985"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed May 20 14:14:43 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 20 14:14:44 2015 +0000"
      },
      "message": "Merge \"Revert \"Add test for Change-Id: Ied0412a01922b40a3f5d89bed49707498582abc1\"\""
    },
    {
      "commit": "2b79984e04a661cf0cecf85978ccd832fe97a985",
      "tree": "43db7a41da814d78316fa02a519f89b4f83278a4",
      "parents": [
        "0f675d8d70934762a5ed70f0734bd19eecfe9680"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed May 20 14:14:18 2015 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed May 20 14:14:18 2015 +0000"
      },
      "message": "Revert \"Add test for Change-Id: Ied0412a01922b40a3f5d89bed49707498582abc1\"\n\nThis reverts commit 0f675d8d70934762a5ed70f0734bd19eecfe9680.\n\nThe test name is too long...\n\nChange-Id: I4496501e73dcf6424e9c58b331e3d3b241aa7917\n"
    },
    {
      "commit": "713c59e813daa92da3f1678add6c4c7e16dcff11",
      "tree": "20d8dfaa990b26e8c67a384d3de5cda8b41a0680",
      "parents": [
        "099d3750d59719cecffdf49284f2633308b9c221",
        "0f675d8d70934762a5ed70f0734bd19eecfe9680"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed May 20 13:29:01 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 20 13:29:02 2015 +0000"
      },
      "message": "Merge \"Add test for Change-Id: Ied0412a01922b40a3f5d89bed49707498582abc1\""
    },
    {
      "commit": "0f675d8d70934762a5ed70f0734bd19eecfe9680",
      "tree": "5a2daed28099d34c5649bf0e00cb17534ddec9ce",
      "parents": [
        "06675720cc274eb9d91a4ecd3fb1eef94a2d88f0"
      ],
      "author": {
        "name": "Guillaume \"Vermeille\" Sanchez",
        "email": "guillaumesa@google.com",
        "time": "Tue May 19 20:34:09 2015 +0100"
      },
      "committer": {
        "name": "Guillaume \"Vermeille\" Sanchez",
        "email": "guillaumesa@google.com",
        "time": "Wed May 20 14:01:47 2015 +0100"
      },
      "message": "Add test for Change-Id: Ied0412a01922b40a3f5d89bed49707498582abc1\n\nChange-Id: I3e9cbd0f5ba55f9044ddc7c7bec67b5193b90e75\n"
    },
    {
      "commit": "d126ba19a2a3352fedbe43ed628ab60ccd401424",
      "tree": "79059b8060b33c3955cda9d5001dbf337e1b1f58",
      "parents": [
        "3e736b12d62ea539b71bd9e6ce953347c0f09a3e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 20 11:25:27 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 20 11:25:27 2015 +0100"
      },
      "message": "[Optimizing] Thumb2 assembler: use 16bits branches when we can.\n\nWe cannot relocate branches, but we can at least encode branches\non 16bits when the target is known.\n\nChange-Id: Icb6116ed974fc97e03622ac80d914c2c06f4cba2\n"
    },
    {
      "commit": "bc84222168dcc4057e594ecdf8e76559fd07b706",
      "tree": "6052556cd2cd57069ff5cd49199adca9f0a630b6",
      "parents": [
        "cc8bda030d7a18715d2c63bbb2528b61472bf3d5",
        "8909bafa5d64e12eb53f3d37b984f53e7a632224"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue May 19 17:37:28 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 19 17:37:29 2015 +0000"
      },
      "message": "Merge \"Mark CheckCast\u0027s and InstanceOf\u0027s input as !CanBeNull if used before in a NullCheck\""
    },
    {
      "commit": "dc23a3882b82a7a3dd5078cda3f4b4706e172617",
      "tree": "eb8e4774c3b5bc5221a572595377cd5bcaaa75f9",
      "parents": [
        "9652135e5c23767098d7c7960f9d7d06f7951f10",
        "3cd4fc8bbb40a57d2ffde85f543c124f53237c1d"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue May 19 14:57:08 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 19 14:57:09 2015 +0000"
      },
      "message": "Merge \"Eliminate redundant constructor barriers when inlining.\""
    },
    {
      "commit": "3cd4fc8bbb40a57d2ffde85f543c124f53237c1d",
      "tree": "97eee6cc70206f605e251ad85f6f2941f4eb0383",
      "parents": [
        "2f9d1379fdebcdeeac52eaeff25ad5697c6b6ffb"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu May 14 15:15:42 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue May 19 15:54:19 2015 +0100"
      },
      "message": "Eliminate redundant constructor barriers when inlining.\n\nBug: 20410297\nChange-Id: I2097743d00eb795d050d390b1918e38c7f41d506\n"
    },
    {
      "commit": "48fb0b7be18a783de9cd1b246042c1ec5b732c49",
      "tree": "4b977dd414301330586dd828736dd6ff03056647",
      "parents": [
        "45970a4cde2fb12e1cb1515aaf0d9cb9869c5116",
        "07276db28d654594e0e86e9e467cad393f752e6e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue May 19 11:43:08 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 19 11:43:08 2015 +0000"
      },
      "message": "Merge \"Don\u0027t do a null test in MarkGCCard if the value cannot be null.\""
    },
    {
      "commit": "07276db28d654594e0e86e9e467cad393f752e6e",
      "tree": "6450e07d64045f0c0949b3423501316b672641c7",
      "parents": [
        "17f1bc531ea2f8c1a6fac3def13dee1b901949dd"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 18 14:22:09 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 18 19:15:52 2015 +0100"
      },
      "message": "Don\u0027t do a null test in MarkGCCard if the value cannot be null.\n\nChange-Id: I45687f6d3505178e2fc3689eac9cb6ab1b2c1e29\n"
    },
    {
      "commit": "8909bafa5d64e12eb53f3d37b984f53e7a632224",
      "tree": "6bac613ed796914ec4937a64d40d44b1888d4878",
      "parents": [
        "06675720cc274eb9d91a4ecd3fb1eef94a2d88f0"
      ],
      "author": {
        "name": "Guillaume \"Vermeille\" Sanchez",
        "email": "guillaumesa@google.com",
        "time": "Thu Apr 23 21:35:11 2015 +0100"
      },
      "committer": {
        "name": "Guillaume \"Vermeille\" Sanchez",
        "email": "guillaumesa@google.com",
        "time": "Mon May 18 17:58:21 2015 +0100"
      },
      "message": "Mark CheckCast\u0027s and InstanceOf\u0027s input as !CanBeNull if used before in a NullCheck\n\nChange-Id: Ied0412a01922b40a3f5d89bed49707498582abc1\n"
    },
    {
      "commit": "2f9d1379fdebcdeeac52eaeff25ad5697c6b6ffb",
      "tree": "6fe7dd64fc17928540cac48162c4b6471fc2ab6a",
      "parents": [
        "5969307a254fb731a464119506b2cef9404871b9",
        "da40309f61f98c16d7d58e4c34cc0f5eef626f93"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 18 15:25:39 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 18 15:25:40 2015 +0000"
      },
      "message": "Merge \"Opt compiler: ARM64: Use ldp/stp on arm64 for slow paths.\""
    },
    {
      "commit": "f1a9ff73da241c231480a9ab84311a822584017d",
      "tree": "a41e461a7514b322f2fd16318101ed4441f05673",
      "parents": [
        "468137a73b35b3ed1c457983937fb4979d6b69c9"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon May 18 16:04:53 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon May 18 16:04:53 2015 +0100"
      },
      "message": "ART: Mark constructor \u0027explicit\u0027\n\nFixes a cpp-lint error.\n\nChange-Id: Ibd2c84a6f171a5ddb9aa1a3b9e23c1e5a30537f0\n"
    },
    {
      "commit": "c7a24854a09bf2b2f6678f111baea2ecc3641980",
      "tree": "4b62f3425e909c789319080bd7b47afcef2918ad",
      "parents": [
        "4b49a861e69580206988024e6987029340667628"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri May 15 16:44:05 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon May 18 15:12:23 2015 +0100"
      },
      "message": "ART: Revert change to LiveRange::Dump\n\nChanges back the LiveRange printing format to \"[start,end)\" for better\nclarity. However, it removes the space after comma due to b/1189305\nand prints the \"ranges\" attribute with curly brackets to improve\nreadability.\n\nThis is a resubmission of CL Ic83025fa78d6f1edb5e0e39d66160182b0198ab8\nwhich fixes a compilation issue on target.\n\nBug: 21189305\nChange-Id: Ic232c02ba19a710ead67793a039f99c0345353c7\n"
    },
    {
      "commit": "7fe79ff31358d00a47bb9ac1205c6e8fb1d71b72",
      "tree": "52c00a20bd620cce4df94d297cb001dd7e7e62ce",
      "parents": [
        "294a0509cf811061b8009ade61e76a1f94e248b2"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon May 18 13:57:11 2015 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon May 18 13:57:11 2015 +0000"
      },
      "message": "Revert \"ART: Revert change to LiveRange::Dump\"\n\nThis reverts commit 294a0509cf811061b8009ade61e76a1f94e248b2.\n\nNeed to investigate a compilation error.\n\nChange-Id: I62020f6e546c9faf5f4a2ed6cc1f7e1499c2fa30\n"
    },
    {
      "commit": "294a0509cf811061b8009ade61e76a1f94e248b2",
      "tree": "72e160cd689cc4fd786616e502571d54fddb8215",
      "parents": [
        "17f1bc531ea2f8c1a6fac3def13dee1b901949dd"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri May 15 16:44:05 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon May 18 14:33:27 2015 +0100"
      },
      "message": "ART: Revert change to LiveRange::Dump\n\nChanges back the LiveRange printing format to \"[start,end)\" for better\nclarity. However, it removes the space after comma due to b/1189305\nand prints the \"ranges\" attribute with curly brackets to improve\nreadability.\n\nBug: 21189305\nChange-Id: Ic83025fa78d6f1edb5e0e39d66160182b0198ab8\n"
    },
    {
      "commit": "17f1bc531ea2f8c1a6fac3def13dee1b901949dd",
      "tree": "52c00a20bd620cce4df94d297cb001dd7e7e62ce",
      "parents": [
        "9ee371e2324d979ff7d11ac58b8201f29888c682",
        "b1d0f3f7e92fdcc92fe2d4c48cbb1262c005583f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 18 13:00:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 18 13:00:29 2015 +0000"
      },
      "message": "Merge \"Support InlineInfo in StackMap.\""
    },
    {
      "commit": "b1d0f3f7e92fdcc92fe2d4c48cbb1262c005583f",
      "tree": "0e3ce752f82ff5d7f10d37d46bda058ca54d7e40",
      "parents": [
        "119b21a6dfdb09d983a9e56a837fbf5c98e57096"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 14 12:41:51 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 18 13:00:29 2015 +0100"
      },
      "message": "Support InlineInfo in StackMap.\n\nChange-Id: I9956091775cedc609fdae7dec1433fcb8858a477\n"
    },
    {
      "commit": "81b2591f7be6005b553d12a7cfa7ce2cdc08f22d",
      "tree": "beae0e8592790e9abdeedc46cda2580f0bd35083",
      "parents": [
        "d30ad93c9bd31dc03c1e08b92c4733db2dfad849",
        "84daae5ce19038156c0fa0cdbc33d47efdb7e66b"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon May 18 11:14:35 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 18 11:14:36 2015 +0000"
      },
      "message": "Merge \"ART: Removed redundant Phis as part of DCE\""
    },
    {
      "commit": "84daae5ce19038156c0fa0cdbc33d47efdb7e66b",
      "tree": "5f507470744edd6b1a436c9e4514f0d464ca38eb",
      "parents": [
        "c88b09fc1d67413e814a10d20752e46aa28bc0e4"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon May 18 12:06:52 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon May 18 12:06:52 2015 +0100"
      },
      "message": "ART: Removed redundant Phis as part of DCE\n\nRemoving dead blocks can render some phis redundant but they do not\nget removed. This patch adds running SsaRedundantPhiElimination to\nadress that.\n\nChange-Id: Iec9a16f3c20b2d5b5607cd5aaf802917c155a0f1\n"
    },
    {
      "commit": "d30ad93c9bd31dc03c1e08b92c4733db2dfad849",
      "tree": "0f1f1279d33b05775eb8de6f01726af7dd92c8a8",
      "parents": [
        "c88b09fc1d67413e814a10d20752e46aa28bc0e4",
        "8826f67ad53099021f6442364348fa66729288d7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 18 09:42:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 18 09:42:57 2015 +0000"
      },
      "message": "Merge \"Callee/caller save logic in register allocator.\""
    },
    {
      "commit": "8826f67ad53099021f6442364348fa66729288d7",
      "tree": "3f937444d251efa09174ddb586c0eed6918907f6",
      "parents": [
        "ef4366a159ecdd357c98e577583bbe224d065128"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 17 09:15:11 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 18 10:22:45 2015 +0100"
      },
      "message": "Callee/caller save logic in register allocator.\n\nPrevent intervals that do not span a \u0027will-call\u0027 safepoint\nto allocate a callee-save register when caller-saves\nare available.\n\nChange-Id: I6e613ab54b087f433bbc433aa62847fbca423377\n"
    },
    {
      "commit": "c88b09fc1d67413e814a10d20752e46aa28bc0e4",
      "tree": "dff8b80c6c1566e6d1852ea66e92d6af8f637e76",
      "parents": [
        "aae4334a3f5215edbfe90ab00f8e1e9ade542007",
        "c57397b2b87c7e6f28f4eee3c996d091e7dc0b01"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon May 18 09:19:23 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 18 09:19:24 2015 +0000"
      },
      "message": "Merge \"ART: Print C1vis lists as [v1,...,vN]\""
    },
    {
      "commit": "c57397b2b87c7e6f28f4eee3c996d091e7dc0b01",
      "tree": "51ef8e6126cb41174f6103700c5f5442a38bbfe5",
      "parents": [
        "06675720cc274eb9d91a4ecd3fb1eef94a2d88f0"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri May 15 16:01:59 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri May 15 16:50:23 2015 +0100"
      },
      "message": "ART: Print C1vis lists as [v1,...,vN]\n\nChecker interprets whitespace as a don\u0027t-care placeholder, making it\neasier to write assertions which test only parts of the output (e.g.\n\"//CHECK: Add liveness:44\" does not test the inputs or any other\nattributes apart from \"liveness\").\n\nHowever, since the GraphVisualizer prints lists with elements\nseparated by spaces (\"[ v1 ... vN ]\"), this allows for false positives\ncaused by an occurrence elsewhere in the output. For example, the\nassertion: \"//CHECK: [ x y ]\" will match \"[ x y ]\" but also\n\"[ x a y b ]\" or even \"[ x ] abc [ y ]\".\n\nSwitching to comma-separated lists works around this issue.\n\nThis patch updates all test files, fixes one false positive that this\nchange revealed (test 442, line 337) and two occurrences of a wrong\nmatch (test 462, lines 121, 149).\n\nBug: 21189305\nChange-Id: I3b22503be3d92529dac0b13f66bccbcfabea6721\n"
    },
    {
      "commit": "99df2b150039fa2a3e1132a8cd5e35201ae97aee",
      "tree": "0655eab6859a292faca4cde2d9ec4d3373c4ec0e",
      "parents": [
        "06675720cc274eb9d91a4ecd3fb1eef94a2d88f0",
        "c66671076b12a0ee8b9d1ae782732cc91beacb73"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri May 15 15:24:00 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 15 15:24:01 2015 +0000"
      },
      "message": "Merge \"Opt compiler: Speedup div/rem by constants on arm32 and arm64.\""
    },
    {
      "commit": "c66671076b12a0ee8b9d1ae782732cc91beacb73",
      "tree": "e8007c01f0bce06dcd3b0d6e2db9e7079fc4dd04",
      "parents": [
        "ef4366a159ecdd357c98e577583bbe224d065128"
      ],
      "author": {
        "name": "Zheng Xu",
        "email": "zheng.xu@arm.com",
        "time": "Fri May 15 16:08:45 2015 +0800"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri May 15 16:10:29 2015 +0100"
      },
      "message": "Opt compiler: Speedup div/rem by constants on arm32 and arm64.\n\nThis patch also includes:\n1. Add java test for div/rem negative constants.\n2. Fix a thumb2 encoding issue where the last operand is\n   \"reg, shift #amount\" in some instructions.\n3. Support a simple filter in arm32 assembler test to filter out\n   unsupported cases, such as \"smull r0, r0, r1, r2\".\n4. Add smull arm32 assembler test.\n5. Add smull/umull thumb2 test.\n6. Add test for the thumb2 encoding issue which is fixed in this\n   patch.\n\nChange-Id: I1601bc9c38f70f11909f2816fe3ec105a158951e\n"
    },
    {
      "commit": "9f99d92e9f85aeafb0cdc63ca672a6bd4f3b2d5c",
      "tree": "43db7a41da814d78316fa02a519f89b4f83278a4",
      "parents": [
        "590d5767104757399c956400df9c5edc3a2c379e"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri May 15 15:15:09 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri May 15 15:15:43 2015 +0100"
      },
      "message": "ART: Fix a minor lint error\n\nChange-Id: I956656fa4c36f20d80ef885c03487970f707be8e\n"
    },
    {
      "commit": "1cad536d675846ac9c110b5b3a412dfc55ace3ed",
      "tree": "6d727dc91afa0ad51abf277604ee1b32ae07f419",
      "parents": [
        "38b06de7de49400d83bfe3221649a0e1a1a96dec",
        "c74652867cd9293e86232324e5e057cd73c48e74"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri May 15 13:21:51 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 15 13:21:52 2015 +0000"
      },
      "message": "Merge \"ART: Refactor GraphVisualizer attribute printing\""
    },
    {
      "commit": "c74652867cd9293e86232324e5e057cd73c48e74",
      "tree": "2670fa4ee6ff86e7c7a6d7ffa07f7a58df45dfb5",
      "parents": [
        "70d3d1433ee3d33dfdc9f687c94383d527871455"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed May 13 17:50:09 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri May 15 14:04:08 2015 +0100"
      },
      "message": "ART: Refactor GraphVisualizer attribute printing\n\nThis patch unifies the way GraphVisualizer prints instruction\nattributes in preparation of changes to the Checker syntax.\n\nChange-Id: I44e91e36c660985ddfe039a9f410fedc48b496ec\n"
    },
    {
      "commit": "e82549b14c7def0a45461183964f7e6a34cbb70c",
      "tree": "9293e5bf58657883923fe08ff1964e92e81e8851",
      "parents": [
        "c3912c8a2db109a15603554fd456f56cd0a69ad0"
      ],
      "author": {
        "name": "Mark Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Wed May 06 10:55:34 2015 -0400"
      },
      "committer": {
        "name": "Mark Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Wed May 13 16:20:48 2015 -0400"
      },
      "message": "[optimizing] Fold HTypeConversion of constants\n\nWhile looking into optimizing long shifts on x86, I found that the\ncompiler wasn\u0027t folding HTypeConversion of constants.  Add simple\nconversions of constants, taking care of float/double values\nwith NaNs and small/large values, ensuring Java conversion semantics.\n\nAdd checker cases to see that constant folding of HTypeConversion is\ndone.\n\nEnsure 422-type-conversion type conversion routiness don\u0027t get\ninlined to avoid compile time folding.\n\nChange-Id: I5a4eb376b64bc4e41bf908af5875bed312efb228\nSigned-off-by: Mark Mendell \u003cmark.p.mendell@intel.com\u003e\n"
    },
    {
      "commit": "cefb1553cdbaccd486c6bb8a75210d9485287f93",
      "tree": "58c99bd2ae35e023370d5b4d9004064d19fabfbf",
      "parents": [
        "e658f89d7932ede6cfb087f10f0f59bc91f021bc",
        "ba6fdbcb764d5a8972f5ff2d7147e4d78226b347"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 12 18:26:24 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 12 18:26:24 2015 +0000"
      },
      "message": "Merge \"ART: arm indexOf intrinsics for the optimizing compiler\""
    },
    {
      "commit": "f3962119654ac1f02e7ec891e1526ca8045542aa",
      "tree": "9494724c2a11d3369d3dddc1057de2e31190b74f",
      "parents": [
        "527145b4c9cc28788c17791bda62607bf596cb7b",
        "a4b8c21dae70ae34aee13628632c39a675c06022"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 12 17:14:21 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 12 17:14:22 2015 +0000"
      },
      "message": "Merge \"ART: Rediscover loops after deleting blocks in DCE\""
    },
    {
      "commit": "ba6fdbcb764d5a8972f5ff2d7147e4d78226b347",
      "tree": "3ae63f102e605ad4ac6b570d08583d30f07fe6d1",
      "parents": [
        "775b7b888a13315b8b7722564c2824baabb98221"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 07 22:31:55 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 12 08:33:27 2015 -0700"
      },
      "message": "ART: arm indexOf intrinsics for the optimizing compiler\n\nAdd intrinsics implementations for indexOf in the optimizing\ncompiler. These are mostly ported from Quick.\n\nBug: 20889065\nChange-Id: I18ee849d41187a381f99529669e6f97040aaacf6\n"
    },
    {
      "commit": "cdf89f3a0e495634842b3617bd8a53534fb90b46",
      "tree": "4d11d83ad937c3d7a34238727e6b5c06bf98942d",
      "parents": [
        "c23fef5d70418bb90f801fe1d846774965070ce4",
        "896e32d3c4087e141821271b81e7d82d745e4db3"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue May 12 14:01:03 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 12 14:01:03 2015 +0000"
      },
      "message": "Merge \"Small correction in Optimizing\u0027s ARM64 code generator.\""
    },
    {
      "commit": "c23fef5d70418bb90f801fe1d846774965070ce4",
      "tree": "88da338c72c34eeacea294a9792b5bdc69c4a363",
      "parents": [
        "fe8cd351374a829f1b5293c0d3c21a23b3aabe39",
        "1d8b49fad0798fef57a0e2f799dbd51e29812120"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue May 12 12:41:16 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 12 12:41:16 2015 +0000"
      },
      "message": "Merge \"Revert \"Add new rule to the graph checker.\"\""
    },
    {
      "commit": "1d8b49fad0798fef57a0e2f799dbd51e29812120",
      "tree": "56a08bb0fed3547e36487810a064a54765c2e4ed",
      "parents": [
        "9d50775046a51941f86cced03593c61c89ae615e"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue May 12 12:40:07 2015 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue May 12 12:40:07 2015 +0000"
      },
      "message": "Revert \"Add new rule to the graph checker.\"\n\nThis reverts commit 9d50775046a51941f86cced03593c61c89ae615e.\n\nChange-Id: I9533116bbaef5fd5d2944c4ebebd2f01b0047e34\n"
    },
    {
      "commit": "fe8cd351374a829f1b5293c0d3c21a23b3aabe39",
      "tree": "890a265cc7fb0b1ceedbd888bb55336e4bf1ed3a",
      "parents": [
        "987b2e66de00d754d19b6f59a17891dd34e04e61",
        "9d50775046a51941f86cced03593c61c89ae615e"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue May 12 11:53:49 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 12 11:53:49 2015 +0000"
      },
      "message": "Merge \"Add new rule to the graph checker.\""
    },
    {
      "commit": "a4b8c21dae70ae34aee13628632c39a675c06022",
      "tree": "3a72a4fcb64d61b7913f6ee3599a46b3248437b6",
      "parents": [
        "faf935eb3a8565de98d9ec1f79c8c43c5c6eb2a7"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu May 07 09:59:30 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 12 11:37:53 2015 +0100"
      },
      "message": "ART: Rediscover loops after deleting blocks in DCE\n\nThe way DCE currently updates loop information does not cover all\ncases. This patch removes the logic, resets loop information of live\nblocks to pre-SSA state and reanalyzes the affected loops.\n\nChange-Id: I0b996a70235b95a8db0de9a23a03f71db57a21b8\n"
    },
    {
      "commit": "987b2e66de00d754d19b6f59a17891dd34e04e61",
      "tree": "88da338c72c34eeacea294a9792b5bdc69c4a363",
      "parents": [
        "faf935eb3a8565de98d9ec1f79c8c43c5c6eb2a7",
        "3b55ebb22156e1f3496cd1ee4a05e03b4780e579"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue May 12 09:47:34 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 12 09:47:35 2015 +0000"
      },
      "message": "Merge \"Simplify floating-point comparisons with NaN in Optimizing.\""
    },
    {
      "commit": "9dfba7202b3777a14792759f097fe4da37264988",
      "tree": "5b92bd71a67253a5be05aed102452b6adc99d678",
      "parents": [
        "6108ed86bb2663e73262e290463f014e2698abc1",
        "21030dd59b1e350f6f43de39e3c4ce0886ff539c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon May 11 17:42:21 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 11 17:42:22 2015 +0000"
      },
      "message": "Merge \"ART: x86 indexOf intrinsics for the optimizing compiler\""
    },
    {
      "commit": "21030dd59b1e350f6f43de39e3c4ce0886ff539c",
      "tree": "b2123ddf1fb1535f750560507e3a186df99dac62",
      "parents": [
        "775b7b888a13315b8b7722564c2824baabb98221"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 07 14:46:15 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon May 11 10:40:05 2015 -0700"
      },
      "message": "ART: x86 indexOf intrinsics for the optimizing compiler\n\nAdd intrinsics implementations for indexOf in the optimizing\ncompiler. These are mostly ported from Quick. Add instruction\nsupport to assemblers where necessary.\n\nChange-Id: Ife90ed0245532a5c436a26fe84715dc357f353c8\n"
    },
    {
      "commit": "9d50775046a51941f86cced03593c61c89ae615e",
      "tree": "0ba58dfe1fec1d49f89797579228ad584759f0f4",
      "parents": [
        "6108ed86bb2663e73262e290463f014e2698abc1"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon May 11 18:25:51 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon May 11 18:25:56 2015 +0100"
      },
      "message": "Add new rule to the graph checker.\n\nPhis typed as `reference` should not have equivalents after building the\nSSA.\n\nChange-Id: I9cac189362583ef7c9c7defd3da7338f419f2f94\n"
    },
    {
      "commit": "119b21a6dfdb09d983a9e56a837fbf5c98e57096",
      "tree": "3eb8f3478885461cccfd27071885049db5f644a3",
      "parents": [
        "0e4c27e555d854f00185603138a6434358d07757",
        "ba56d060116d6e145be348fa575314654c6b0572"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon May 11 13:37:09 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 11 13:37:09 2015 +0000"
      },
      "message": "Merge \"[optimizing] Improve 32 bit long shift by 1.\""
    },
    {
      "commit": "0a23d74dc2751440822960eab218be4cb8843647",
      "tree": "39d69de5d812826c4065d0acd38a58cd983f21f0",
      "parents": [
        "cdeb0b5fede4c06488f43a212591e661d946bc78"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 07 11:57:35 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 11 14:17:22 2015 +0100"
      },
      "message": "Add a parent environment to HEnvironment.\n\nThis code has no functionality change. It adds a placeholder\nfor chaining inlined frames.\n\nChange-Id: I5ec57335af76ee406052345b947aad98a6a4423a\n"
    },
    {
      "commit": "ba56d060116d6e145be348fa575314654c6b0572",
      "tree": "4ef90809f6628435a60320b8fa0fd939849e2d29",
      "parents": [
        "6727a48193db2a0cf01af971cccffe1a6518c247"
      ],
      "author": {
        "name": "Mark Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Tue May 05 21:34:03 2015 -0400"
      },
      "committer": {
        "name": "Mark Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Mon May 11 08:44:54 2015 -0400"
      },
      "message": "[optimizing] Improve 32 bit long shift by 1.\n\nAlso change FOO \u003c\u003c 1 to FOO+FOO in the instruction simplifier.  This is\nan architecture independent simplification, which helps \u0027long \u003c\u003c 1\u0027 for\n32 bit architectures.\n\nGenerate an add/adc for long \u003c\u003c 1 in x86, in case something is generated\nafter the simplifier.\n\nAdd test cases for the simplification.\n\nChange-Id: I0d512331ef13cc4ccf10c80f11c370a10ed02294\nSigned-off-by: Mark Mendell \u003cmark.p.mendell@intel.com\u003e\n"
    },
    {
      "commit": "cdeb0b5fede4c06488f43a212591e661d946bc78",
      "tree": "3dea865316a5f61febd81a5162c918be5d81796c",
      "parents": [
        "775b7b888a13315b8b7722564c2824baabb98221",
        "92e83bf8c0b2df8c977ffbc527989631d94b1819"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat May 09 14:17:51 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat May 09 14:17:52 2015 +0000"
      },
      "message": "Merge \"[optimizing] Tune some x86_64 moves\""
    },
    {
      "commit": "6727a48193db2a0cf01af971cccffe1a6518c247",
      "tree": "f86189e3d30e38377666f309693fc58d90eb7d6a",
      "parents": [
        "add1d9ba61b6ddd52f2161587baf3ae4bc8717af",
        "702d26018769f9fbc4763c7ed02331aed596ac7d"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri May 08 15:52:48 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 08 15:52:49 2015 +0000"
      },
      "message": "Merge \"Skip compilation when falling-through out of method code.\""
    },
    {
      "commit": "3b55ebb22156e1f3496cd1ee4a05e03b4780e579",
      "tree": "a358c1f6338828068bdd6df0eab3aba71eb2d7ab",
      "parents": [
        "2e8da8ecb94134081c3ea18a217294db367888a3"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri May 08 13:13:19 2015 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri May 08 13:13:19 2015 +0100"
      },
      "message": "Simplify floating-point comparisons with NaN in Optimizing.\n\nThis change was suggested by Ian.\n\nAlso, simplify some art::HFloatConstant and\nart::HDoubleConstant methods.\n\nChange-Id: I7908df23581a7f61c8ec79c290fe5f70798ac3be\n"
    },
    {
      "commit": "92e83bf8c0b2df8c977ffbc527989631d94b1819",
      "tree": "fb23a1d027549a68a9ea88bf0eb63f85bc116aee",
      "parents": [
        "dceab011395333520959cf743d680bcf5dc78797"
      ],
      "author": {
        "name": "Mark Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Thu May 07 11:25:03 2015 -0400"
      },
      "committer": {
        "name": "Mark Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Thu May 07 12:33:00 2015 -0400"
      },
      "message": "[optimizing] Tune some x86_64 moves\n\nGenerate Moves of constant FP values by loading from the constant table.\n\nUse \u0027movl\u0027 to load a 64 bit register for positive 32-bit values, saving\na byte in the generated code by taking advantage of the implicit\nzero extension.\n\nChange a couple of xorq(reg, reg) to xorl to (potentially) save a byte\nof code per xor.\n\nChange-Id: I5b2a807f0d3b29294fd4e7b8ef6d654491fa0b01\nSigned-off-by: Mark Mendell \u003cmark.p.mendell@intel.com\u003e\n"
    },
    {
      "commit": "8c0c91a845568624815df026cfdac8c42ecccdf6",
      "tree": "48f4a1f6158234c3257ed75405122b1fb0941f96",
      "parents": [
        "46a4b26855ae9fcd14c6e4435f37f09ceb134f61"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 07 11:46:05 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 07 11:46:05 2015 +0100"
      },
      "message": "Use a growable array instead of an environment during SSA.\n\nUsing an environment was convenient because it contains\na growable array. But there\u0027s no need for the environment\nabstraction when being used as a temporary holder for values\nof locals.\n\nChange-Id: Idf2883fe4b8f97a31ee70b3627c1bdd23ebfff0e\n"
    },
    {
      "commit": "db216f4d49ea1561a74261c29f1264952232728a",
      "tree": "8b7914435ad1ba519a3d88b5cca7f0f6e842cd4f",
      "parents": [
        "bc3b93eadd155342b6124d2d5ef3806ecec5dfd6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue May 05 17:02:20 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 07 09:54:09 2015 +0100"
      },
      "message": "Relax the only one back-edge restriction.\n\nThe rule is in the way for better register allocation, as\nit creates an artificial join point between multiple paths.\n\nChange-Id: Ia4392890f95bcea56d143138f28ddce6c572ad58\n"
    },
    {
      "commit": "896e32d3c4087e141821271b81e7d82d745e4db3",
      "tree": "dcb179ce5941234faf52bcf69db2fb039e921f5b",
      "parents": [
        "2b689e370be9f32a88b419edf2d78eb6befade9c"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue May 05 18:07:10 2015 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue May 05 18:07:10 2015 +0100"
      },
      "message": "Small correction in Optimizing\u0027s ARM64 code generator.\n\nart::arm64::CodeGeneratorARM64::InvokeRuntime should expect\nits `instruction\u0027 argument to be non-null.\n\nChange-Id: Idfa949aa9a5f038394092aaea0901e1aa7f97c2c\n"
    },
    {
      "commit": "2b689e370be9f32a88b419edf2d78eb6befade9c",
      "tree": "57059d67a8f8e712608778c409cb54e195524e36",
      "parents": [
        "898fa9b96a579715d124671102886242bd62f393",
        "7394569c9252b277710b2d7d3fc35fb0dd48fc4b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue May 05 13:45:56 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 05 13:45:57 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Revert \"Revert \"[optimizing] Improve x86 shifts\"\"\"\"\""
    },
    {
      "commit": "fbda5f3e1378f07ae202f62da625ee43a063a052",
      "tree": "4c6b9dbadbdf409a878da05bd3d765f9cb55653a",
      "parents": [
        "008b17ae313d033537a3792faf937134315f03bc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 29 14:16:00 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue May 05 10:24:17 2015 +0100"
      },
      "message": "Find better split positions in the register allocator.\n\nIn a standard if/else control flow graph, this avoids\ndoing a move in one branch if the other branch decided\nto move an interval.\n\nThis also needs a new register hint kind, which is what\nwas the location of the interval at the predecessor block.\n\nChange-Id: I18b78264587b4d693540fbb5e014d12df2add3e2\n"
    },
    {
      "commit": "7394569c9252b277710b2d7d3fc35fb0dd48fc4b",
      "tree": "9ce2241c95d93e873c45416a2d17e2c4084d220b",
      "parents": [
        "8a30bf23bcb1ad8d4ed9060ddbb27edbfd57a897"
      ],
      "author": {
        "name": "Mark P Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Wed Apr 29 14:56:17 2015 +0000"
      },
      "committer": {
        "name": "Mark P Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Mon May 04 14:14:32 2015 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Revert \"[optimizing] Improve x86 shifts\"\"\"\"\n\nThis reverts commit 2a7a1d7808f003bea908023ebd11eb442d2fca39.\n\nFix the problem that a long long \u003e\u003e 63 got the wrong answer.  The\nproblem was that a shr was used instead of a sar.\n\nChange-Id: I0327f79c718016ddec9272a605fc50ec15ec4566\n"
    },
    {
      "commit": "702d26018769f9fbc4763c7ed02331aed596ac7d",
      "tree": "74578ce3cb0abfd2e25c53d7272415c82717e035",
      "parents": [
        "fd5f56d4604eeeacdf6be5189187b6ef49157280"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Apr 30 19:28:21 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri May 01 14:23:32 2015 +0100"
      },
      "message": "Skip compilation when falling-through out of method code.\n\nBug: 19988134\nChange-Id: I68638ce9551848a67af587595f264b51f976df11\n"
    },
    {
      "commit": "5d7b7f81ed5455893f984752c00571ef27cc97c5",
      "tree": "a497582ae4ab5a69ba7035c1f95af0ee0f0b025b",
      "parents": [
        "01ce498499eed47e87fceb8736d26fe49b2a4346"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 28 00:52:43 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri May 01 10:07:52 2015 +0100"
      },
      "message": "Update the remaining input index of phis after deleting an input.\n\nbug:20715803\nbug:20690906\n\nChange-Id: Iaf08f0c30d629e766be2b04815dc3e38b6e7ff35\n"
    },
    {
      "commit": "fd5f56d4604eeeacdf6be5189187b6ef49157280",
      "tree": "b53a3ba3a8a4978e372a4e9a657b2c4c5ace7648",
      "parents": [
        "56784f887bad1219f326e9e6d110f785f31a5968",
        "2af2307f3903a75a379029c049b86f9903fc81a5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 30 11:16:06 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 30 11:16:06 2015 +0000"
      },
      "message": "Merge \"Revert \"GVN final fields even with side effects.\"\""
    },
    {
      "commit": "2af2307f3903a75a379029c049b86f9903fc81a5",
      "tree": "89168f24337d7ec41648568c48b0dd5fb5194c39",
      "parents": [
        "781733632637db98d79dfffad72bf063be3259be"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 30 11:15:40 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 30 11:15:40 2015 +0000"
      },
      "message": "Revert \"GVN final fields even with side effects.\"\n\nThis reverts commit 781733632637db98d79dfffad72bf063be3259be.\n\nChange-Id: Id7c4591f6b8190921852044b278d11627457c570\n"
    },
    {
      "commit": "56784f887bad1219f326e9e6d110f785f31a5968",
      "tree": "42225647869863b4c79d537639bc1fb4ea5fdf7f",
      "parents": [
        "0a50264b30a0c61099e8388015cccfa417a6bd18",
        "781733632637db98d79dfffad72bf063be3259be"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 30 10:21:19 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 30 10:21:20 2015 +0000"
      },
      "message": "Merge \"GVN final fields even with side effects.\""
    },
    {
      "commit": "781733632637db98d79dfffad72bf063be3259be",
      "tree": "a4ea455e89adb9db77e25525a81737f3b0ab0c58",
      "parents": [
        "36ad3f1c3c08a49680a8f5d34bba43199ab9dd5b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 29 16:46:27 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 30 11:20:21 2015 +0100"
      },
      "message": "GVN final fields even with side effects.\n\nTwo accesses of a final field can be GVN\u0027ed even if there are\nside effects between them.\n\nChange-Id: I04495ae83c7858f4216b083ad1c29851954320ad\n"
    },
    {
      "commit": "ed51747ae96a0c7fac452e95a1607200a5494b28",
      "tree": "0c639e611ffb5a1931617f8e36cc74fa8ec735e0",
      "parents": [
        "0430fc9216dddf6a6967cfffd37dfa99d73c2c68",
        "579026039080252878106118645ed70706f4838e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 29 17:10:08 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 29 17:10:09 2015 +0000"
      },
      "message": "Merge \"Add synthesize uses at back edge.\""
    },
    {
      "commit": "579026039080252878106118645ed70706f4838e",
      "tree": "cfedba53d8e8b04e81b855560e388f3f691ee837",
      "parents": [
        "2d01066db24c19f9384f50ff71806cbb4835c7f9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 21 14:28:41 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 29 18:02:36 2015 +0100"
      },
      "message": "Add synthesize uses at back edge.\n\nThis reduces the cost of linearizing the graph (hence removing\nthe notion of back edge). Since linear scan allocates/spills registers\nbased on next use, adding a use at a back edge ensures we do count\nfor loop uses.\n\nChange-Id: Idaa882cb120edbdd08ca6bff142d326a8245bd14\n"
    },
    {
      "commit": "0430fc9216dddf6a6967cfffd37dfa99d73c2c68",
      "tree": "4fc7867085ad15daa8e6e5eeef7077a74517917c",
      "parents": [
        "0829d9de97b92bcd575f4d5c1f717abf7405d8e2",
        "69a2804c3bb48cf4fd00a66080f613a4fd96c422"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Apr 29 16:42:48 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 29 16:42:48 2015 +0000"
      },
      "message": "Merge \"ART: Fix loop information after dead code elimination\""
    },
    {
      "commit": "69a2804c3bb48cf4fd00a66080f613a4fd96c422",
      "tree": "aab3f079d972bae71bbfa27fdca139738f41dbf0",
      "parents": [
        "f073a36d1ed866e786f7d7784c709c86b00bc58e"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Apr 29 17:16:07 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Apr 29 17:36:52 2015 +0100"
      },
      "message": "ART: Fix loop information after dead code elimination\n\nCompilation failed when only some blocks of a loop were removed during\ndead code elimination.\n\nBug: 20680703\nChange-Id: If31025169ca493f0d7f7f2788576e98d05f03394\n"
    },
    {
      "commit": "ec525fc30848189051b888da53ba051bc0878b78",
      "tree": "b2cf56e0279a584344fc07eb019da14bba2b9a6f",
      "parents": [
        "b6829c2ee05124d64a19c7a52ada4a23f624fb91"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Apr 28 15:50:20 2015 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Apr 29 15:31:13 2015 +0100"
      },
      "message": "Factor MoveArguments methods in Optimizing\u0027s intrinsics handlers.\n\nAlso add a precondition similar to the one present in code\ngenerators, regarding static invoke related explicit clinit\ncheck elimination in non-baseline compilations.\n\nChange-Id: I26f4dcb5d02824d7556f90b4b0c85b08b737fa53\n"
    },
    {
      "commit": "b6829c2ee05124d64a19c7a52ada4a23f624fb91",
      "tree": "a52e27bb653fd2351045724c9ab669cbe07a9298",
      "parents": [
        "f073a36d1ed866e786f7d7784c709c86b00bc58e",
        "2d27c8e338af7262dbd4aaa66127bb8fa1758b86"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Apr 29 13:37:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 29 13:37:58 2015 +0000"
      },
      "message": "Merge \"Refactor InvokeDexCallingConventionVisitor in Optimizing.\""
    },
    {
      "commit": "2d27c8e338af7262dbd4aaa66127bb8fa1758b86",
      "tree": "e01e0bc57359df0bdf00c3da694c5403fb7fc9e6",
      "parents": [
        "3adfc4bbe6c42d574bd2069d8e38a13d5ad98ccf"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Apr 28 15:48:45 2015 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Apr 29 14:09:17 2015 +0100"
      },
      "message": "Refactor InvokeDexCallingConventionVisitor in Optimizing.\n\nChange-Id: I7ede0f59d5109644887bf5d39201d4e1bf043f34\n"
    },
    {
      "commit": "e761b911b24e9001ac50667462b4f936ebee7369",
      "tree": "fc794b7c75ad480a4fab984099bd75a32210042f",
      "parents": [
        "7386f983a67cf73c91cfb9a69a3919f95b25f276",
        "2a7a1d7808f003bea908023ebd11eb442d2fca39"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Apr 29 11:12:59 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 29 11:13:00 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Revert \"[optimizing] Improve x86 shifts\"\"\"\""
    },
    {
      "commit": "2a7a1d7808f003bea908023ebd11eb442d2fca39",
      "tree": "9a74fcc5590e9f39c0019edff70cd89139fcd890",
      "parents": [
        "9b95a057ee20e4b1ca2e9c663726482172dc9ba3"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Apr 29 11:12:33 2015 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Apr 29 11:12:33 2015 +0000"
      },
      "message": "Revert \"Revert \"Revert \"[optimizing] Improve x86 shifts\"\"\"\n\nThis reverts commit 9b95a057ee20e4b1ca2e9c663726482172dc9ba3.\n\nReverting this CL as it breaks libcore tests:\n\n  org.apache.harmony.tests.java.lang.DoubleTest#test_compare\n      junit.framework.AssertionFailedError: compare() -0.0 should be less 0.0\n      \tat junit.framework.Assert.assertTrue(Assert.java:140)\n      \tat org.apache.harmony.tests.java.lang.DoubleTest.test_compare(DoubleTest.java:258)\n    org.apache.harmony.tests.java.lang.DoubleTest#test_compare FAIL (EXEC_FAILED)\n  \n  org.apache.harmony.tests.java.lang.DoubleTest#test_compareToLjava_lang_Double\n      junit.framework.AssertionFailedError: Assert 2: compare() -0.0 should be less 0.0\n      \tat junit.framework.Assert.assertTrue(Assert.java:140)\n      \tat org.apache.harmony.tests.java.lang.DoubleTest.test_compareToLjava_lang_Double(DoubleTest.java:1320)\n    org.apache.harmony.tests.java.lang.DoubleTest#test_compareToLjava_lang_Double FAIL (EXEC_FAILED)\n\nChange-Id: I10f0ec8cc9495cc225fef1940b3f1a9fe87d996f\n"
    },
    {
      "commit": "fadf977d85bfbf3f9d5d4730afb660cbed34f989",
      "tree": "d64b1cd421d92a52930c44fc96cc822b19ff1430",
      "parents": [
        "d474b1d0fd69fdeb481adda8c0814512956f2d51",
        "2967ec6c3dad1c1dc15fc827188bd5ecfa75493b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Apr 29 10:23:07 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 29 10:23:07 2015 +0000"
      },
      "message": "Merge \"Add InsertInstructionAfter in HBasicBlock.\""
    },
    {
      "commit": "9b95a057ee20e4b1ca2e9c663726482172dc9ba3",
      "tree": "64e109f47edd1fd83ada2d6374db9888ff7bba83",
      "parents": [
        "1c5808c0fa83155565f5319808a2949e0a3f5789"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Apr 29 10:22:37 2015 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Apr 29 10:22:37 2015 +0100"
      },
      "message": "Revert \"Revert \"[optimizing] Improve x86 shifts\"\"\n\nThis reverts commit f9aac1e9f442c2486cd54f045d43e15791601205.\n\nDon\u0027t use Location::Any() for the first input if the output is\nLocation::SameAsFirstInput().\n\nChange-Id: I400834052b114abf0d616da1b4b6506f7bba10ab\n"
    },
    {
      "commit": "80613ffd5699e6207d6b1264d600a0fc168074ce",
      "tree": "dbe8971e367e2529586821f3caa223fd22c28ce3",
      "parents": [
        "a94fb1f99ee3390bca9531b2512f8fc65f13ceee",
        "3e3d73349a2de81d14e2279f60ffbd9ab3f3ac28"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Apr 28 10:31:38 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 28 10:31:38 2015 +0000"
      },
      "message": "Merge \"Have HInvoke instructions know their number of actual arguments.\""
    },
    {
      "commit": "a94fb1f99ee3390bca9531b2512f8fc65f13ceee",
      "tree": "f1234e6d003873e4720d591a84cdedde6e7b399f",
      "parents": [
        "64db01714f91bf255a79c0a88813641c240c9857",
        "0d22184ec9e5b1e958c031ac92c7f053de3a13a2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 28 10:29:17 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 28 10:29:19 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"[optimizing] Replace FP divide by power of 2\"\"\""
    },
    {
      "commit": "3e3d73349a2de81d14e2279f60ffbd9ab3f3ac28",
      "tree": "69ad3378263c9a4b967cb7e27de0027264c12eb6",
      "parents": [
        "a0ee862288b702468f8c2b6d0ad0f1c61be0b483"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Apr 28 11:00:54 2015 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Apr 28 11:00:54 2015 +0100"
      },
      "message": "Have HInvoke instructions know their number of actual arguments.\n\nAdd an art::HInvoke::GetNumberOfArguments routine so that\nart::HInvoke and its subclasses can return the number of\nactual arguments of the called method.  Use it in code\ngenerators and intrinsics handlers.\n\nConsequently, no longer remove a clinit check as last input\nof a static invoke if it is still present during baseline\ncode generation, but ensure that static invokes have no such\ncheck as last input in optimized compilations.\n\nChange-Id: Iaf9e07d1057a3b15b83d9638538c02b70211e476\n"
    },
    {
      "commit": "9d1e19035a59ff8bf05a09ad880ede99806ba73f",
      "tree": "7eb3c9eb01d4f581f3e354d947300547582fdd38",
      "parents": [
        "3fd79afbb7490f52817f737ecceb694f6618dcf9",
        "848f70a3d73833fc1bf3032a9ff6812e429661d9"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Apr 28 02:04:09 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 28 02:04:09 2015 +0000"
      },
      "message": "Merge \"Replace String CharArray with internal uint16_t array.\""
    },
    {
      "commit": "848f70a3d73833fc1bf3032a9ff6812e429661d9",
      "tree": "b0349b3a40aab5a915af491b100659a5ca9fbbf6",
      "parents": [
        "d14438f0c5071962be7fab572b54687d32d9d087"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Jan 15 13:49:50 2014 -0800"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Apr 27 18:54:52 2015 -0700"
      },
      "message": "Replace String CharArray with internal uint16_t array.\n\nSummary of high level changes:\n  - Adds compiler inliner support to identify string init methods\n  - Adds compiler support (quick \u0026 optimizing) with new invoke code path\n    that calls method off the thread pointer\n  - Adds thread entrypoints for all string init methods\n  - Adds map to verifier to log when receiver of string init has been\n    copied to other registers. used by compiler and interpreter\n\nChange-Id: I797b992a8feb566f9ad73060011ab6f51eb7ce01\n"
    },
    {
      "commit": "0d22184ec9e5b1e958c031ac92c7f053de3a13a2",
      "tree": "4055eda9986916dc86b39d023082a57e60c804f4",
      "parents": [
        "97c96f5aab22f75dd54089bdc194588a4b5a2e8d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Apr 27 08:53:46 2015 +0000"
      },
      "committer": {
        "name": "Mark Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Mon Apr 27 20:06:50 2015 -0400"
      },
      "message": "Revert \"Revert \"[optimizing] Replace FP divide by power of 2\"\"\n\nThis reverts commit 067cae2c86627d2edcf01b918ee601774bc76aeb.\n\nChange-Id: Iaaa8772500ea7d3dce6ae0829dc0dc3bbc9c14ca\n"
    },
    {
      "commit": "2d01066db24c19f9384f50ff71806cbb4835c7f9",
      "tree": "4b7bc91ea0c4f27a8458f23e2925540ad0bb9baa",
      "parents": [
        "295dda5066dfeb5bed88a4a484268f94b060c7fb",
        "4ed947a58de87d19d0609be773207c905ccb0f7f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Apr 27 17:12:10 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 27 17:12:11 2015 +0000"
      },
      "message": "Merge \"Dissociate uses with environment uses.\""
    },
    {
      "commit": "4ed947a58de87d19d0609be773207c905ccb0f7f",
      "tree": "27770da4f79f5764a2700135671bcfff8f0bdddf",
      "parents": [
        "a0ee862288b702468f8c2b6d0ad0f1c61be0b483"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Apr 27 16:58:06 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Apr 27 17:50:50 2015 +0100"
      },
      "message": "Dissociate uses with environment uses.\n\nThey are most of the times in the way when iterating. They\nalso complicate the logic of (future) back edge uses.\n\nChange-Id: I152595d9913073fe901b267ca623fa0fe7432484\n"
    }
  ],
  "next": "d14438f0c5071962be7fab572b54687d32d9d087"
}
