)]}'
{
  "log": [
    {
      "commit": "9cd6d378bd573cdc14d049d32bdd22a97fa4d84a",
      "tree": "be293c89806b919143b7dcd203bae14f5f4eaf04",
      "parents": [
        "0e02ee9efbf1dbdde05d2b10f7307bbe191c52f5"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Feb 09 15:24:47 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Feb 24 10:25:29 2016 +0000"
      },
      "message": "Associate slow paths with the instruction that they belong to.\n\nAlmost all slow paths already know the instruction they belong to,\nthis CL just moves the knowledge to the base class as well.\n\nThis is needed to be be able to get the corresponding dex pc for\nslow path, which allows us generate better native line numbers,\nwhich in turn fixes some native debugging stepping issues.\n\nChange-Id: I568dbe78a7cea6a43a4a71a014b3ad135782c270\n"
    },
    {
      "commit": "0e02ee9efbf1dbdde05d2b10f7307bbe191c52f5",
      "tree": "19c9c3e25a8db4e5b53890fd72193383b5bb73e5",
      "parents": [
        "72ca09cc2dd350adb932ef4a50eff668cca99c5e",
        "c7098ff991bb4e00a800d315d1c36f52a9cb0149"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Feb 24 10:23:50 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 24 10:23:50 2016 +0000"
      },
      "message": "Merge \"Remove HNativeDebugInfo from start of basic blocks.\""
    },
    {
      "commit": "c7098ff991bb4e00a800d315d1c36f52a9cb0149",
      "tree": "3a150e927bc7f4894f5b148ec6f5a2b796cdd80d",
      "parents": [
        "5322e55ab9a15996a197456ca39d9c77488cd5c1"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Feb 09 14:30:11 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Feb 24 10:21:57 2016 +0000"
      },
      "message": "Remove HNativeDebugInfo from start of basic blocks.\n\nWe do not require full environment at the start of basic block.\nThe dex pc contained in basic block is sufficient for line mapping.\n\nChange-Id: I5ba9e5f5acbc4a783ad544769f9a73bb33e2bafa\n"
    },
    {
      "commit": "b4982aab07ae4cdaba13b4cb99306459d92e52d5",
      "tree": "91d05226bb6394c9e64ab3fd35cd355b3b168511",
      "parents": [
        "072cbe0ca5ce75bdb448955aa82257cc05dac610",
        "bf3f1cf15a021ea1ff8ae860c55e8281da4619b3"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Feb 23 19:42:27 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 23 19:42:27 2016 +0000"
      },
      "message": "Merge \"Improved instruction + offset hunting.\""
    },
    {
      "commit": "bf3f1cf15a021ea1ff8ae860c55e8281da4619b3",
      "tree": "a3d5b50502673d96d270d97c6406d616a8d9b858",
      "parents": [
        "07f7affb338b529d34e4e18b7e8a631c16bd9765"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Feb 22 16:22:33 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Feb 23 11:11:29 2016 -0800"
      },
      "message": "Improved instruction + offset hunting.\n\nRationale:\nThis is generally useful for anything using this method\nbut in particular for deopting something like\n\n bs[  off] \u003d (byte)(n \u003e\u003e\u003e 24);\n bs[++off] \u003d (byte)(n \u003e\u003e\u003e 16);\n bs[++off] \u003d (byte)(n \u003e\u003e\u003e  8);\n bs[++off] \u003d (byte)(n       );\n\nwhere the base + offset is hidden in the increments.\nOccurs quite often in real-life code.\n\nChange-Id: I3fa7d285a7368a179a26e590e8eee37f3b64c25d\n"
    },
    {
      "commit": "ed009780b56a81c5046e6b5a344e12117ea45357",
      "tree": "ffc219f9a4899de0ec73d2f829078fc0b007dadf",
      "parents": [
        "827e2128fa65e1256abe40c0841fc1d1494583e7"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 22 16:54:39 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 22 17:51:13 2016 +0000"
      },
      "message": "Optimizing/x86-64: Use MOVL in Load64BitValue() if IsUint\u003c32\u003e().\n\nChange-Id: Ie8bfb1861a384d0906f2aff9e8a94be0925c65b6\n"
    },
    {
      "commit": "219830939ac94af8bbf019cbf4fdb65f05992713",
      "tree": "5d29487608f838f5651fcb0edebbf2968569a58b",
      "parents": [
        "05d77c2673082b371129f8d854439688533cfff2",
        "5b82d339955d1a0dc23eeb8d2d5659459ff987ba"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 19 16:01:49 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 19 16:01:49 2016 +0000"
      },
      "message": "Merge \"The JIT does not need VerifedMethod nor CompilerCallbacks.\""
    },
    {
      "commit": "1fe26e1ca54e2f0eed6056ebdbc6b2e6c02ee0bb",
      "tree": "b821021b98e5afae4c1feebc9a45631db427fed7",
      "parents": [
        "1d01ef7f0f79b032449c35203ca9543fb8a0b22f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 18 16:55:42 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 18 16:55:42 2016 +0000"
      },
      "message": "Fix build aflter conflicting changes got in.\n\nChange-Id: Ia3846e9a0dad137fe797bf3f2ece0cb78c106ec0\n"
    },
    {
      "commit": "1d01ef7f0f79b032449c35203ca9543fb8a0b22f",
      "tree": "78e44decc10d0155ddec585bba5500451e2daacb",
      "parents": [
        "afe84004583488ded7f99bb703ed4c1a601ff034",
        "e4084a5eb46dc6b99c0e0b74bcdecccaceb28fe7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 18 16:33:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 18 16:33:37 2016 +0000"
      },
      "message": "Merge \"Small inlining improvements.\""
    },
    {
      "commit": "afe84004583488ded7f99bb703ed4c1a601ff034",
      "tree": "7b30a6244f1331be3bcba4552e33ddb3eb488e39",
      "parents": [
        "f8a08735f6c60ddee2bb5646dcad561361cce079",
        "38e9e8046ea2196284bdb4638771c31108a30a4a"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Feb 18 16:16:34 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 18 16:16:35 2016 +0000"
      },
      "message": "Merge \"Add statistics support for some optimizations\""
    },
    {
      "commit": "38e9e8046ea2196284bdb4638771c31108a30a4a",
      "tree": "a2fecce9af616bebd73ce17d9f5954f84f291817",
      "parents": [
        "eda4dfae59eec2db945cf032aee3a9aeaa2eb494"
      ],
      "author": {
        "name": "Jean-Philippe Halimi",
        "email": "jean-philippe.halimi@intel.com",
        "time": "Thu Feb 18 16:42:03 2016 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Feb 18 16:15:27 2016 +0000"
      },
      "message": "Add statistics support for some optimizations\n\nThis patch adds support for the --dump-stats facility with some\noptimizations\nand fixes all build issues introduced by the patch:\nI68751b119a030952a11057cb651a3c63e87e73ea (which got reverted)\n\nChange-Id: I5af1f2a8cced0a1a55c2bb4d8c88e6f0a24ec879\nSigned-off-by: Jean-Philippe Halimi \u003cjean-philippe.halimi@intel.com\u003e\n"
    },
    {
      "commit": "f8a08735f6c60ddee2bb5646dcad561361cce079",
      "tree": "36111e04c122c0c4f58dc1ea24a327c9069f72d6",
      "parents": [
        "99da8cd8818e015b21d1c2af73ac40749698c930",
        "916cc1d504f10a24f43b384e035fdecbe6a74b4c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 18 15:56:59 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 18 15:56:59 2016 +0000"
      },
      "message": "Merge \"Implement polymorphic inlining.\""
    },
    {
      "commit": "e4084a5eb46dc6b99c0e0b74bcdecccaceb28fe7",
      "tree": "d47f5a4ff9faae1736fc065e82d39110b9261e61",
      "parents": [
        "a1f65135cd2315159ac302f904ba0c5ba0d7fd0e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 18 14:43:42 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 18 15:14:30 2016 +0000"
      },
      "message": "Small inlining improvements.\n\n- Use the type_index in the current dex file for classes not\n  defined in the current dex file.\n- Make the loading of the vtable field of a class have no side effects\n  to enable gvn\u0027ing it.\n\nNote that those improvements only affect the JIT, where we don\u0027t have\nchecker support.\n\nChange-Id: I519f52bd8270f2b828f0920a1214da33cf788f41\n"
    },
    {
      "commit": "916cc1d504f10a24f43b384e035fdecbe6a74b4c",
      "tree": "a68f7276cba6cd75bc0b200337edde8eafccccc7",
      "parents": [
        "442643920a6c539e98aad76594e99b932b5631ba"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 18 11:12:31 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 18 14:41:25 2016 +0000"
      },
      "message": "Implement polymorphic inlining.\n\nFor example, before:\nHInvokeVirtual\n\nAfter:\nIf (receiver \u003d\u003d Foo) {\n  // inlined code.\n} else if (receiver \u003d\u003d Bar) {\n  // inlined code\n} else {\n  // HInvokeVirtual or HDeoptimize(receiver !\u003d Baz)\n}\n\nChange-Id: I5ce305aef8f39f8294bf2b2bcfe60e0dddcfdbec\n"
    },
    {
      "commit": "5b82d339955d1a0dc23eeb8d2d5659459ff987ba",
      "tree": "79540d831ec7ac82f5520dc6bc53ac8c39f47972",
      "parents": [
        "d9c05309e8fab26a6087abd5773859f112cdefe9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 18 14:22:32 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 18 14:33:13 2016 +0000"
      },
      "message": "The JIT does not need VerifedMethod nor CompilerCallbacks.\n\nbug:27173201\n\nChange-Id: I971659f9ff6a8b780c94a7bed84de90fa9fc3456\n"
    },
    {
      "commit": "99da8cd8818e015b21d1c2af73ac40749698c930",
      "tree": "1760f42ba7f1b8d71021fe6a58ef71a22769f5cd",
      "parents": [
        "d9c05309e8fab26a6087abd5773859f112cdefe9",
        "1252e976b972231a84b36e4bb73cf513bb7799d1"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Feb 18 11:23:43 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 18 11:23:43 2016 +0000"
      },
      "message": "Merge \"Implement Optimizing\u0027s constant folding as a visitor.\""
    },
    {
      "commit": "98e6ce44c700abd9375fe17f0aa31fea1e1e938b",
      "tree": "aa15b4398290918e5eb5227781b5aef5ecff9e0b",
      "parents": [
        "a1f65135cd2315159ac302f904ba0c5ba0d7fd0e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 16 18:42:15 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 18 09:51:40 2016 +0000"
      },
      "message": "Remove string init map.\n\nPartial revert of the String init change.\n\n- Make Quick bailout in the presence of String allocation.\n- Rely on the compiler for knowing when dex registers alias.\n\nbug:27173201\n\nChange-Id: I0bf58ba3825c71cef110b53f3a0a6f567cb2ef9a\n"
    },
    {
      "commit": "8ffc1fa556eb92f50a0bd3d5eab56435fff206f6",
      "tree": "9ab530e9d65f4f91b6c2d278408c01a0d161038d",
      "parents": [
        "f598e2f183f496065597267a6fc142aa9a56e7c4"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Feb 17 15:13:56 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Feb 17 16:01:21 2016 -0800"
      },
      "message": "Set bias on !\u003d comparison for isNaN.\n\nChange-Id: I83969ecf7252b5e001bdd501c4ca31e7d0608854\n"
    },
    {
      "commit": "293a79e89c9dbdb63932bf2444d991fd6901a7a1",
      "tree": "7cdec0f1c1cb114b923f73a587d561e22ecc3e7c",
      "parents": [
        "aaf56c4c95331d4dd8ac298e6c234d4d58d28308",
        "75a38b24801bd4d27c95acef969930f626dd11da"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Feb 17 22:03:15 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 17 22:03:15 2016 +0000"
      },
      "message": "Merge \"Implement isNaN intrinsic through HIR equivalent.\""
    },
    {
      "commit": "75a38b24801bd4d27c95acef969930f626dd11da",
      "tree": "81a02217dafbc4dd840db8b8ba34cd66abd9c704",
      "parents": [
        "b93c21e83c8fbf0191093c01a8951adb5be9010b"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Feb 17 10:41:50 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Feb 17 13:01:45 2016 -0800"
      },
      "message": "Implement isNaN intrinsic through HIR equivalent.\n\nRationale:\nEfficient implementation on all platforms.\nSubject to better compiler optimizations.\n\nChange-Id: Ie8876bf5943cbe1138491a25d32ee9fee554043c\n"
    },
    {
      "commit": "1252e976b972231a84b36e4bb73cf513bb7799d1",
      "tree": "ec1e75f145fd1ebe50f1c411f9338443e65ea715",
      "parents": [
        "f0b04803ec4cdd8d76aadb6f02ae2511c46b20b5"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Aug 06 15:46:02 2015 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 17 18:05:40 2016 +0000"
      },
      "message": "Implement Optimizing\u0027s constant folding as a visitor.\n\nRefactor the logic of art::HConstantFolding::Run into a new\nvisitor, art::HConstantFoldingVisitor.\n\nChange-Id: Id8d3c3826f6dff6cc2d18a01f6c48d79bde483b3\n"
    },
    {
      "commit": "32ca375a5f9dcd010bafa84f829339b6b612b844",
      "tree": "cfb67bf6410a1223d6f4fe07fc7368559140eab8",
      "parents": [
        "d99073f2a57929b5baeb4ed2b80556f0a2aa1284"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 17 16:49:37 2016 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 17 16:53:00 2016 +0000"
      },
      "message": "Fix uses of art::HCompare::IsGtBias on MIPS32 and MIPS64.\n\nDo not call this method on non floating-point HCompare\ninstructions.\n\nChange-Id: I262ab23f48d32295641063f897dca02cb92eb2e2\n"
    },
    {
      "commit": "d99073f2a57929b5baeb4ed2b80556f0a2aa1284",
      "tree": "488ca12ff4182db282253066947468f5340e9e94",
      "parents": [
        "3ce0bfa17450cedc341d1a159204f1d8245baa02",
        "31dd3d60491148d345c1edae1ccd090a1b67dd2b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 17 15:44:04 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 17 15:44:04 2016 +0000"
      },
      "message": "Merge \"Extend constant folding to float and double operations.\""
    },
    {
      "commit": "936d5dc60fa3f4dadf3654db04d2b361dc0b745c",
      "tree": "660fcf62dab8f09de9c19568783ac6e2a0ac00f8",
      "parents": [
        "39e4fab868a6052e0fab75e2668600b0e26daa42",
        "3acee732f9475fbfc6b046e0044b764e7ff5ac01"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 17 14:47:03 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 17 14:47:03 2016 +0000"
      },
      "message": "Merge \"MIPS32: peek*/poke*, and String.charAt intrinsics.\""
    },
    {
      "commit": "31dd3d60491148d345c1edae1ccd090a1b67dd2b",
      "tree": "57e6fc0663a39dd5abd6284adc822e8782c4bdf0",
      "parents": [
        "88f38e9b4e9ba0aca3d6fd4823be3a7226c87f33"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Feb 16 12:21:02 2016 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 17 13:52:33 2016 +0000"
      },
      "message": "Extend constant folding to float and double operations.\n\nChange-Id: I2837064b2ceea587bc171fc520507f13355292c6\n"
    },
    {
      "commit": "442643920a6c539e98aad76594e99b932b5631ba",
      "tree": "ecbe2d8109125de2031af7ac4e0f4fc03a3b6d12",
      "parents": [
        "0723a61dd00fcc7072d82407e0d4a40a8b141d43",
        "0c5b18edd1308975804ccf29a02a130a7b6f7fa7"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Feb 17 11:06:40 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 17 11:06:40 2016 +0000"
      },
      "message": "Merge \"Support CMOV for x86 Select\""
    },
    {
      "commit": "4a69a30120ecba9431246938e124d56213447137",
      "tree": "3201099fae198e4d90305a0a9168019c1a7b9f60",
      "parents": [
        "ce053b20e87f33b4417b8f21bb6f2ec4feb3104e",
        "55bd749991f9a0a73f612696e1a93e739380546b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 16 16:54:19 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 16 16:54:19 2016 +0000"
      },
      "message": "Merge \"Refactor the inliner.\""
    },
    {
      "commit": "ce053b20e87f33b4417b8f21bb6f2ec4feb3104e",
      "tree": "9c40e6abafac47ca9b9190df0a2ac85b6540ccad",
      "parents": [
        "a1f1296d8353c22b43cb2c5437a3ef5b747f7a87",
        "8659e8462553fa95ec1470fb86324f6ad540bf77"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 16 16:54:00 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 16 16:54:01 2016 +0000"
      },
      "message": "Merge \"X86: Allow long compares to stack operands\""
    },
    {
      "commit": "55bd749991f9a0a73f612696e1a93e739380546b",
      "tree": "7bfe5a6565e728468fa67cb9ce7c62907d9ce0f8",
      "parents": [
        "7dc277b171b4d8294c4d152d8a6020995dc95f98"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 16 15:37:12 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 16 16:05:11 2016 +0000"
      },
      "message": "Refactor the inliner.\n\nIn preparation for more polymorphic inlining, refactor the inliner\na bit.\n\nChange-Id: Ie3fd6c1ef205f1089989c67a527e6f57ff3c8b5d\n"
    },
    {
      "commit": "8659e8462553fa95ec1470fb86324f6ad540bf77",
      "tree": "169e56f8ecf97590cc0d63e8ede939240897e420",
      "parents": [
        "7eca244e79480f2ecea341598524a53273959c2b"
      ],
      "author": {
        "name": "Mark Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Tue Feb 16 10:41:46 2016 -0500"
      },
      "committer": {
        "name": "Mark Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Tue Feb 16 10:41:46 2016 -0500"
      },
      "message": "X86: Allow long compares to stack operands\n\nThere is no need to force the RHS stack operand into a register for a\nlong comparison.\n\nChange-Id: Ie86851a54ec2dc9a9f61443e59219a8994dc01bb\nSigned-off-by: Mark Mendell \u003cmark.p.mendell@intel.com\u003e\n"
    },
    {
      "commit": "9779307ce8f2dd40c429abb0f0cafc1415f70648",
      "tree": "c3963fb789d54a81459166f38176c6be6eb328e8",
      "parents": [
        "7eca244e79480f2ecea341598524a53273959c2b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 16 15:33:54 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 16 15:36:16 2016 +0000"
      },
      "message": "HInvokeStaticOrDirect may not have a special input.\n\nFor irreducible loops, we disable the generation of\nHX86ComputeBaseMethodAddress, so intrinsics code should not assume\nit\u0027s there.\n\nbug:27149923\n\nChange-Id: I78ba0ca7aefa4033227c77ba438b6eaca53dadd9\n"
    },
    {
      "commit": "0c5b18edd1308975804ccf29a02a130a7b6f7fa7",
      "tree": "58f60a2f93973460f1602f007ffdb2c6d7c577bf",
      "parents": [
        "7eca244e79480f2ecea341598524a53273959c2b"
      ],
      "author": {
        "name": "Mark Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Sat Feb 06 13:58:35 2016 -0500"
      },
      "committer": {
        "name": "Mark Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Tue Feb 16 10:10:44 2016 -0500"
      },
      "message": "Support CMOV for x86 Select\n\nIf possible, generate CMOV to implement HSelect.  Tricky cases are a\nlong or FP condition (no single CC generated), FP inputs (no FP CMOV)\nand when the condition is a boolean or not emitted at the use site.\nIn these cases, keep using the existing HSelect code.\n\nChange-Id: I4ff1e152b8ef126fbbabeb3316e9e2b6a6b74aeb\nSigned-off-by: Mark Mendell \u003cmark.p.mendell@intel.com\u003e\n"
    },
    {
      "commit": "7dc277b171b4d8294c4d152d8a6020995dc95f98",
      "tree": "9b25cc68480177fdf79f288aaf5c62d3e6d24bf1",
      "parents": [
        "dd867c87f32022e2bd8198bb1c294a611d81de50",
        "da571cb73e9bc12636b23c58d7012cf14c228832"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Feb 16 09:42:31 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 16 09:42:31 2016 +0000"
      },
      "message": "Merge \"Optimizing: Use range-based loops in BCE.\""
    },
    {
      "commit": "da571cb73e9bc12636b23c58d7012cf14c228832",
      "tree": "94997acacac26b81980fe25a6c5c81a9ab3fb1c0",
      "parents": [
        "b3871cd241eed77bfdd83c36182c19273c351da6"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 15 17:54:56 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 15 19:10:59 2016 +0000"
      },
      "message": "Optimizing: Use range-based loops in BCE.\n\nChange-Id: Ib7cbc6dcbdf61d0b115e6b872914cff3687ad6e4\n"
    },
    {
      "commit": "afd33d77f2df61467dae38cfd59b8e8e6a490058",
      "tree": "af3013724538e6bd3dab47863ae3d6633aba64e0",
      "parents": [
        "e8e3d9253fefffd843b42b1da76b37ef65bc100c",
        "8428bd376e660df2ffceee72f797d1cfc6c66433"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 15 18:39:47 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 15 18:39:47 2016 +0000"
      },
      "message": "Merge \"Optimizing: Remove unnecessary And before TypeConversion.\""
    },
    {
      "commit": "8e73ac34f4fac4aee96ccef82e08fab0474a4c98",
      "tree": "0d7281360c62f25dfb700006756a669178f07603",
      "parents": [
        "b3871cd241eed77bfdd83c36182c19273c351da6"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Feb 15 18:20:01 2016 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Feb 15 18:20:01 2016 +0000"
      },
      "message": "Fix broken tests\n\nChange-Id: I9d0f1064e8cd63045283445946c46594a50d4b84\n"
    },
    {
      "commit": "6dd10fa29e47d9041f5dee85a43a9615299e22c2",
      "tree": "88c26fc6047199fc3aeda0e0adb9661ed65d384b",
      "parents": [
        "26962cc2a1e773e99c1711bef9b36e199fdc8989"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Feb 15 17:14:31 2016 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Feb 15 17:14:40 2016 +0000"
      },
      "message": "Fix lint error\n\nChange-Id: I6f7785abece7ead31b4737fc6b54712c26582e2b\n"
    },
    {
      "commit": "26962cc2a1e773e99c1711bef9b36e199fdc8989",
      "tree": "0841225e62c317667513d8d2f1329386a863dfa7",
      "parents": [
        "c86382a7d1685728fe000df43dd8ba7bc22278a5",
        "5e08e3643230ff89f3d7e9b5d7660db6fd94bec9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 15 16:32:16 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 15 16:32:16 2016 +0000"
      },
      "message": "Merge \"Expect less in the presence of a string init call.\""
    },
    {
      "commit": "5e08e3643230ff89f3d7e9b5d7660db6fd94bec9",
      "tree": "e19e6ce62b9350e52544c37dffadc4e1b8615417",
      "parents": [
        "88f4bc504c1be353e95e9d215d68c7d58eb0717f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 15 15:56:11 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 15 16:17:11 2016 +0000"
      },
      "message": "Expect less in the presence of a string init call.\n\nThe compiler currently relies on the dex cache being populated\nfor doing proper type propagation. If it hasn\u0027t, we may end up in the\nsituation where the DexMethodInliner has recognized a String.\u003cinit\u003e call\n(because DexMethodInliner only looks at signatures, and does not resolve\ntypes), but the graph builder doesn\u0027t see a type and assume it needs\nto do access checks and clinit checks on it.\n\nChange-Id: Id79313b0610b127909e3e057305b6632b0b172f7\n"
    },
    {
      "commit": "b01e0e2e931b9670690a9eeffdbee73db588715d",
      "tree": "cde0cb9e1d26fe11c730ed8580f507a58cf8006a",
      "parents": [
        "9b8beaa5d04afcab0e3ddb6306ed610c0d11da8d",
        "badd826664896d4a9628a5a89b78016894aa414b"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Feb 15 16:12:32 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 15 16:12:32 2016 +0000"
      },
      "message": "Merge \"ART: Run SsaBuilder from HGraphBuilder\""
    },
    {
      "commit": "9b8beaa5d04afcab0e3ddb6306ed610c0d11da8d",
      "tree": "ee6fa393251efa002f4910d250e86f7419856966",
      "parents": [
        "ccf88e56ff4e30b14aba8d4de0ae67aa9c178e5a",
        "c0b601b5e4c1add5eefd45f2f4d2c376a20ba4d4"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Feb 15 15:53:55 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 15 15:53:55 2016 +0000"
      },
      "message": "Merge \"ART: Implement HSelect with CSEL/FCSEL on arm64\""
    },
    {
      "commit": "ccf88e56ff4e30b14aba8d4de0ae67aa9c178e5a",
      "tree": "cdec3e290c1e3f2638e4aa0042f81b770173fecf",
      "parents": [
        "b6de3d92e932c0cded1c2e208f6b8fa4eebe6f02",
        "b52bbde2870e5ab5d126612961dcb3da8e5236ee"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 15 15:39:47 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 15 15:39:47 2016 +0000"
      },
      "message": "Merge \"Optimizing: Simplify consecutive type conversions.\""
    },
    {
      "commit": "8428bd376e660df2ffceee72f797d1cfc6c66433",
      "tree": "5dc6d17eb70179b4b823d5f6034021ec6574c60b",
      "parents": [
        "b52bbde2870e5ab5d126612961dcb3da8e5236ee"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 12 16:53:57 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 15 15:09:27 2016 +0000"
      },
      "message": "Optimizing: Remove unnecessary And before TypeConversion.\n\nFor example `(byte) (x \u0026 0xff)` doesn\u0027t need the `\u0026 0xff`.\n\nBug: 23965701\nChange-Id: I5fc8419491aff2cdc7074451e74e873b5f582d41\n"
    },
    {
      "commit": "b52bbde2870e5ab5d126612961dcb3da8e5236ee",
      "tree": "3a58d251d8667e7c8447199a799fecba9bd5f918",
      "parents": [
        "1b0755299928221a1dcc5db383bf8fc378d29b60"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 12 12:06:05 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 15 15:06:44 2016 +0000"
      },
      "message": "Optimizing: Simplify consecutive type conversions.\n\nMerge two consecutive type conversions to one if the result\nof such merged conversion is guaranteed to be the same and\nremove all implicit conversions, not just conversions to the\nsame type. Improve codegens to handle conversions from long\nto integral types smaller than int.\n\nThis will make it easier to simplify `(byte) (x \u0026 0xffL)` to\n`(byte) x` where the conversion from long to byte is done by\ntwo dex instructions, long-to-int and in int-to-byte.\n\nBug: 23965701\nChange-Id: I833f193556671136ad2cd3f5b31cdfbc2d99c19d\n"
    },
    {
      "commit": "c0b601b5e4c1add5eefd45f2f4d2c376a20ba4d4",
      "tree": "5afda879812dd7984f2d5970d4ff4ab3bc22a7d0",
      "parents": [
        "b3ba4ec3fac34f0a45aa654ef88033b2f34c3640"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Feb 08 14:20:45 2016 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Feb 15 13:11:04 2016 +0000"
      },
      "message": "ART: Implement HSelect with CSEL/FCSEL on arm64\n\nChange-Id: I549af0cba3c5048066a2d1206b78a70b496d349e\n"
    },
    {
      "commit": "dee1b9aec66d1ab1472df3954d8c1cc25896f62e",
      "tree": "f02742c10d5fc4b4bf9fd5fc1bd355e01cb78fcb",
      "parents": [
        "88f4bc504c1be353e95e9d215d68c7d58eb0717f"
      ],
      "author": {
        "name": "Mark Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Fri Feb 12 14:36:51 2016 -0500"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Feb 15 11:52:00 2016 +0000"
      },
      "message": "X86_64: Allow HSelect to generate CMOV from memory\n\nUse the cmov with Address operand to allow CMOV from stack location.\n\nChange-Id: Ia2f856c7b5003c413f23adaabe19be06f38c78ab\nSigned-off-by: Mark Mendell \u003cmark.p.mendell@intel.com\u003e\n"
    },
    {
      "commit": "badd826664896d4a9628a5a89b78016894aa414b",
      "tree": "a30e8b3e62126ae1e1df1152ac643cfc5f2b074a",
      "parents": [
        "47a2a45a6673ddf3322115ff5058763f82a9368f"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Feb 02 16:28:56 2016 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Feb 15 10:21:07 2016 +0000"
      },
      "message": "ART: Run SsaBuilder from HGraphBuilder\n\nFirst step towards merging the two passes, which will later result in\nHGraphBuilder directly producing SSA form. This CL mostly just updates\ntests broken by not being able to inspect the pre-SSA form.\n\nUsing HLocals outside the HGraphBuilder is now deprecated.\n\nBug: 27150508\nChange-Id: I00fb6050580f409dcc5aa5b5aa3a536d6e8d759e\n"
    },
    {
      "commit": "1d23982327265e8139f67e37d9a86ba2758f7b4a",
      "tree": "bb3874b1e0e247115ab385c8809ac38da12e972b",
      "parents": [
        "b9adbf63f880f246d83b3af4ca03aca07711f857"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Feb 09 14:26:34 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Feb 12 13:12:15 2016 -0800"
      },
      "message": "Generalized \"dom-based\" dynamic BCE to symbolic base + offset.\n\nRationale:\nSo far, if all others failed, BCE would use a dominator-based\ndynamic deoptimization to eliminate bounds checks in e.g. a[0],\na[1], a[2], etc. This CL generalizes this to any symbolic base\nwith offset in e.g. a[base], a[base+1], etc. The runtime tests\n(two for symbolic, one for constant) carefully account for\narithmetic wrap-around.\n\nbug\u003d26680114\n\nChange-Id: I7432a200fd69791914ed776c77fa62567b5863c0\n"
    },
    {
      "commit": "0d15f267eb9d629e26df0c603c39f9665951e970",
      "tree": "08b0635a78a64f44fd9c69dcdd1556d54e6add60",
      "parents": [
        "6c5907ad7ae1d242b90d692c478ba68b5cdcb44a",
        "6e332529c33be4d7dae5dad3609a839f4c0d3bfc"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Feb 12 16:34:49 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 12 16:34:49 2016 +0000"
      },
      "message": "Merge \"ART: Remove HTemporary\""
    },
    {
      "commit": "6e332529c33be4d7dae5dad3609a839f4c0d3bfc",
      "tree": "cedd2e1beb170fd5821136fe974e3f34adfcddc2",
      "parents": [
        "d3caabd4f85f86dd744da432993e12935d843a83"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Feb 02 16:15:27 2016 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Feb 12 15:17:50 2016 +0000"
      },
      "message": "ART: Remove HTemporary\n\nChange-Id: I21b984224370a9ce7a4a13a9652503cfb03c5f03\n"
    },
    {
      "commit": "5960a3f430d1e7f47ea3db9a8364dc82e3f8add9",
      "tree": "a5db2ead3ad957ba1a657145b308cb5b752ac90a",
      "parents": [
        "b20d0f6327acbc225eba517d220832ab9a1cd599",
        "d9994f069dfeaa32ba929ca78816b5b83e2a4134"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 12 13:25:56 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 12 13:25:56 2016 +0000"
      },
      "message": "Merge \"Re-enable OSR.\""
    },
    {
      "commit": "d9994f069dfeaa32ba929ca78816b5b83e2a4134",
      "tree": "a826990f89d8f546921902933a4cc05b57196971",
      "parents": [
        "be89a6f1d9e41b154be3fe1da97cedb6964fbd35"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 11 17:35:55 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 11 21:47:46 2016 +0000"
      },
      "message": "Re-enable OSR.\n\nFixes two bugs:\n- Dealing with proxy methods, which the compiler and code cache\n  does not handle.\n- Dealing with phi types, that may have been speculatively optimized\n  but do not hold once jumping to the compiled code.\n\nChange-Id: I7dcd9976ef7b12128fff95d2b7ed3e69cc42e90a\n"
    },
    {
      "commit": "d3caabd4f85f86dd744da432993e12935d843a83",
      "tree": "b7fb9f36c2725e78e0ba7f61fc8ff14c60666077",
      "parents": [
        "d3df33e6c24e3cd62991b2a65833f16dc05a17b8",
        "86503785cd6414b8692e5c83cadaa2972b6a099b"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Feb 11 21:39:41 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 11 21:39:41 2016 +0000"
      },
      "message": "Merge \"Fix x86-64 Baker\u0027s read barrier fast path for CheckCast.\""
    },
    {
      "commit": "d3df33e6c24e3cd62991b2a65833f16dc05a17b8",
      "tree": "39baa1939418c2bbee4b4b7d6677597c70971a7d",
      "parents": [
        "e52bf00fed14563d23e38a74908180e152b26629",
        "40bcb9356f951af2db4b9b671511841eedf59427"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Feb 11 19:27:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 11 19:27:37 2016 +0000"
      },
      "message": "Merge \"Some clean-up for the handling of HSelect in LSE\""
    },
    {
      "commit": "86503785cd6414b8692e5c83cadaa2972b6a099b",
      "tree": "a242e28bd3605dce65c9f5e94b5fc13f06f07d19",
      "parents": [
        "be89a6f1d9e41b154be3fe1da97cedb6964fbd35"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Feb 11 19:07:30 2016 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Feb 11 19:07:30 2016 +0000"
      },
      "message": "Fix x86-64 Baker\u0027s read barrier fast path for CheckCast.\n\nUse an art::x86_64::Label instead of an\nart::x86_64::NearLabel as end label when emitting code for a\nHCheckCast instruction, as the range of the latter may\nsometimes be too short when Baker\u0027s read barriers are\nenabled.\n\nBug: 12687968\nChange-Id: Ia9742dce65be7d4fb104688f3c4717b65df1fb54\n"
    },
    {
      "commit": "9b262128d7dc2b8caa5265e1b3c967465e58ef77",
      "tree": "dcc102e2cb1614b51d9ddd2a15cab15722d89b14",
      "parents": [
        "953e4c990456a71d351e17aee62e80e8133a186e",
        "119a885ff58f158a4e3cd783c5604ae4252a08eb"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 11 11:41:19 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 11 11:41:19 2016 +0000"
      },
      "message": "Merge \"Fix AllocateBlockedReg.\""
    },
    {
      "commit": "3acee732f9475fbfc6b046e0044b764e7ff5ac01",
      "tree": "3b87f8b93c427c05e7690ea8d14577ce3e9eb502",
      "parents": [
        "34937e2ed46fa9f56d99e9f32e0bfad050e5e798"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Wed Nov 18 13:31:08 2015 -0800"
      },
      "committer": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Wed Feb 10 16:12:56 2016 -0800"
      },
      "message": "MIPS32: peek*/poke*, and String.charAt intrinsics.\n\n- byte libcore.io.Memory.peekByte(long address)\n- short libcore.io.Memory.peekShort(long address)\n- int libcore.io.Memory.peekInt(long address)\n- long libcore.io.Memory.peekLong(long address)\n- void libcore.io.Memory.pokeByte(long address, byte value)\n- void libcore.io.Memory.pokeShort(long address, short value)\n- void libcore.io.Memory.pokeInt(long address, int value)\n- void libcore.io.Memory.pokeLong(long address, long value)\n- char java.lang.String.charAt(int index)\n\nChange-Id: I5ff30b61d87313d00f0fd3f0ee09f1c454f9c9fa\n"
    },
    {
      "commit": "0c82e1afa325cff3c409c8e35184f139f5c06f68",
      "tree": "a768389ffa11bf986861721a203320efe3cf1879",
      "parents": [
        "927f40d925e2106598d413ac02e8d80463357258",
        "ca0bf0349f8da35b284df49732e30eeb62591034"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 10 11:51:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 10 11:51:54 2016 +0000"
      },
      "message": "Merge \"Fix ARM64 Baker\u0027s read barrier fast path for ArraySet.\""
    },
    {
      "commit": "927f40d925e2106598d413ac02e8d80463357258",
      "tree": "b43a85e62460bb83a0e2e82deba969d6d896714f",
      "parents": [
        "dfcd2f43a6694482a4e691261905508f65d8dc9e",
        "354efa6cdf558b2331e8fec539893fa51763806e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 10 09:44:52 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 10 09:44:52 2016 +0000"
      },
      "message": "Merge \"Try to substitute constructor chains for IPUTs.\""
    },
    {
      "commit": "354efa6cdf558b2331e8fec539893fa51763806e",
      "tree": "b2d91993fc46011d1eeb416d411bf16fb4d25c20",
      "parents": [
        "519281001dabe9060e2bfefc2382570bab26c96a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Feb 04 19:46:56 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Feb 09 19:57:41 2016 +0000"
      },
      "message": "Try to substitute constructor chains for IPUTs.\n\nMatch a constructor chain where each constructor either\nforwards some or all of its arguments to the next (i.e.\nsuperclass constructor or a constructor in the same class)\nand may pass extra zeros (of any type, including null),\nfollowed by any number of IPUTs on \"this\", storing either\narguments or zeros, until we reach the contructor of\njava.lang.Object.\n\nWhen collecting IPUTs from the constructor chain, remove\nany IPUTs that store the same field as an IPUT that comes\nlater. This is safe in this case even if those IPUTs store\nvolatile fields because the uninitialized object reference\nwasn\u0027t allowed to escape yet. Also remove any IPUTs that\nstore zero values as the allocated object is already zero\ninitialized.\n\nChange-Id: If93022310bf04fe38ee741665ac4a65d4c2bb25f\n"
    },
    {
      "commit": "c70646e3c75ec97648bfa7c295e4b1685895afcc",
      "tree": "3d2d1cfd39762cb264d34bc906f8e38e15643f31",
      "parents": [
        "96bbc8fcac2d408e0afdcae933653198fb8bbe92",
        "d70dc9d824b715475d7fb3900757dba2f4d67f50"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Feb 09 18:47:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 09 18:47:23 2016 +0000"
      },
      "message": "Merge \"ARM: Add direct calls to math intrinsics\""
    },
    {
      "commit": "ca0bf0349f8da35b284df49732e30eeb62591034",
      "tree": "5275be61f01748fc01137147740a19b30f2142a6",
      "parents": [
        "f637d80872d418fc62ee1d40b19e1f5a676d1399"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Feb 09 12:49:18 2016 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Feb 09 12:49:18 2016 +0000"
      },
      "message": "Fix ARM64 Baker\u0027s read barrier fast path for ArraySet.\n\nDo not exhaust the pool of scratch (temporary) registers\ngratuitously when emitting an instrumented array load with a\nlarge constant index.\n\nBug: 26817006\nBug: 12687968\nChange-Id: I65a4fe676aa3c9e2c8d7e26195d9af6432c83ff9\n"
    },
    {
      "commit": "40bcb9356f951af2db4b9b671511841eedf59427",
      "tree": "0d46c2a097fe925cedc8e6eb72d3ccd5997399cf",
      "parents": [
        "009a195c5507ddc799cf7a52927b0ac02aa7f7e6"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Feb 03 05:46:57 2016 -0800"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Mon Feb 08 22:59:13 2016 -0800"
      },
      "message": "Some clean-up for the handling of HSelect in LSE\n\nUse $noinline and throwing an Exception for doing no-inlining in\nthe test.\nAlso create reference info early for HSelect if it has reference\ntype, which may help the pre-existence-based alias analysis.\n\nChange-Id: Ia825058a457b049f87a13087bb78f5233513e0a8\n"
    },
    {
      "commit": "c5bfa97c47d656b76f297af8abcd5f7502987399",
      "tree": "84da9d0f39096d8b857760a0848c0231aff0ed6d",
      "parents": [
        "a0f2bc5b09cdaf8a8ff5cec3c40a9f18885e8796"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Feb 05 15:49:10 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Feb 08 12:47:07 2016 +0000"
      },
      "message": "Split elf_writer_debug.cc to several files.\n\nRefactoring only. The file has grown significantly over time,\nand it is time to split it so it can be better managed.\n\nChange-Id: Idce0231718add722292f4701df353d5baf31de5f\n"
    },
    {
      "commit": "a0f2bc5b09cdaf8a8ff5cec3c40a9f18885e8796",
      "tree": "f7be0f7f42b3a79eef3f1f97f39ad73f5b269b72",
      "parents": [
        "e003beb849386236c1fe6e5edea6aaf5f58b7919",
        "4fda4eb799c95be266f52aaf3461a440ea86b841"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Feb 08 12:46:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 08 12:46:10 2016 +0000"
      },
      "message": "Merge \"Move code related to debug info generation to its own directory.\""
    },
    {
      "commit": "4fda4eb799c95be266f52aaf3461a440ea86b841",
      "tree": "54a7e56b5633caf2b868f6028010b488eb1923ce",
      "parents": [
        "3c258f4d7a6492af733a9351ba430d876a3e5ccf"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Feb 05 13:34:46 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Feb 08 11:33:50 2016 +0000"
      },
      "message": "Move code related to debug info generation to its own directory.\n\ndebug/dwarf/ contains helper classes which hide the details\nof the DWARF file format. It acts as independent DWARF library.\n\ndebug/ contains ART-specific code which generates ELF debug\nsections (which includes non-DWARF sections like .symtab).\n\nChange-Id: Id351f604e4e64be2ca395a78324ea02e30481497\n"
    },
    {
      "commit": "119a885ff58f158a4e3cd783c5604ae4252a08eb",
      "tree": "6fb6eefb81d4d053645a3b5e8475ee4e8b43d68c",
      "parents": [
        "2a49bc4625155b80287c155b57354b9559d71bed"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Feb 06 17:01:15 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Feb 06 17:01:36 2016 +0000"
      },
      "message": "Fix AllocateBlockedReg.\n\nMotivated by System.arraycopy(char) for x86, where only looking\nat use and not register use makes the allocator think it\u0027s out\nof registers.\n\nbug:27019403\nChange-Id: I0db5bc839a77e6394a07facbf19d00a165dc2ef7\n"
    },
    {
      "commit": "a19616e3363276e7f2c471eb2839fb16f1d43f27",
      "tree": "ad3e7fd0f53229e95fb0443586fc30eedabe6967",
      "parents": [
        "9fba3f67a0792ad5eeb495e489d11a87211c318f"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Feb 01 18:57:58 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Feb 05 09:26:21 2016 -0800"
      },
      "message": "Implemented compare/signum intrinsics as HCompare\n(with all code generation for all)\n\nRationale:\nAt HIR level, many more optimizations are possible, while ultimately\ngenerated code can take advantage of full semantics.\n\nChange-Id: I6e2ee0311784e5e336847346f7f3c4faef4fd17e\n"
    },
    {
      "commit": "9fba3f67a0792ad5eeb495e489d11a87211c318f",
      "tree": "7204ab0951b14fa2536fe33d974e413a3cbe87a5",
      "parents": [
        "0f638c64686c03256c949051331b0838c9888a2a",
        "b331febbab8e916680faba722cc84b66b84218a3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 05 17:25:17 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 05 17:25:17 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Implement on-stack replacement for arm/arm64/x86/x86_64.\"\"\""
    },
    {
      "commit": "b331febbab8e916680faba722cc84b66b84218a3",
      "tree": "35f985b021e476914bfe91492da23fee218014a7",
      "parents": [
        "586996afc905518ed926e4680aab67bedabec9b7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 05 16:51:53 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 05 17:11:54 2016 +0000"
      },
      "message": "Revert \"Revert \"Implement on-stack replacement for arm/arm64/x86/x86_64.\"\"\n\nThis reverts commit bd89a5c556324062b7d841843b039392e84cfaf4.\n\nChange-Id: I08d190431520baa7fcec8fbdb444519f25ac8d44\n"
    },
    {
      "commit": "0f638c64686c03256c949051331b0838c9888a2a",
      "tree": "3124ad705f249a98bce4bf7f678e420a1732163e",
      "parents": [
        "11aa3f5c5efd5ce8e761dfd76378a91d9f8dc42b",
        "9f98025ba5541641cfa9abb7b9cf30332d91fad1"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Feb 05 16:07:44 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 05 16:07:44 2016 +0000"
      },
      "message": "Merge \"Extend De Morgan factorisation to `HBooleanNot`.\""
    },
    {
      "commit": "11aa3f5c5efd5ce8e761dfd76378a91d9f8dc42b",
      "tree": "746ab81bbc05e03fb918ca32cc8d5b296d083113",
      "parents": [
        "7ac9aeb501520089334c7b9e0deca1e089945bc8",
        "bd89a5c556324062b7d841843b039392e84cfaf4"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Feb 05 15:47:16 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 05 15:47:16 2016 +0000"
      },
      "message": "Merge \"Revert \"Implement on-stack replacement for arm/arm64/x86/x86_64.\"\""
    },
    {
      "commit": "bd89a5c556324062b7d841843b039392e84cfaf4",
      "tree": "185a1604d29d715aa3ac8e0284343bf8d538ef3e",
      "parents": [
        "891bc286963892ed96134ca1adb7822737af9710"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Feb 05 15:46:42 2016 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Feb 05 15:46:42 2016 +0000"
      },
      "message": "Revert \"Implement on-stack replacement for arm/arm64/x86/x86_64.\"\n\nDCHECK whether loop headers are covered fails.\n\nThis reverts commit 891bc286963892ed96134ca1adb7822737af9710.\n\nChange-Id: I0f9a90630b014b16d20ba1dfba31ce63e6648021\n"
    },
    {
      "commit": "7ac9aeb501520089334c7b9e0deca1e089945bc8",
      "tree": "2654ef827f6f15ac92f224c2b0460a3d3645fe2d",
      "parents": [
        "c8d2b0c174dc45c931eecf45a5fdd45fdf4be311",
        "891bc286963892ed96134ca1adb7822737af9710"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 05 14:39:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 05 14:39:18 2016 +0000"
      },
      "message": "Merge \"Implement on-stack replacement for arm/arm64/x86/x86_64.\""
    },
    {
      "commit": "c8d2b0c174dc45c931eecf45a5fdd45fdf4be311",
      "tree": "746ab81bbc05e03fb918ca32cc8d5b296d083113",
      "parents": [
        "3c258f4d7a6492af733a9351ba430d876a3e5ccf",
        "7c0b44f180f1b8cf82c568091d250071d1130954"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Feb 05 14:26:53 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 05 14:26:53 2016 +0000"
      },
      "message": "Merge \"Support CMOV for x86_64 Select\""
    },
    {
      "commit": "9f98025ba5541641cfa9abb7b9cf30332d91fad1",
      "tree": "5f49ea003ee2989f788605bf68b13c2e55db00e8",
      "parents": [
        "f1ea14af52b64adb45ba57ce8c525511c208d0e2"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Fri Feb 05 14:00:28 2016 +0000"
      },
      "committer": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Fri Feb 05 14:00:28 2016 +0000"
      },
      "message": "Extend De Morgan factorisation to `HBooleanNot`.\n\nChange-Id: I81aa92277fa136d675e7ef01be8e4acdbd3d3b7c\n"
    },
    {
      "commit": "e6e0cfd7984b2e0794dda751d17d2f528786b05c",
      "tree": "89c02eff7473feda06b2baf5e5bfcb6b30d4055b",
      "parents": [
        "519281001dabe9060e2bfefc2382570bab26c96a",
        "2f10a5fb8c236a6786928f0323bd312c3ee9a4cc"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Feb 05 13:12:24 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 05 13:12:24 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"X86: Use the constant area for more operations.\"\"\""
    },
    {
      "commit": "891bc286963892ed96134ca1adb7822737af9710",
      "tree": "596055109b4eed1a41ae61dbec76ad9d5a1d78df",
      "parents": [
        "586996afc905518ed926e4680aab67bedabec9b7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 29 12:40:13 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 05 11:48:04 2016 +0000"
      },
      "message": "Implement on-stack replacement for arm/arm64/x86/x86_64.\n\nHigh-level overview:\n- osr_method_threshold is used to know when to compile a method\n  in osr mode (-\u003e treat all loops as irreducible).\n- branch instructions in the compiler query whether they can\n  jump to an osr method.\n- An osr entry point is found through the stack maps: if a stack\n  map is duplicated in the CodeInfo, it is an osr entry point.\n\nChange-Id: Ifb39338cd281e2c7eccce67f4e18d46428be71e4\n"
    },
    {
      "commit": "2f10a5fb8c236a6786928f0323bd312c3ee9a4cc",
      "tree": "0dc51717b1f5d9b2c20898c5283467d4feb220e2",
      "parents": [
        "a20748aceb63396c5e09366968bbc71308f745df"
      ],
      "author": {
        "name": "Mark P Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Mon Jan 25 14:47:50 2016 +0000"
      },
      "committer": {
        "name": "Mark Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Thu Feb 04 12:59:22 2016 -0500"
      },
      "message": "Revert \"Revert \"X86: Use the constant area for more operations.\"\"\n\nThis reverts commit cf8d1bb97e193e02b430d707d3b669565fababb4.\n\nHandle the case of an intrinsic where CurrentMethod is still an input.\nThis will be the case when there are unresolved classes in the\nhierarchy.\n\nAdd a test case to confirm that we don\u0027t crash when handling Math.abs,\nwhich wants to add a pointer to the constant area for the bitmask to be\nused to remove the sign bit.\n\nEnhance 565-checker-condition-liveness to check for the case of deeply\nnested EmitAtUseSite chains.\n\nChange-Id: I022e8b96a32f5bf464331d0c318c56b9d0ac3c9a\n"
    },
    {
      "commit": "d70dc9d824b715475d7fb3900757dba2f4d67f50",
      "tree": "96c4899b0989c61470bfb899b719a63bd9d3f937",
      "parents": [
        "85b3b52a931b54380be3753216e97431ae2215a9"
      ],
      "author": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Thu Feb 04 14:59:04 2016 +0000"
      },
      "committer": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Thu Feb 04 17:17:32 2016 +0000"
      },
      "message": "ARM: Add direct calls to math intrinsics\n\nThis change mirrors the work that has already been done for x86 and\nx86_64. The following functions are affected: cos, sin, acos, asin,\natan, atan2, cbrt, cosh, exp, expm1, hypot, log, log10, nextafter,\nsinh, tan, tanh.\n\nChange-Id: I476348271a4cfc2579d1ea00ba4a80430f81f0fe\n"
    },
    {
      "commit": "7c0b44f180f1b8cf82c568091d250071d1130954",
      "tree": "b5fb37efa21ad0a8f56ebc9e1fcfd636a6e62b76",
      "parents": [
        "a20748aceb63396c5e09366968bbc71308f745df"
      ],
      "author": {
        "name": "Mark Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Mon Feb 01 10:08:35 2016 -0500"
      },
      "committer": {
        "name": "Mark Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Thu Feb 04 11:56:03 2016 -0500"
      },
      "message": "Support CMOV for x86_64 Select\n\nIf possible, generate CMOV to implement HSelect.  Tricky cases are\nan FP condition (no single CC generated), FP inputs (no FP CMOV)\nand when the condition is a boolean or not emitted at the use site.\nIn these cases, keep using the existing HSelect code.\n\nAdded Load32BitValue for int and FP and used that to remove code\nduplication. Added minimal checker test for int/long CMOV generation.\n\nChange-Id: Id71e515f0afa5a30f53c5de3a5244de1ea429aae\nSigned-off-by: Mark Mendell \u003cmark.p.mendell@intel.com\u003e\n"
    },
    {
      "commit": "3f1a8be7c9511afbc1ea0ce2e76a018269382336",
      "tree": "98511fb06ea5912a56289c7c564484af03baa66f",
      "parents": [
        "c5b76b9328d77b83c80afed14a5b6e7009136e15"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Feb 03 12:56:02 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Feb 03 12:56:02 2016 -0800"
      },
      "message": "Fixed bug on premature DCHECK.\nWith fail-before/pass-after test\n\nbug\u003d26947011\n\nRationale:\nDuring BCE, the phi structure is under construction,\nto be fixed by InsertPhiNodes() and carefully checked\nwith the SSA checker. So utilities should not overly\nDCHECK on SSA consistency during the modifications.\n\nChange-Id: Ia9df9ee5aac0c1dd2c3e3a447c730246d5e48bbb\n"
    },
    {
      "commit": "c5b76b9328d77b83c80afed14a5b6e7009136e15",
      "tree": "6374f0105a707d3491fbb58cefcdff2c35938665",
      "parents": [
        "a20748aceb63396c5e09366968bbc71308f745df",
        "1fc3afb76dbed78d255db276381df6036db2ee98"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Feb 03 17:29:11 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 03 17:29:11 2016 +0000"
      },
      "message": "Merge \"Minor improvement on static BCE analysis.\""
    },
    {
      "commit": "1fc3afb76dbed78d255db276381df6036db2ee98",
      "tree": "61ee6429e39fad5ae5d5d6d620966ce90fead39c",
      "parents": [
        "97f4bc04b61d5cf78b0820dbf18e999b20d7a108"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Feb 02 13:26:16 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Feb 03 09:22:27 2016 -0800"
      },
      "message": "Minor improvement on static BCE analysis.\n\nRationale:\nAvoid testing initial range if nothing is known.\n\nChange-Id: I22646a5fd6e4481245d1a2f57891d2805550489f\n"
    },
    {
      "commit": "a20748aceb63396c5e09366968bbc71308f745df",
      "tree": "6d1ae7382f807ba8eddc0c8b45aa131bc0554888",
      "parents": [
        "905cb88fa4a8e3b7fd29424a35572d0d19c7bce5",
        "2aba7cd68851d79643338f57fcf2dff3cbf81895"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 03 12:28:41 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 03 12:28:41 2016 +0000"
      },
      "message": "Merge \"Implement first kind of polymorphic inlining on MIPS.\""
    },
    {
      "commit": "2aba7cd68851d79643338f57fcf2dff3cbf81895",
      "tree": "449f65420cddb1becdb8c7cbd573b3c0cf5e1f81",
      "parents": [
        "85fdcda926fbab0e5a7b3e8b3541f5d225b2bcdb"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 03 12:27:20 2016 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 03 12:27:20 2016 +0000"
      },
      "message": "Implement first kind of polymorphic inlining on MIPS.\n\nChange-Id: Ie430d6c5821273143a1872b376e8e24683d00ab0\n"
    },
    {
      "commit": "905cb88fa4a8e3b7fd29424a35572d0d19c7bce5",
      "tree": "dfeb6a224c7ba66c65f21a9961997e3174f61d40",
      "parents": [
        "6b5a17a84d84fc4a9131d7a256e6586d906be064",
        "ca0e3a0c9f1fd5902dc40043b061d2f9b79ec098"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 03 12:14:14 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 03 12:14:14 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Optimizing: double-negated bitwise operations simplifications\"\"\""
    },
    {
      "commit": "ca0e3a0c9f1fd5902dc40043b061d2f9b79ec098",
      "tree": "e410c21a6f94536a1cc9666f6f017d135a29ca82",
      "parents": [
        "b72923dd4d6e1636163047c960395ed9879e31fc"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Wed Feb 03 10:54:07 2016 +0000"
      },
      "committer": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Wed Feb 03 10:54:07 2016 +0000"
      },
      "message": "Revert \"Revert \"Optimizing: double-negated bitwise operations simplifications\"\"\n\nThis reverts commit 737c0a99dfbba306ec1f50e2adf66b5d97805af6 with fixes.\n\nIn the original patch, the new instruction could be inserted before\none of its inputs. A regression test is also added.\n\nChange-Id: Ie49a17ac90ff048355d9cc944b468cd1b1914424\n"
    },
    {
      "commit": "371d75ef9e478ccd54e43e727e48ff5c4918e55e",
      "tree": "5d3aa619447c10d6ee8d411efec734f729c8f3d6",
      "parents": [
        "cbe3b55ac3c34c9f6f3b7f0ddd86f9b88243547d",
        "7770a3e080db3fb26e0754dc5afd05eb73aae2a7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 03 10:44:56 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 03 10:44:56 2016 +0000"
      },
      "message": "Merge \"Assume fp operations can also take a constant on x86.\""
    },
    {
      "commit": "7770a3e080db3fb26e0754dc5afd05eb73aae2a7",
      "tree": "e7eb4be8e179b684550c0a77dd2a194a1b809693",
      "parents": [
        "b72923dd4d6e1636163047c960395ed9879e31fc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 03 10:13:41 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 03 10:13:41 2016 +0000"
      },
      "message": "Assume fp operations can also take a constant on x86.\n\nBecause irreducible loops disable the constant pool optimization\non x86, we need to handle cases where a fp operation gets one.\n\nChange-Id: I43387f31aa2589d02112953baa62fd0994d0a6d7\n"
    },
    {
      "commit": "674f519fe00ae07e0db90c4374f785bb418ae332",
      "tree": "8705413a538abcf757415ce5e24bdfc7d264109f",
      "parents": [
        "b72923dd4d6e1636163047c960395ed9879e31fc"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Feb 02 16:50:46 2016 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Feb 03 09:59:35 2016 +0000"
      },
      "message": "ART: Enable multi-level instruction inlining\n\nChange-Id: I4b4c927d7b1598dc197793c25185fb079dec7fe1\n"
    },
    {
      "commit": "e5c71f98cb74943157d22f7cf408847156eae402",
      "tree": "995beca986d038ac499e07fad59b94a362083216",
      "parents": [
        "88df4892c8b48de3019fd48c2ea2f49cf8eed098"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Tue Feb 02 20:10:32 2016 -0800"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Tue Feb 02 20:53:21 2016 -0800"
      },
      "message": "Handle HSelect in LSE.\n\nHSelect essentially creates an alias which breaks the singleton\nassumption. Need to handle the case in singleton detection.\n\nBug: 26922558\nChange-Id: I259deefe16e1e16c08179a10369cfe5ae23ae155\n"
    },
    {
      "commit": "623a7a29e48b7dfbaa0a0d4561ac6371c2f75032",
      "tree": "1cbfd07473d92eb5010d2a9c4c342f432b8d21ee",
      "parents": [
        "f7b6a3e42b81b2a7934737790c0d45c2cc7ca6bc"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Feb 02 18:14:52 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Feb 02 18:50:12 2016 +0000"
      },
      "message": "MIPS32: Fix codegen register dumps.\n\nDump raw registers instead of managed registers to be\nin line with other architectures. This fixes a checker\nfailure in 510-checker-try-catch where we have previously\nemitted a space that stopped the regexp search. However,\nthere still remains a runtime failure of the 510 test:\n  Exception in thread \"main\" java.lang.Error:\n    Method: \"testCatchPhi_double\",\n    path: ExceptionalFlow1, expected: 3, actual: 0\n\nChange-Id: Ib9ad2c60baf2e322ce1eb58b9dc39feb5ab6f148\n"
    },
    {
      "commit": "ba70200c03f0481543877b218a8626c107edfbf6",
      "tree": "e684332612c43e63b2af2799f2a28b0e9d2c95d5",
      "parents": [
        "85fdcda926fbab0e5a7b3e8b3541f5d225b2bcdb"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Feb 01 18:15:29 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Feb 02 17:18:59 2016 +0000"
      },
      "message": "Add MIPS floating point register mapping to DWARF.\n\nChange-Id: I88508461412bc166549843744a3c6a4ee925b2c7\n"
    },
    {
      "commit": "5f16c05407ed5f7f72fa761263fd5eac37de0077",
      "tree": "69983c047840a25851ad570eb838675284ccaa56",
      "parents": [
        "b86f963ce95b25bfae892fa425ab02f2fb706f87",
        "4a6a67ca93289b232a620bdf8bf30ff8b7b0b428"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Feb 02 14:36:58 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 02 14:36:58 2016 +0000"
      },
      "message": "Merge \"Remove unused DMB code paths in the ARM64 Optimizing Compiler\""
    },
    {
      "commit": "02fc24ea55aa71a352e64d6878ee3bace6050da1",
      "tree": "21716366702da084a2743a23f20349e33b97e995",
      "parents": [
        "909147a304500737824de5e1feab135560881e86"
      ],
      "author": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Wed Jan 20 16:48:19 2016 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Feb 02 11:51:42 2016 +0000"
      },
      "message": "ARM64: Add direct calls to math intrinsics\n\nThis change mirrors the work that has already been done for x86 and\nx86_64. The following functions are affected: cos, sin, acos, asin,\natan, atan2, cbrt, cosh, exp, expm1, hypot, log, log10, nextafter,\nsinh, tan, tanh.\n\nChange-Id: I0f381bd2c1c4273b243c045107110fed551c6124\nSigned-off-by: Anton Kirilov \u003canton.kirilov@linaro.org\u003e\n"
    },
    {
      "commit": "a9e5521b2ae04a64c5a90be6955fc154d4a5da4e",
      "tree": "04e857c25c1bea2cb962e9ff7a220aba53157461",
      "parents": [
        "7fac3532a836920cf4d478d97b9d67b2bf2aed39",
        "d967266cdfc8011c81ba6e9857a247c4a73bd0fc"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Feb 02 10:39:20 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 02 10:39:20 2016 +0000"
      },
      "message": "Merge \"MIPS64: Remove unaligned memory access from art generated code\""
    },
    {
      "commit": "c3cf1d2e35a45bd2e2c60fbc9c2a1a6a56dfc529",
      "tree": "f896e5dfded012d2fe29cbc81efda527e0aed1be",
      "parents": [
        "fda30a435d672988c3ec1805905b359a5e756bf3",
        "bb24bd0245aefa2f808e4656be01b990abecd80b"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Feb 01 18:32:50 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 01 18:32:50 2016 +0000"
      },
      "message": "Merge \"Implemented signum() on ARM64.\""
    },
    {
      "commit": "bb24bd0245aefa2f808e4656be01b990abecd80b",
      "tree": "53a3f19168e8e20a8fb0f21daec9d4e618126a1e",
      "parents": [
        "7f1551d28b3674799a4bb2b198bf6b16f32082af"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Jan 29 12:54:04 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Feb 01 10:30:15 2016 -0800"
      },
      "message": "Implemented signum() on ARM64.\n\nChange-Id: Ib805e62341f6c5e4fcc35c73d12e217fbae948ce\n"
    },
    {
      "commit": "03196cfae4e8a91ce37d257b315f78a965a79829",
      "tree": "b4cd8397a53e8c0a38ff6211f0ea84841a085602",
      "parents": [
        "7f1551d28b3674799a4bb2b198bf6b16f32082af"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 01 12:23:22 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 01 12:25:24 2016 +0000"
      },
      "message": "Be on the safe side: emit an environment for runtime calls.\n\nEven if those runtime calls don\u0027t throw, they may be interrupted\nand be asked to dump their stack. Since dumping a stack also dumps\nlocked Java objects, we need a DexRegisterMap at these locations\nto know the location of those objects.\n\nAdds 0.05% to boot image code size.\n\nbug:26168076\nChange-Id: I7c3975addea9ddf3123183b07108b0701bb26fc8\n"
    }
  ],
  "next": "7b56502c52271c52ef0232ccd47e96badfe5dba6"
}
