)]}'
{
  "log": [
    {
      "commit": "fc600dccd7797a9a10cdd457034ea8e148ccd631",
      "tree": "31bf5b4632c14d7706c5c9d605beec57825f2dfe",
      "parents": [
        "f25c2ec6b63e116f24f359a10b59c78768fde67a"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Dec 02 17:16:31 2014 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Dec 03 12:09:28 2014 +0000"
      },
      "message": "Fix a compiler bug related to a catch-less try-finally statement.\n\nEnsure a dead basic block produced in this case is properly\nremoved.\n\nChange-Id: I7c88e26aaa6c6378892f7c7c299494fa42312db2\n"
    },
    {
      "commit": "e0245b0a3deaeb4d0707e76ed747e3771fef11c0",
      "tree": "5c6798c68f64a8ae5c47fa181cc911d85e260095",
      "parents": [
        "98646a3d98075da05f9959b2cecea849183dbd27",
        "c7c8fe21f9688c52fdd92c1ff5deeffd620b99cf"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Dec 02 14:52:39 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 02 14:52:40 2014 +0000"
      },
      "message": "Merge \"[optimizing compiler] Fix invoke-direct\""
    },
    {
      "commit": "383993c1dc58c13f7570b9945037d6f83094785b",
      "tree": "c0c4c601964e4c37011f133ea70b3a7da7b00271",
      "parents": [
        "68af004aa1e8c82ddb503261c5e3080238e77b59",
        "43a539f780af20a1854bca81c3d4835a585f0620"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 02 12:41:26 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 02 12:41:26 2014 +0000"
      },
      "message": "Merge \"Add some heursitics for compiling, close to Quick\u0027s.\""
    },
    {
      "commit": "f537012ceb6cba8a78b36a5065beb9588451a250",
      "tree": "08851014d687b0e08accfdc2f1553a89789b4fd4",
      "parents": [
        "10a573a1f8708dbe2bcb7835341cbd8e9606af63"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 02 11:51:19 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 02 12:24:07 2014 +0000"
      },
      "message": "Treat SSA transformation special, as we may have to bailout.\n\nWe forgot to bailout when we found a non-natural loop (on which\nour optimizations don\u0027t work).\n\nChange-Id: I11976b5af4c98f4f29267a74c74d34b5ad81e20c\n"
    },
    {
      "commit": "c7c8fe21f9688c52fdd92c1ff5deeffd620b99cf",
      "tree": "fad3b8374e72a563c6ca41f7e4178a1946842b7e",
      "parents": [
        "eea79dd779ba199658ada7264f8f96d776e53f19"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Dec 02 11:42:34 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Dec 02 12:23:38 2014 +0000"
      },
      "message": "[optimizing compiler] Fix invoke-direct\n\nAlways compute invoke info via compiler driver. This ensures that the\nmethod is not called directly if its access cannot be verified.\n\nChange-Id: I04b35563a1148bc5cb16b37324419e2a977ec8db\n"
    },
    {
      "commit": "43a539f780af20a1854bca81c3d4835a585f0620",
      "tree": "241042d7f40dab9fbf24560624b6e8ddfe9c066e",
      "parents": [
        "05d5810c2b20ac83da82cef9a9677884af81147d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 02 10:19:51 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 02 10:26:17 2014 +0000"
      },
      "message": "Add some heursitics for compiling, close to Quick\u0027s.\n\nQuick has more machinery to give up/not give up, but we can\nbackport them later.\n\nChange-Id: I5eb62c664246f4ce46f0400cf24ec34a72afb51e\n"
    },
    {
      "commit": "37b55ebd45a2f4514bee3e111bd49c06751da49d",
      "tree": "21dd1ccc835b0546e8526492f34b7b53d1812b0c",
      "parents": [
        "05d5810c2b20ac83da82cef9a9677884af81147d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 01 22:09:43 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 01 22:09:43 2014 +0000"
      },
      "message": "Don\u0027t run optimizations after baseline.\n\nWe have enough coverage now. This was also motivated\nby having to call RunOptimizations instead, which does invoke\nInstructionSimplifier, required by the code generators (for, e.g.\nremoving useless HTypeConversion nodes).\n\nChange-Id: I4e616dae771b8ced60e1f418e3da834f44edb717\n"
    },
    {
      "commit": "01fcc9ee556f98d0163cc9b524e989760826926f",
      "tree": "db932611fcfb1390c761ae589a99dee5e956c271",
      "parents": [
        "dff1069220465f93dc2e3636a0acd7522a5ba639"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 01 14:16:20 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 01 14:38:56 2014 +0000"
      },
      "message": "Remove type conversion nodes converting to the same type.\n\nWhen optimizing, we ensure these conversions do not reach the\ncode generators. When not optimizing, we cannot get such situations.\n\nChange-Id: I717247c957667675dc261183019c88efa3a38452\n"
    },
    {
      "commit": "dff1069220465f93dc2e3636a0acd7522a5ba639",
      "tree": "e8ce00dd73172da12447ccc2fda1cc4cd217be52",
      "parents": [
        "89b53873b29e9e93fa6ba49c9685b84c60c76a4c",
        "02164b352a1474c616771582ca9a73a2cc514c1f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 01 12:29:09 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 01 12:29:09 2014 +0000"
      },
      "message": "Merge \"Opt Compiler: Arm64: Add support for more IRs plus various fixes.\""
    },
    {
      "commit": "89b53873b29e9e93fa6ba49c9685b84c60c76a4c",
      "tree": "f5c860c8f84d3ae77972e94eddfdefadd5d58dc1",
      "parents": [
        "672db0289de1dec9513da14153f315fecb78649e",
        "32f5b4d2c8c9b52e9522941c159577b21752d0fa"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 01 12:28:51 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 01 12:28:51 2014 +0000"
      },
      "message": "Merge \"Vixl: Update the VIXL interface to VIXL 1.7 and enable VIXL debug.\""
    },
    {
      "commit": "5976857e65d3d0e7be0c4e3183e9483c85a76bb8",
      "tree": "33dd2712eaf12ce49db7bfe2d0737122c21e4ed4",
      "parents": [
        "7933e185ebd4efab7f7e0749bfa193f08152c614"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 01 09:50:04 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 01 11:25:41 2014 +0000"
      },
      "message": "Fix insertion of parallel move when connecting siblings.\n\nAlso add a check that ensures parallel moves have been inserted\ncorrectly.\n\nThis fixes tests:\norg.apache.harmony.tests.java.util.BitSetTest#test_nextSetBitI\norg.apache.harmony.tests.java.util.BitSetTest#test_31036_set\n\nOn host/x64.\n\nChange-Id: I59d29aca393b5344bac933e2813ab409fea9d9b5"
    },
    {
      "commit": "3bcc8ea079d867f26622defd0611d134a3b4ae49",
      "tree": "a1f3f3ad3ec1284d199eee6e57889b8c1e90b619",
      "parents": [
        "eea79dd779ba199658ada7264f8f96d776e53f19"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 28 15:00:02 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 28 16:03:28 2014 +0000"
      },
      "message": "Don\u0027t use CanHoldArm in the code generator.\n\nCanHoldArm was ARM32 specific. Instead use a virtual\nAssembler::ShifterOperandCanHold that both thumb2 and arm32\nimplement.\n\nChange-Id: I33794a93caf02ee5d78d32a8471d9fd6fe4f0a00\n"
    },
    {
      "commit": "02164b352a1474c616771582ca9a73a2cc514c1f",
      "tree": "6c124ec6e19f18343b69df8cddcb74e17447f294",
      "parents": [
        "32f5b4d2c8c9b52e9522941c159577b21752d0fa"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Thu Nov 13 14:05:07 2014 +0000"
      },
      "committer": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Fri Nov 28 13:10:25 2014 +0000"
      },
      "message": "Opt Compiler: Arm64: Add support for more IRs plus various fixes.\n\nAdd support for more IRs and update others.\n\nChange-Id: Iae1bef01dc3c0d238a46fbd2800e71c38288b1d2\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\n"
    },
    {
      "commit": "32f5b4d2c8c9b52e9522941c159577b21752d0fa",
      "tree": "1b30de145c7865fd8a79f17a4cfe67b1b890878c",
      "parents": [
        "eea79dd779ba199658ada7264f8f96d776e53f19"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Tue Nov 25 20:05:46 2014 +0000"
      },
      "committer": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Fri Nov 28 12:02:58 2014 +0000"
      },
      "message": "Vixl: Update the VIXL interface to VIXL 1.7 and enable VIXL debug.\n\nThis patch updates the interface to VIXL 1.7 and enables the debug version of\nVIXL when ART is built in debug mode.\n\nChange-Id: I443fb941bec3cffefba7038f93bb972e6b7d8db5\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\n"
    },
    {
      "commit": "eea79dd779ba199658ada7264f8f96d776e53f19",
      "tree": "f7317c36141deb11bf7cdcc7afd7b230491e82d5",
      "parents": [
        "9ce56af31bef386944b7e76ab46897b3573a80d1",
        "46fbaab1bf2981f2768b046abf43e368663daacd"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 28 11:26:24 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 28 11:26:25 2014 +0000"
      },
      "message": "Merge \"Fix a bug in the linear scan register allocator.\""
    },
    {
      "commit": "9ce56af31bef386944b7e76ab46897b3573a80d1",
      "tree": "69024d8c6b23e6c60b25ee6511c67f5e5332b5a4",
      "parents": [
        "db5453bbda97e94c00af714a7ec8e59d3a4ea843",
        "acd033994aced8246c2fd8e931340dbf82d06d1a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 28 11:07:27 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 28 11:07:28 2014 +0000"
      },
      "message": "Merge \"Fix bogus assumption for live registers at safe point.\""
    },
    {
      "commit": "db5453bbda97e94c00af714a7ec8e59d3a4ea843",
      "tree": "e27a020ffa737b729292bc1dfe81623d56fea3a7",
      "parents": [
        "f2d52e4d32fbedee2a11692e1f1d986ba68ea493",
        "dbca6fae9d09160f45bf8d3512f15cdd9558975b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 28 11:06:26 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 28 11:06:26 2014 +0000"
      },
      "message": "Merge \"Fix a bug in GVN.\""
    },
    {
      "commit": "dbca6fae9d09160f45bf8d3512f15cdd9558975b",
      "tree": "4e06651a63b661610f2f12654600c9146b0d3607",
      "parents": [
        "35ecc8ca8fba713728b8fc60e9e2a275da2028aa"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 27 12:01:59 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 28 11:05:22 2014 +0000"
      },
      "message": "Fix a bug in GVN.\n\nWhen a predecessor block was killing instructions in a set, we were\nnot taking into account side effects of blocks between the dominator to\nthis predecessor.\n\nImplementation now intersects the copied set of the dominator with\nthe predecessors to take these side effects into account.\n\nChange-Id: If297439cc4e50cee91e9fffd028216a3e49e19ef\n"
    },
    {
      "commit": "6d0e483dd2e0b63e952de060738c10e2abd12ff7",
      "tree": "b396377926d2645f0df982f0b03c41149632a3de",
      "parents": [
        "7c97e855ceb9b45a1cc738fb144bd3312c4e09a8"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 27 18:31:21 2014 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 27 18:36:14 2014 +0000"
      },
      "message": "Add support for long-to-float in the optimizing compiler.\n\n- Add support for the long-to-float Dex instruction in the\n  optimizing compiler.\n- Have art::x86_64::X86_64Assembler::cvtsi2ss work with\n  64-bit operands.\n- Generate x86, x86-64 and ARM (but not ARM64) code for\n  long to float HTypeConversion nodes.\n- Add related tests to test/422-type-conversion.\n\nChange-Id: Ic983cbeb1ae2051add40bc519a8f00a6196166c9\n"
    },
    {
      "commit": "199f336af1fc8212646fda67675df0361ece33d6",
      "tree": "e8709a668b285246ab7d7f4c3f8f2553fd5f39e2",
      "parents": [
        "924632d2626b17b903bf7b851099f6d575ac534b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 27 17:15:16 2014 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 27 17:15:16 2014 +0000"
      },
      "message": "Wrap long lines in the optimizing compiler.\n\nChange-Id: I5dee0c65e6652de574ae952b1f1dfc7355859e45\n"
    },
    {
      "commit": "924632d2626b17b903bf7b851099f6d575ac534b",
      "tree": "e9f06a7a23aa6a8882aeb8c27671e78178b71c12",
      "parents": [
        "e936f68824c441d07bd3a4d5dce4b9b18794a41f",
        "271ab9c916980209fbc6b26e5545d76e58471569"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 27 15:42:08 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 27 15:42:08 2014 +0000"
      },
      "message": "Merge \"Ensure opt. compiler doesn\u0027t get core \u0026 FP registers mixed up.\""
    },
    {
      "commit": "e936f68824c441d07bd3a4d5dce4b9b18794a41f",
      "tree": "ca3e1aa7bd6df07df001fc5bb5f32219fc9ab3b3",
      "parents": [
        "6e98da8cddb9cbe47072051332770a806918149a",
        "5368c219a462defc90c4b896b34eb7506ba5c142"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 27 15:41:28 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 27 15:41:29 2014 +0000"
      },
      "message": "Merge \"Fix neg-float \u0026 neg-double for null values in opt. compiler.\""
    },
    {
      "commit": "32b2a52aa3d6dc25c18422514c7f88757f87d33c",
      "tree": "b819d171a509bde557fe1ffefc838d8573854f53",
      "parents": [
        "d7fa3a7d26105dd112acf955a0c7a880a6027180"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 27 14:54:18 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 27 15:35:24 2014 +0000"
      },
      "message": "Fix Move64 by using ParallelMoves.\n\nDestination and source might overlap in a Move64, so we have to\nuse a parallel move resolver.\n\nChange-Id: Ica6c72d91ab8e2e2ee4661b211ac1ee8f054b9ef\n"
    },
    {
      "commit": "271ab9c916980209fbc6b26e5545d76e58471569",
      "tree": "fc07a28f5fd4b7a086ae90dd94778c16efd6dae3",
      "parents": [
        "5368c219a462defc90c4b896b34eb7506ba5c142"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 27 15:23:57 2014 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 27 15:23:57 2014 +0000"
      },
      "message": "Ensure opt. compiler doesn\u0027t get core \u0026 FP registers mixed up.\n\nReplace Location::As\u003cT\u003e() with two method methods\n(Location::AsRegister\u003cT\u003e() and Location::AsFpuRegister\u003cT\u003e())\nchecking the kind of the location (register).\n\nChange-Id: I22b4abee1a124b684becd2dc1caf33652b911070\n"
    },
    {
      "commit": "5368c219a462defc90c4b896b34eb7506ba5c142",
      "tree": "6374d21b8ac88f3a0f001a7fbda4a1769572c879",
      "parents": [
        "d7fa3a7d26105dd112acf955a0c7a880a6027180"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 27 15:03:41 2014 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 27 15:03:41 2014 +0000"
      },
      "message": "Fix neg-float \u0026 neg-double for null values in opt. compiler.\n\n- Implement float and double negation as an exclusive or\n  with a bit sign mask in x86 and x86-64 code generators.\n- Enable requests of temporary FPU (double) registers during\n  register allocation.\n- Update test cases in test/415-optimizing-arith-neg.\n\nChange-Id: I9572c24b27c645ba698825e60cd5b3956b4895fa\n"
    },
    {
      "commit": "d7fa3a7d26105dd112acf955a0c7a880a6027180",
      "tree": "2230bd8ef1ab17e79b786c906f571222a76e9d67",
      "parents": [
        "a9159b2e6b11ec92a1c20a6f3cfe0072f12bd389",
        "ddb7df25af45d7cd19ed1138e537973735cc78a5"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Nov 27 13:13:34 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 27 13:13:35 2014 +0000"
      },
      "message": "Merge \"[optimizing compiler] Add CMP{L,G}_{FLOAT,DOUBLE}\""
    },
    {
      "commit": "ddb7df25af45d7cd19ed1138e537973735cc78a5",
      "tree": "c428e9482c7d9137c0965eed586969ae108b173f",
      "parents": [
        "35ecc8ca8fba713728b8fc60e9e2a275da2028aa"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Nov 25 20:56:51 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Nov 27 12:30:27 2014 +0000"
      },
      "message": "[optimizing compiler] Add CMP{L,G}_{FLOAT,DOUBLE}\n\nAdds:\n- float comparison for arm, x86, x86_64 backends.\n- ucomis{s,d} assembly to x86 and x86_64.\n- vmstat assebmly for thumb2\n- new assembly tests\n\nChange-Id: Ie3e19d0c08b3b875cd0a4be4ee4e9c8a4a076290\n"
    },
    {
      "commit": "647b9ed41cdb7cf302fd356627a3ba372419b78c",
      "tree": "f1ca054aa20ae4c489f208982e7a6cba5d5ee21e",
      "parents": [
        "35ecc8ca8fba713728b8fc60e9e2a275da2028aa"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 27 12:06:00 2014 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 27 12:06:00 2014 +0000"
      },
      "message": "Add support for long-to-double in the optimizing compiler.\n\n- Add support for the long-to-double Dex instruction in the\n  optimizing compiler.\n- Enable requests of temporary FPU (double) registers during\n  code generation.\n- Fix art::x86::X86Assembler::LoadLongConstant and extend\n  it to int64_t values.\n- Have art::x86_64::X86_64Assembler::cvtsi2sd work with\n  64-bit operands.\n- Generate x86, x86-64 and ARM (but not ARM64) code for\n  long to double HTypeConversion nodes.\n- Add related tests to test/422-type-conversion.\n\nChange-Id: Ie73d9e5e25bd2e15f585c371e8fc2dcb83438ccd\n"
    },
    {
      "commit": "46fbaab1bf2981f2768b046abf43e368663daacd",
      "tree": "36b8ea48ce8f2a1dafb121b4cf18176f174b8835",
      "parents": [
        "f2611341d2e45144edd25c90f66834687a043dcc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 26 18:30:23 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 26 19:07:14 2014 +0000"
      },
      "message": "Fix a bug in the linear scan register allocator.\n\nTriggered by:\norg.apache.harmony.tests.java.util.jar.JarFileTest#testGetJarEntry.\n\nBy miscompling:\nokhttp.CacheControl#parse.\n\nA move occuring just before the first instruction of a block\nshould not be handled by ConnectSplitSiblings, but by ConnectSiblings\ninstead.\n\nChange-Id: I8ad409734809e6787bb7321563e1331e7a6906c0\n"
    },
    {
      "commit": "91debbc3da3e3376416e4394155d9f9e355255cb",
      "tree": "fd2181a2d4b8e7e8d26101a9a87b4f0c34fa990f",
      "parents": [
        "fd861249f31ab360c12dd1ffb131d50f02b0bfc6"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Nov 26 19:01:09 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Nov 26 19:01:09 2014 +0000"
      },
      "message": "Revert \"[optimizing compiler] Add CMP{L,G}_{FLOAT,DOUBLE}\"\n\nFails on arm due to missing vmrs op after vcmp. I revert this instead of pushing the fix because I don\u0027t understand yet why it compiles with run-test but not with dex2oat.\n\nThis reverts commit fd861249f31ab360c12dd1ffb131d50f02b0bfc6.\n\nChange-Id: Idc2d30f6a0f39ddd3596aa18a532ae90f8aaf62f\n"
    },
    {
      "commit": "fd861249f31ab360c12dd1ffb131d50f02b0bfc6",
      "tree": "1765db2b26337f8e96616ebfb769c95d7b421ad2",
      "parents": [
        "fef1680241e85532919ecfaf42855d31ddb69361"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Nov 25 20:56:51 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Nov 26 16:49:23 2014 +0000"
      },
      "message": "[optimizing compiler] Add CMP{L,G}_{FLOAT,DOUBLE}\n\n- adds float comparison for arm, x86, x86_64 backends.\n- adds ucomis{s,d} assembly to x86 and x86_64.\n\nChange-Id: I232d2b6e9ecf373beb5cc63698dd97a658ff9c83\n"
    },
    {
      "commit": "acd033994aced8246c2fd8e931340dbf82d06d1a",
      "tree": "750cca769708c80b2f38f550b3df86188ec78752",
      "parents": [
        "220526b05d4365a1820a694c98527eda2d3dc980"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 26 15:46:52 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 26 15:46:52 2014 +0000"
      },
      "message": "Fix bogus assumption for live registers at safe point.\n\nWe did not take into account inactive intervals going\ninto active when computing live registers at a slow path\nsafe point. So we must ensure the safepoint interval is always\nhandled after all intervals starting at the same position have\nbeen handled.\n\nChange-Id: I05ea2161016a90b0ee3ba0b18cd54a8e46860f1e\n"
    },
    {
      "commit": "fef1680241e85532919ecfaf42855d31ddb69361",
      "tree": "fd2181a2d4b8e7e8d26101a9a87b4f0c34fa990f",
      "parents": [
        "141d92c6abcc5057a4e586bfae801011bc4fefba",
        "799f506b8d48bcceef5e6cf50f3f5eb6bcea05e1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 26 14:46:09 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 26 14:46:10 2014 +0000"
      },
      "message": "Merge \"Revert \"[optimizing compiler] Add CMP{L,G}_{FLOAT,DOUBLE}\"\""
    },
    {
      "commit": "799f506b8d48bcceef5e6cf50f3f5eb6bcea05e1",
      "tree": "078cd0518627673566727494b003fa671c027dc8",
      "parents": [
        "cea28ec4b9e94ec942899acf1dbf20f8999b36b4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 26 14:45:52 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 26 14:45:52 2014 +0000"
      },
      "message": "Revert \"[optimizing compiler] Add CMP{L,G}_{FLOAT,DOUBLE}\"\n\nFails on x86_64 and target.\n\nThis reverts commit cea28ec4b9e94ec942899acf1dbf20f8999b36b4.\n\nChange-Id: I30c1d188c7ecfe765f137a307022ede84f15482c\n"
    },
    {
      "commit": "141d92c6abcc5057a4e586bfae801011bc4fefba",
      "tree": "e0ca3be39ba519c3cf0fa39be9617b2228474a98",
      "parents": [
        "94572c51dfbc1d48785ee340e602f0f8092afecf",
        "cea28ec4b9e94ec942899acf1dbf20f8999b36b4"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Nov 26 12:04:39 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 26 12:04:40 2014 +0000"
      },
      "message": "Merge \"[optimizing compiler] Add CMP{L,G}_{FLOAT,DOUBLE}\""
    },
    {
      "commit": "cea28ec4b9e94ec942899acf1dbf20f8999b36b4",
      "tree": "893c062f6792688671519989a78065ecc7e79de9",
      "parents": [
        "f0c001465371279355eeb7633b67ffcc6f6738e5"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Nov 25 20:56:51 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Nov 26 10:59:15 2014 +0000"
      },
      "message": "[optimizing compiler] Add CMP{L,G}_{FLOAT,DOUBLE}\n\n- adds float comparison for arm, x86, x86_64 backends.\n- adds ucomis{s,d} assembly to x86 and x86_64.\n\nChange-Id: Ie91e04bfb402025073054f3803a3a569e4705caa\n"
    },
    {
      "commit": "eace45873190a27302b3644c32ec82854b59d299",
      "tree": "73fbf327839263b6847bdc4359ac1dbea2b897e3",
      "parents": [
        "8ac8d5556fae9c728bcebcc9036a1bbf40087c76"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 24 18:29:54 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 25 16:02:04 2014 -0800"
      },
      "message": "Move dexCacheStrings from ArtMethod to Class\n\nAdds one load for const strings which are not direct.\n\nSaves \u003e\u003d 60KB of memory avg per app.\nImage size: -350KB.\n\nBug: 17643507\nChange-Id: I2d1a3253d9de09682be9bc6b420a29513d592cc8\n\n(cherry picked from commit f521f423b66e952f746885dd9f6cf8ef2788955d)\n"
    },
    {
      "commit": "a3c00e54f9b711bf3fc55ce5e7d4f8765e2ea9fa",
      "tree": "ef28050647d302368a06d7cb3ed18589d5f35e89",
      "parents": [
        "8acd5cbf7a96e012d28b1773651c4a1bf84b38a3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 25 11:18:37 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 25 11:18:37 2014 +0000"
      },
      "message": "Fix tests now that dead phis are removed when building SSA.\n\nChange-Id: Ie795f5f1c7c44ec1a3ea2bac822b6255bfb8d45c\n"
    },
    {
      "commit": "8acd5cbf7a96e012d28b1773651c4a1bf84b38a3",
      "tree": "f9b80a52482b5c34eef6ec94b594c7d17faef6ce",
      "parents": [
        "1fd2ab38033473d10be8df916804e8ab741e6f5a",
        "3159674c0863f53cfbc1913d493550221ac47f02"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 25 10:33:31 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 25 10:33:32 2014 +0000"
      },
      "message": "Merge \"Fix a bug in the type analysis phase of optimizing.\""
    },
    {
      "commit": "3159674c0863f53cfbc1913d493550221ac47f02",
      "tree": "5dc34e8da8dc695cf80040ba0dbc5312060c10c1",
      "parents": [
        "4d3ed1a6f34bd31ed30faaca0433cf2a4b19bb7b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 24 15:28:45 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 25 00:55:07 2014 +0000"
      },
      "message": "Fix a bug in the type analysis phase of optimizing.\n\nDex code can lead to the creation of a phi with one\nfloat input and one integer input. Since the SSA builder trusts\nthe verifier, it assumes that the integer input must be converted\nto float. However, when the register is not used afterwards, the\nverifier hasn\u0027t ensured that. Therefore, the compiler must remove\nthe phi prior to doing type propagation.\n\nChange-Id: Idcd51c4dccce827c59d1f2b253bc1c919bc07df5\n"
    },
    {
      "commit": "af2d5307c3beaf3f0e9712f88c56c53cecdc06a7",
      "tree": "1df28ced0a76691c2265b493cf50277dbb204cfe",
      "parents": [
        "dd24fcf3e3e76ca2df7d00258e347cc2517fce48",
        "9f612ffab2b188d80027d961d7118eb2c461b5ad"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 24 23:57:17 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 24 23:57:18 2014 +0000"
      },
      "message": "Merge \"ART: Fix unused variables and functions\""
    },
    {
      "commit": "9f612ffab2b188d80027d961d7118eb2c461b5ad",
      "tree": "aa5a5c83810b13f726b16670bc4442a4f271ee55",
      "parents": [
        "c6c88d2079f0d47eb86a2e2e2f53cab25b0503c1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 24 13:42:22 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 24 13:43:11 2014 -0800"
      },
      "message": "ART: Fix unused variables and functions\n\nChange-Id: Icbab884d2dfd71656347368b424cb35cbf524051\n"
    },
    {
      "commit": "a8eed3acbc39c71ec22dc2943e71eaa07c6507dd",
      "tree": "73f00c656e118c118c0b7dd8985df06624ca4666",
      "parents": [
        "4d3ed1a6f34bd31ed30faaca0433cf2a4b19bb7b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 24 17:47:10 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 24 18:05:48 2014 +0000"
      },
      "message": "Revert \"Revert \"Fix the computation of linear ordering.\"\"\n\nPS2 fixes the obvious typos/wrong refactoring.\n\nThis reverts commit e50fa5887b1342b845826197d81950e26753fc9c.\n\nChange-Id: I22f81d63a12cf01aafd61535abc2399d936d49c2\n"
    },
    {
      "commit": "4d3ed1a6f34bd31ed30faaca0433cf2a4b19bb7b",
      "tree": "3937e18b78b0e2eaeb824686c269997589bb53e1",
      "parents": [
        "ad92b1146fa2e3f9e1dbb64c9faaedf8e82a6d23",
        "e50fa5887b1342b845826197d81950e26753fc9c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 24 17:44:27 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 24 17:44:28 2014 +0000"
      },
      "message": "Merge \"Revert \"Fix the computation of linear ordering.\"\""
    },
    {
      "commit": "e50fa5887b1342b845826197d81950e26753fc9c",
      "tree": "979ab50cee6e41f6d26d6e2db453b065f782c958",
      "parents": [
        "3054a90063d379ab8c9e5a42a7daf0d644b48b07"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 24 17:44:15 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 24 17:44:15 2014 +0000"
      },
      "message": "Revert \"Fix the computation of linear ordering.\"\n\nBuild is broken.\n\nThis reverts commit 3054a90063d379ab8c9e5a42a7daf0d644b48b07.\n\nChange-Id: I259bc2bd6a58e30391b8176f3db5fdb5c07e4d6d\n"
    },
    {
      "commit": "ad92b1146fa2e3f9e1dbb64c9faaedf8e82a6d23",
      "tree": "9ffea05b1e202c22b043224703f70d6e540464ea",
      "parents": [
        "8173e4776afac6e8da01c42ddab09b635769415f",
        "3054a90063d379ab8c9e5a42a7daf0d644b48b07"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 24 17:29:36 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 24 17:29:37 2014 +0000"
      },
      "message": "Merge \"Fix the computation of linear ordering.\""
    },
    {
      "commit": "9aec02fc5df5518c16f1e5a9b6cb198a192db973",
      "tree": "fe924b37f395af1bb50f55ee6c87c66b727f00af",
      "parents": [
        "20032e512c003a8f42735c4e1eca19c1472bb95e"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Nov 18 23:06:35 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Nov 24 16:06:55 2014 +0000"
      },
      "message": "[optimizing compiler] Add shifts\n\nAdded SHL, SHR, USHR for arm, x86, x86_64.\n\nChange-Id: I971f594e270179457e6958acf1401ff7630df07e\n"
    },
    {
      "commit": "3054a90063d379ab8c9e5a42a7daf0d644b48b07",
      "tree": "90e2138b5505f00daca6db17783a9129a6845e9b",
      "parents": [
        "23442bea869747da0361e96ec2704956de54ded7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 21 13:33:51 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 21 13:33:51 2014 +0000"
      },
      "message": "Fix the computation of linear ordering.\n\nThe register allocator makes assumptions on the order, and\nwe ended up not computing the right one. The algorithm worked\nfine when the loop header is the block branching to the exit,\nbut in the presence of breaks or do/while, it was incorrect.\n\nChange-Id: Iad0a89872cd3f7b7a8b2bdf560f0d03493f93ba5\n"
    },
    {
      "commit": "f91ffc6db742e6d429b287db2e1843393802e32f",
      "tree": "73e49e732570b81a7223c1dd06b414f710f54d96",
      "parents": [
        "82bea603aaedf649f903a239e2174f7a4612c695",
        "87d03761f35ad6cbe0bffbf1ec739875a471da6d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 19 18:13:22 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 19 18:13:23 2014 +0000"
      },
      "message": "Merge \"Fix safepoint bug when computing live registers.\""
    },
    {
      "commit": "87d03761f35ad6cbe0bffbf1ec739875a471da6d",
      "tree": "139fd83737c4f88747214a662e205cd064f1709d",
      "parents": [
        "d79ac38df2a5e56b8929501803183f70053494bf"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 19 15:17:56 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 19 18:11:05 2014 +0000"
      },
      "message": "Fix safepoint bug when computing live registers.\n\nChange-Id: I8f28dd287c0e04223c49dea6a323058c1b210913\n"
    },
    {
      "commit": "6a0ac5ccf160e158942d49168d819fb76f887fa3",
      "tree": "d65593edb2b304167b2356342c7aee4bc366af88",
      "parents": [
        "79cff5821816dd8aa0d5f0566346050493e82a61",
        "5e6916cea259897baaca019c5c7a5d05746306ed"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 19 14:41:15 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 19 14:41:16 2014 +0000"
      },
      "message": "Merge \"Use HOptimization abstraction for running optimizations.\""
    },
    {
      "commit": "5e6916cea259897baaca019c5c7a5d05746306ed",
      "tree": "0b4c73776c68e9ccbf4b49dbff5cdc9b3d7150f9",
      "parents": [
        "bf75c5cf32a47eecadcc5e4a324237c1f1d09cde"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 18 16:53:35 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 19 14:33:12 2014 +0000"
      },
      "message": "Use HOptimization abstraction for running optimizations.\n\nMove existing optimizations to it.\n\nChange-Id: I3b43f9997faf4ed8875162e3a3abdf99375478dd\n"
    },
    {
      "commit": "a500b03003c9286cc049c27fdb2e0f0750f83a30",
      "tree": "1fc8e42a0c20fdf7ccc2573cf5776b5cdbfabda4",
      "parents": [
        "17243343b0a5f56e75c1361f02ebaa340ba4334b",
        "86a8d7afc7f00ff0f5ea7b8aaf4d50514250a4e6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 19 09:08:54 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 19 09:08:54 2014 +0000"
      },
      "message": "Merge \"Consistently use k{InstructionSet}WordSize.\""
    },
    {
      "commit": "86a8d7afc7f00ff0f5ea7b8aaf4d50514250a4e6",
      "tree": "3db61320369973e463f67927a8983d7eb0d9f860",
      "parents": [
        "255a5bde2f0014dc86a564555106a4291c0867b4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 19 08:47:18 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 19 08:47:18 2014 +0000"
      },
      "message": "Consistently use k{InstructionSet}WordSize.\n\nThese constants were defined prior to k{InstructionSet}PointerSize. So\nuse them consistently in optimizing as a first step. We can discuss\nwhether we should remove them in a second step.\n\nChange-Id: If129de1a3bb8b65f8d9c816a8ad466815fb202e6\n"
    },
    {
      "commit": "4179cc148734fbda4677846369ae4a4db68677bf",
      "tree": "9cc014188747288d60e7f695bb2210861b563bbc",
      "parents": [
        "255a5bde2f0014dc86a564555106a4291c0867b4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 19 08:35:17 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 19 08:35:17 2014 +0000"
      },
      "message": "Use cross-compilation helper.\n\nThe default method uses the current pointer size. We should\nuse the pointer size given to the compiler.\n\nChange-Id: I4d6bacad6c17ac715455cabfc89cc651368d07a5\n"
    },
    {
      "commit": "4a962e5373bc0992d6e9ba6a43bb65845e7a8783",
      "tree": "21728df3c8be24b1ad132055ee8652bbb03b0f29",
      "parents": [
        "f90866a4966eda94d1b28767c62504ef97974e51"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 18 13:48:34 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 18 13:48:34 2014 -0800"
      },
      "message": "ART: Build fix\n\nChange-Id: I0c4d1c2981bdfb95e12c8c624826349281ada0cf\n"
    },
    {
      "commit": "2d7210188805292e463be4bcf7a133b654d7e0ea",
      "tree": "7705a3bf841ae44b2396728fa22ed0b5dcb44dbf",
      "parents": [
        "e0491682d101c69bf88c3c24a965312129cbfa38"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 10 11:08:06 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 18 12:27:37 2014 -0800"
      },
      "message": "Change 64 bit ArtMethod fields to be pointer sized\n\nChanged the 64 bit entrypoint and gc map fields in ArtMethod to be\npointer sized. This saves a large amount of memory on 32 bit systems.\nReduces ArtMethod size by 16 bytes on 32 bit.\n\nTotal number of ArtMethod on low memory mako: 169957\nImage size: 49203 methods -\u003e 787248 image size reduction.\nZygote space size: 1070 methods -\u003e 17120 size reduction.\nApp methods: ~120k -\u003e 2 MB savings.\n\nSavings per app on low memory mako: 125K+ per app\n(less active apps -\u003e more image methods per app).\n\nSavings depend on how often the shared methods are on dirty pages vs\nshared.\n\nTODO in another CL, delete gc map field from ArtMethod since we\nshould be able to get it from the Oat method header.\n\nBug: 17643507\n\nChange-Id: Ie9508f05907a9f693882d4d32a564460bf273ee8\n\n(cherry picked from commit e832e64a7e82d7f72aedbd7d798fb929d458ee8f)\n"
    },
    {
      "commit": "67555f7e9a05a9d436e034f67ae683bbf02d072d",
      "tree": "9a01b7c69032b08b3c55c18076f68c1e397d8a35",
      "parents": [
        "bf75c5cf32a47eecadcc5e4a324237c1f1d09cde"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@arm.com",
        "time": "Tue Nov 18 10:55:16 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 18 15:36:36 2014 +0000"
      },
      "message": "Opt compiler: Add support for more IRs on arm64.\n\nChange-Id: I4b6425135d1af74912a206411288081d2516f8bf\n"
    },
    {
      "commit": "bf75c5cf32a47eecadcc5e4a324237c1f1d09cde",
      "tree": "1d009c7d915946e81aacb7f712e9d1135560290a",
      "parents": [
        "27e49ba4b67b6006284edf4d52e7c498ddb37022",
        "21cc798cd56a069a3d51a0215020676065780939"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 18 10:15:18 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 18 10:15:18 2014 +0000"
      },
      "message": "Merge \"Fix a bug in the type propagation phase of optimizing.\""
    },
    {
      "commit": "27e49ba4b67b6006284edf4d52e7c498ddb37022",
      "tree": "f9f4103f1c7f29bb7f72769129c10e10e884793a",
      "parents": [
        "440e3e3f103163a11ebce6376ac79c755c395c2a",
        "cff137481eda0eb8dbdf9d2a303ae2bdac2c7322"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 18 09:59:13 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 18 09:59:14 2014 +0000"
      },
      "message": "Merge \"Add support for int-to-float \u0026 int-to-double in optimizing.\""
    },
    {
      "commit": "21cc798cd56a069a3d51a0215020676065780939",
      "tree": "feb43656c44a12afa53c3c11d4d947ff42644adc",
      "parents": [
        "1c18d5d0141ffa76b0838fb99615186dcbefc50e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 17 17:50:33 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 17 18:48:36 2014 +0000"
      },
      "message": "Fix a bug in the type propagation phase of optimizing.\n\nThe compiler was placing phis (and their floating point equivalent),\nin a way that it did not expect.\n\nChange-Id: I974be1ee4aae5d27d68c6bba171db0ed25377b70\n"
    },
    {
      "commit": "72c92d8b57ebca46cdb68202a8df1645d6ce0eac",
      "tree": "70adf0d246c4d339e7055fbfe0d62a245ec57358",
      "parents": [
        "410709facb361c5503c7825f01edd264f4450666",
        "e2dc6fa7aa319ee892d6ed407c986c5a3ec3dcd7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 17 18:16:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 17 18:16:20 2014 +0000"
      },
      "message": "Merge \"Don\u0027t fall back to Quick in optimizing.\""
    },
    {
      "commit": "e2dc6fa7aa319ee892d6ed407c986c5a3ec3dcd7",
      "tree": "41d82c18b61d93fa49615aa27c31fdc78b34f920",
      "parents": [
        "610b21cc7f62c61fcb7d88c1ffcc74bfa9ca5ef8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 17 12:55:12 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 17 18:10:48 2014 +0000"
      },
      "message": "Don\u0027t fall back to Quick in optimizing.\n\nThe compiler can now have a life of its own.\n\nChange-Id: I804638c574d1a37299fa8427a3fd10d627d2844e\n"
    },
    {
      "commit": "cff137481eda0eb8dbdf9d2a303ae2bdac2c7322",
      "tree": "577692649599d8c5ffd9b235d18af22c2621f7fe",
      "parents": [
        "7bfb3f8b1748b5bf7e217a1337176ad488dca66a"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Nov 17 14:32:17 2014 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Nov 17 16:40:49 2014 +0000"
      },
      "message": "Add support for int-to-float \u0026 int-to-double in optimizing.\n\n- Add support for the int-to-float and int-to-double Dex\n  instructions in the optimizing compiler.\n- Generate x86, x86-64 and ARM (but not ARM64) code for\n  byte to float, short to float, int to float, char to\n  float, byte to double, short to double, int to double and\n  char to double HTypeConversion nodes.\n- Add related tests to test/422-type-conversion.\n\nChange-Id: I963f9d0184a5d3721af2d8f593f133d5af7aa6a3\n"
    },
    {
      "commit": "1c18d5d0141ffa76b0838fb99615186dcbefc50e",
      "tree": "3789d51fabf7fa297575d6ce485a03e16faa1903",
      "parents": [
        "610b21cc7f62c61fcb7d88c1ffcc74bfa9ca5ef8",
        "bacfec30ee9f2f6fdfd190f11b105b609938efca"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Nov 17 11:55:59 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 17 11:55:59 2014 +0000"
      },
      "message": "Merge \"[optimizing compiler] Add REM_INT, REM_LONG\""
    },
    {
      "commit": "bacfec30ee9f2f6fdfd190f11b105b609938efca",
      "tree": "1fb08fa38b27627ab59a54895ef098b43bb70ce1",
      "parents": [
        "ff5298ff1640b730ee62c90ca78fc96b7ee82ec4"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Nov 14 15:54:36 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Nov 17 11:19:35 2014 +0000"
      },
      "message": "[optimizing compiler] Add REM_INT, REM_LONG\n\n- for arm, x86, x86_64\n- minor cleanup/fix in div tests\n\nChange-Id: I240874010206a5a9b3aaffbc81a885b94c248f93\n"
    },
    {
      "commit": "610b21cc7f62c61fcb7d88c1ffcc74bfa9ca5ef8",
      "tree": "85314ec6521fd5e8be6b4f75f1dab3ecc16e5a02",
      "parents": [
        "1ad824c1e2b91196fa5d6a4827322923c3046833",
        "01a8d7135c59b4a664d1e0c0e4d8db343d4118ef"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Nov 17 10:24:03 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 17 10:24:03 2014 +0000"
      },
      "message": "Merge \"Add support for int-to-short in the optimizing compiler.\""
    },
    {
      "commit": "900f6eb15db5215deeea23e4e087b553b4f696f7",
      "tree": "ee2a824d581098147b5410539b294473f3b55c82",
      "parents": [
        "6d541424eb0cb82ec3c2262d9c27d5fd97530cb8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 17 09:51:16 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 17 09:51:16 2014 +0000"
      },
      "message": "Fix lint error.\n\nChange-Id: Ia0fa12f2208507b6bec0581edf4345025b877580\n"
    },
    {
      "commit": "c1d4ec95c9dc69a7373e2eca0e69965e54d9cf03",
      "tree": "7ded15095ee62d471fe1455ec915c1d68fb202f6",
      "parents": [
        "44e6d985fddb3d921f054ff64c319c86005118e9",
        "af07bc121121d7bd7e8329c55dfe24782207b561"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 17 09:42:23 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 17 09:42:25 2014 +0000"
      },
      "message": "Merge \"Minor object store optimizations.\""
    },
    {
      "commit": "01a8d7135c59b4a664d1e0c0e4d8db343d4118ef",
      "tree": "2a7470f7320f015e67da880e3cf51fd9d616c17d",
      "parents": [
        "ff5298ff1640b730ee62c90ca78fc96b7ee82ec4"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Nov 14 16:27:39 2014 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Nov 14 16:27:39 2014 +0000"
      },
      "message": "Add support for int-to-short in the optimizing compiler.\n\n- Add support for the int-to-short Dex instruction in the\n  optimizing compiler.\n- Generate x86, x86-64 and ARM (but not ARM64) code for\n  byte to short, int to short and char to short\n  HTypeConversion nodes.\n- Add related tests to test/422-type-conversion.\n\nChange-Id: If1829549708d9c3473efaa641f7f0bcfa6080ae9\n"
    },
    {
      "commit": "af07bc121121d7bd7e8329c55dfe24782207b561",
      "tree": "51e93225aa77c3949a63104f8d48e4b6f6fb2b5b",
      "parents": [
        "d0d805bad888857fe974142cbf3292b9747daae3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 12 18:08:09 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 14 13:45:02 2014 +0000"
      },
      "message": "Minor object store optimizations.\n\n- Avoid emitting write barrier when the value is null.\n- Do not do a typecheck on an arraystore when storing something that\n  was loaded from the same array.\n\nChange-Id: I902492928692e4553b5af0fc99cce3c2186c442a\n"
    },
    {
      "commit": "981e45424f52735b1c61ae0eac7e299ed313f8db",
      "tree": "b52598c87d7e1cd030e570da2a59ee26199ae481",
      "parents": [
        "4594ad627a48e249ee1680e954558dea15f0d133"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Nov 14 11:47:14 2014 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Nov 14 11:51:41 2014 +0000"
      },
      "message": "Add support for int-to-char in the optimizing compiler.\n\n- Add support for the int-to-char Dex instruction in the\n  optimizing compiler.\n- Implement the ARM and Thumb-2 UBFX instructions and add\n  tests for them.\n- Generate x86, x86-64 and ARM (but not ARM64) code for\n  byte to char, short to char, int to char (and char to\n  char!) HTypeConversion nodes.\n- Add related tests to test/422-type-conversion.\n\nChange-Id: I5cd4c6d86f0f6a966c059715b98db35cc8f9de76\n"
    },
    {
      "commit": "d582fa4ea62083a7598dded5b82dc2198b3daac7",
      "tree": "c76704c266ef4687eab425612ddf3fd24f93fe8d",
      "parents": [
        "f20076ff813b8012096ff31af236d59db3c0f4e1"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 05 23:46:43 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Nov 13 16:17:46 2014 -0800"
      },
      "message": "Instruction set features for ARM64, MIPS and X86.\n\nAlso, refactor how feature strings are handled so they are additive or\nsubtractive.\nMake MIPS have features for FPU 32-bit and MIPS v2. Use in the quick compiler\nrather than #ifdefs that wouldn\u0027t have worked in cross-compilation.\nAdd SIMD features for x86/x86-64 proposed in:\n  https://android-review.googlesource.com/#/c/112370/\n\nBug: 18056890\n\nChange-Id: Ic88ff84a714926bd277beb74a430c5c7d5ed7666\n"
    },
    {
      "commit": "7bdabab1b6a37248bcc0e16893e43f91b4218d29",
      "tree": "5087b4d6062deba3e105d1fd49f17bc0ea73db4c",
      "parents": [
        "346bcbde27e4620ed1e7bce91728f22069a371f0",
        "51d3fc40637fc73d4156ad617cd451b844cbb75e"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 13 18:44:19 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 13 18:44:20 2014 +0000"
      },
      "message": "Merge \"Add support for int-to-byte in the optimizing compiler.\""
    },
    {
      "commit": "3fdfe7843232f09e5c9291e5116e562438e6638e",
      "tree": "f93e5a4f3e2676f1cb49ee9f8e110726f0f77e98",
      "parents": [
        "dc87c1dd1d7a7192b03e87ffd07eec80e8c2ae24",
        "225ff81cd34e20c97897a6b3f755a0a284b08f46"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Nov 13 17:32:29 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 13 17:32:30 2014 +0000"
      },
      "message": "Merge \"[optimizing compiler] Rename dex_offset to dex_pc in the builder\""
    },
    {
      "commit": "51d3fc40637fc73d4156ad617cd451b844cbb75e",
      "tree": "21669a66124a23dfc78a8c3f1d8b89415bfb0271",
      "parents": [
        "d94a0a1d2868baaab49f4d2835bca086d98cf763"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 13 14:11:42 2014 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 13 17:30:06 2014 +0000"
      },
      "message": "Add support for int-to-byte in the optimizing compiler.\n\n- Add support for the int-to-byte Dex instruction in the\n  optimizing compiler.\n- Implement the ARM and Thumb-2 SBFX instructions.\n- Generate x86, x86-64 and ARM (but not ARM64) code for\n  char to byte, short to byte and int to byte\n  HTypeConversion nodes.\n- Add related tests to test/422-type-conversion.\n\nChange-Id: Ic8b8911b90d4b5281fad15bcee96bc3ee85dc577\n"
    },
    {
      "commit": "225ff81cd34e20c97897a6b3f755a0a284b08f46",
      "tree": "1c885133a5f1f6f8102792083746c0987df671d5",
      "parents": [
        "a21f598fd4dfdb95dc8597d3156120cc20d94c02"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Nov 13 16:46:39 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Nov 13 16:46:39 2014 +0000"
      },
      "message": "[optimizing compiler] Rename dex_offset to dex_pc in the builder\n\nThe term dex offset comes from Dalvik where these were addresses in\nmemory. Currently these should be dex PCs, namely offsets from the start\nof code items. Quick lacks this clean up but there\u0027s no need to bring\nover the convention to optimizing.\n\n(thanks to irogers for the commit message text)\n\nChange-Id: If86c0cf021a06f04a21462053e9d5f31bba7f65d\n"
    },
    {
      "commit": "dc87c1dd1d7a7192b03e87ffd07eec80e8c2ae24",
      "tree": "d5c9209dfb635aeb99346d91d87f3b930fe01bee",
      "parents": [
        "172808c14506f4b46ebf0765e066306b7301760f",
        "a21f598fd4dfdb95dc8597d3156120cc20d94c02"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Nov 13 16:28:16 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 13 16:28:17 2014 +0000"
      },
      "message": "Merge \"[optimizing compiler] Fix Move for instruction with constant output\""
    },
    {
      "commit": "a21f598fd4dfdb95dc8597d3156120cc20d94c02",
      "tree": "b1f8ea8557a6c7edbeb4f05b0d642811e507a2e3",
      "parents": [
        "d6fb6cfb6f2d0d9595f55e8cc18d2753be5d9a13"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Nov 13 15:53:04 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Nov 13 16:26:04 2014 +0000"
      },
      "message": "[optimizing compiler] Fix Move for instruction with constant output\n\nChange-Id: I15d89292dc62f8dd8643530f95ace2e8be034411\n"
    },
    {
      "commit": "d94a0a1d2868baaab49f4d2835bca086d98cf763",
      "tree": "48d0701d17445c9ae09ee521c6ac1fb9f614d3b0",
      "parents": [
        "d77ae8a11e6493ac738864eae073ca4909e4d847",
        "d6fb6cfb6f2d0d9595f55e8cc18d2753be5d9a13"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Nov 13 11:16:37 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 13 11:16:37 2014 +0000"
      },
      "message": "Merge \"[optimizing compiler] Add DIV_LONG\""
    },
    {
      "commit": "d77ae8a11e6493ac738864eae073ca4909e4d847",
      "tree": "f6835a2f659cedfc47975bf82f52f05927f8b4b2",
      "parents": [
        "39edb50e16334c8a4ebbfcf0efac38b25074a2dd",
        "f97f9fbfdf7f2e23c662f21081fadee6af37809d"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Nov 13 11:16:27 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 13 11:16:28 2014 +0000"
      },
      "message": "Merge \"[optimizing compiler] add HTemporary support for long and doubles\""
    },
    {
      "commit": "a3279c80b4f92e0cc96902cf069c09424ed94ed0",
      "tree": "2d566e00a4976fe72c54663192715f919d3fa1dd",
      "parents": [
        "a1af1b59256820dde25ec21581e9e64f698e182f",
        "f0e3937b87453234d0d7970b8712082062709b8d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 13 09:58:56 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 13 09:58:57 2014 +0000"
      },
      "message": "Merge \"Do a parallel move in BoundsCheckSlowPath.\""
    },
    {
      "commit": "d6fb6cfb6f2d0d9595f55e8cc18d2753be5d9a13",
      "tree": "2f8192e49c9debeba18e73e28b9c789adf8d2eef",
      "parents": [
        "f97f9fbfdf7f2e23c662f21081fadee6af37809d"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Nov 11 19:07:44 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Nov 12 19:43:32 2014 +0000"
      },
      "message": "[optimizing compiler] Add DIV_LONG\n\n- for backends: arm, x86, x86_64\n- added cqo, idivq, testq assembly for x64_64\n- small cleanups\n\nChange-Id: I762ef37880749038ed25d6014370be9a61795200\n"
    },
    {
      "commit": "f97f9fbfdf7f2e23c662f21081fadee6af37809d",
      "tree": "aa5c7b6d42fc1dcd26f4a4f4d75fa488c575091a",
      "parents": [
        "0eaf65edf1b2af63a3eeb77ee1864d84d3154d1e"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Nov 11 15:38:19 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Nov 12 18:38:49 2014 +0000"
      },
      "message": "[optimizing compiler] add HTemporary support for long and doubles\n\nChange-Id: I5247ecd71d0193050484b7632c804c9bfd20f924\n"
    },
    {
      "commit": "f0e3937b87453234d0d7970b8712082062709b8d",
      "tree": "e552c1173ee90fea1d2ba11cc08878efe65ba0be",
      "parents": [
        "59321e0e10ea09694efecf6154704e2743b9bffd"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 12 17:50:07 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 12 17:55:24 2014 +0000"
      },
      "message": "Do a parallel move in BoundsCheckSlowPath.\n\nThe two locations of the index and length could overlap,\nso we need a parallel move. Also factorize the code for\ndoing a parallel move based on two locations.\n\nChange-Id: Iee8b3459e2eed6704d45e9a564fb2cd050741ea4\n"
    },
    {
      "commit": "9574c4b5f5ef039d694ac12c97e25ca02eca83c0",
      "tree": "2ad3cb7ffaf3579b9ca2a7bb0d7d7e99b3c758b6",
      "parents": [
        "59321e0e10ea09694efecf6154704e2743b9bffd"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 12 13:19:37 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 12 13:55:36 2014 +0000"
      },
      "message": "Implement and/or/xor in optimizing.\n\nChange-Id: I7cf6da1fd334a7177a5580931b8f174dd40b7cec\n"
    },
    {
      "commit": "b7baf5c58d0e864f8c3f889357c51288aed42e61",
      "tree": "a665b8b4935f99eab4bb81ad703fe0ec4efc1d10",
      "parents": [
        "15136cb06f0a0fd5f60a832c33870de53c74696a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 11 16:29:44 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 12 11:41:19 2014 +0000"
      },
      "message": "Implement monitorenter/monitorexit.\n\nPretty simple as they just invoke the runtime.\n\nChange-Id: I5fcb2c783deac27e55e28d8b3da3e68ea4b77363\n"
    },
    {
      "commit": "15136cb06f0a0fd5f60a832c33870de53c74696a",
      "tree": "ce01322ba56b4678f2a0320a3a5a45115511d89e",
      "parents": [
        "9ffeab50f7675ba69c98efdf3815540eafe79a0e",
        "946e143941d456a4ec666f7f54719c65c5aa3f5d"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Nov 12 11:33:41 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 12 11:33:42 2014 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Add support for long-to-int in the optimizing compiler.\"\"\""
    },
    {
      "commit": "93ca91d05bb5a08bb883f72bf8551275ace3181f",
      "tree": "7b1f2cd2aaef7da78628885d106e344915d73ae2",
      "parents": [
        "f2d99e1bd4fe21b39a8ee6ac3cdc5e23db82d023",
        "421e9f9088b51e9680a3dfcae6965fc1854d3ee4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 12 10:24:10 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 12 10:24:10 2014 +0000"
      },
      "message": "Merge \"Remove HTemporary when building the SSA graph.\""
    },
    {
      "commit": "0d8db99ac5d838f81e0d3be83a5b00d5475edf86",
      "tree": "de1bb824aaf8cb2320ded80394dd65a44355fa52",
      "parents": [
        "36750ca45fcbe4706d3a3419cf7f988a129a876c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 11 14:40:10 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 12 09:33:10 2014 +0000"
      },
      "message": "Implement invokesuper in optimizing.\n\n- Ensure dex2oat is in PIC mode, as this will drive the decisions\n  made in the compiler driver, and optimizing only suppots PIC\n  anyway.\n\n- Since invokesuper is sharpened into invoke-direct, also support\n  sharpening of invokeinterface and invokevirtual.\n\nChange-Id: I0a1bd79a13dc1c9e67e3cb11d38f0cd4459968ae\n"
    },
    {
      "commit": "57a88d4ac205874dc85d22f9f6a9ca3c4c373eeb",
      "tree": "af321a2f2d4555f56e0ffcbe31cb4e313b8d35c7",
      "parents": [
        "401da919c67ceb8fbcac81596327ecc10b73389b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 10 15:09:21 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 12 09:18:41 2014 +0000"
      },
      "message": "Implement checkcast for optimizing.\n\n- Ended up not using HTypeCheck because of how\n  instanceof and checkcast end up having different logic\n  for code generation.\n\n- Fix a x86_64 assembler bug triggered by now enabling\n  more methods to be compiled. Difficult to test today\n  without b/18117217.\n\nChange-Id: I3022e7ae03befb1d10bea9637ad21fadc430abe0\n"
    },
    {
      "commit": "421e9f9088b51e9680a3dfcae6965fc1854d3ee4",
      "tree": "4a9429babb514ff0d8f6772f44aa73c79ec7a773",
      "parents": [
        "d6425d7bb909b668341d9781c567f35f6d10ea16"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 11 18:21:53 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 11 18:24:48 2014 +0000"
      },
      "message": "Remove HTemporary when building the SSA graph.\n\n- They are useless afterwards. If we keep them around, they can\n  crash the dump of the graph, where they always assume a previous\n  instruction.\n\n- In the call to HTemporary::GetType, check that the previous\n  instruction exists.\n\nChange-Id: Ie7bf44d05cb61e3654a69725c1980925580dd3a6\n"
    },
    {
      "commit": "946e143941d456a4ec666f7f54719c65c5aa3f5d",
      "tree": "4535eb320a60043b18735a8496a288f6f8377cb7",
      "parents": [
        "d6425d7bb909b668341d9781c567f35f6d10ea16"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 11 17:35:19 2014 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 11 17:35:19 2014 +0000"
      },
      "message": "Revert \"Revert \"Add support for long-to-int in the optimizing compiler.\"\"\n\nThis reverts commit 3adfd1b4fb20ac2b0217b5d2737bfe30ad90257a.\n\nChange-Id: Iacf0c6492d49267e24f1b727dbf6379b21fd02db\n"
    },
    {
      "commit": "3adfd1b4fb20ac2b0217b5d2737bfe30ad90257a",
      "tree": "fe5ffa4519a798cf5de4dbb724f38541562d571d",
      "parents": [
        "13e86ed02c6256b704ba669cfe5f2c44f9d9f91f"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 11 14:48:08 2014 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 11 14:48:08 2014 +0000"
      },
      "message": "Revert \"Add support for long-to-int in the optimizing compiler.\"\n\nThis reverts commit 647b96f29cb81832e698f863884fdba06674c9de.\n\nChange-Id: I552f23585463c676acbd547521b4d3ee5c0342eb\n"
    },
    {
      "commit": "5ad0582482756fc6a97218472e458f31c985e922",
      "tree": "b6786d73f842ee053d7397db7ff9f84844e731ab",
      "parents": [
        "570570e0edaf8e3c4e93f2a30c13e78b7301d512"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Nov 11 14:13:15 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Nov 11 14:13:15 2014 +0000"
      },
      "message": "Fix lint error.\n\nChange-Id: Ief9b9fe6982e7e76aae74d6c909bd9f4b3f82673\n"
    },
    {
      "commit": "f42f4b0c1e5b4a4f007fa79ac8b98775f0682d38",
      "tree": "6be4891bed2f93f5baf63cad5bd25ad9ba428a2f",
      "parents": [
        "dbc30bc0e1f0dfcd09cb45ecf883dae51aaf853b",
        "647b96f29cb81832e698f863884fdba06674c9de"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 11 12:29:57 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 11 12:29:58 2014 +0000"
      },
      "message": "Merge \"Add support for long-to-int in the optimizing compiler.\""
    },
    {
      "commit": "647b96f29cb81832e698f863884fdba06674c9de",
      "tree": "1a4b5d9c2dc0cec47387838eb33b55b01838b615",
      "parents": [
        "666c732cfa211abf44ed90120a87bf8c18138e55"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 11 12:26:26 2014 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 11 12:26:26 2014 +0000"
      },
      "message": "Add support for long-to-int in the optimizing compiler.\n\n- Add support for the long-to-int Dex instruction in the\n  optimizing compiler.\n- Generate x86, x86-64 and ARM (but not ARM64) code for\n  long-to-int HTypeConversion nodes.\n- Add related tests to test/422-type-conversion.\n- Also fix comments in test/415-optimizing-arith-neg and\n  in test/416-optimizing-arith-not.\n\nChange-Id: I3084af30f2a495d178362ae1154dc7ceb7bf3a58\n"
    },
    {
      "commit": "fc19de8b201475231751b9df08fce01a093e5c2b",
      "tree": "7c0e9c923a37d059f1707156d69f4908aca308ac",
      "parents": [
        "a89086e3be94fb262c4c4feb15241b30616c3b8f"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@arm.com",
        "time": "Fri Nov 07 17:13:31 2014 +0000"
      },
      "committer": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@arm.com",
        "time": "Mon Nov 10 17:31:38 2014 +0000"
      },
      "message": "Opt compiler: Add arm64 support for a few more IRs.\n\nChange-Id: I781ddcbc61eb2b04ae80b1c7697e1ed5694bd5b9"
    },
    {
      "commit": "a89086e3be94fb262c4c4feb15241b30616c3b8f",
      "tree": "82878d8a6c5418c43ff45857b81db7c88af7d455",
      "parents": [
        "974bc2747b345667e07692109d63675ec50955a3"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@arm.com",
        "time": "Fri Nov 07 17:13:25 2014 +0000"
      },
      "committer": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@arm.com",
        "time": "Mon Nov 10 17:31:17 2014 +0000"
      },
      "message": "Opt compiler: Add arm64 support for floating-point.\n\nChange-Id: I0d97ab0f5ab770fee62c819505743febbce8835e"
    },
    {
      "commit": "666c732cfa211abf44ed90120a87bf8c18138e55",
      "tree": "be5eb89a51ce94314b5c0761171eb276faf1ec36",
      "parents": [
        "bb5b390c3b7c1d6571e73672124f82cc40026f6a"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Nov 10 13:39:43 2014 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Nov 10 13:39:43 2014 +0000"
      },
      "message": "Support Java conversions from char to long in opt. compiler.\n\nThese char to long conversions generate int-to-long Dex\ninstructions.\n\nChange-Id: I6a8e71b57870cf5e8d5bc638fabce0fc7593f0b2\n"
    }
  ],
  "next": "9806199033fc2fb61bfd2260f0156d1b38d56beb"
}
