)]}'
{
  "log": [
    {
      "commit": "d8c052ac0aa3382c4807add33afa32580ffeecbb",
      "tree": "97679692824fee4b12b03b4d71cb0763a8233e70",
      "parents": [
        "4cd515521828b1f9ce0d5e2f545cb3376a94e9f3"
      ],
      "author": {
        "name": "TatWai Chong",
        "email": "tatwai.chong@linaro.org",
        "time": "Wed Nov 02 16:12:48 2016 +0800"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jan 23 14:20:35 2017 +0000"
      },
      "message": "ART: Reference.getReferent intrinsic for arm and arm64\n\nTest: m test-art-host\nTest: m test-art-target\nTest: export ART_HEAP_POISONING\u003dtrue; m test-art-host\nTest: export ART_HEAP_POISONING\u003dtrue; m test-art-target\nBug: 32535355\nChange-Id: Ie63317689dd9e03a24e701c30411f8014970173a\n"
    },
    {
      "commit": "2e17788df086284845108c6b39954a5c74e93a69",
      "tree": "be70c7ed8a56e3deacec25274957f639d6680e65",
      "parents": [
        "26baea602e04c2bc4aed25f0d5257317f2973749",
        "3a2e78ebade9f7e0444be6f6817cbf116b34e7b1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jan 10 18:40:25 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 10 18:40:26 2017 +0000"
      },
      "message": "Merge \"Fix some issues reported by Valgrind\""
    },
    {
      "commit": "431121fb0e1fab93a550e71e1da22d3bf056bd95",
      "tree": "90b22140d9f336735530671a79392e899b59490b",
      "parents": [
        "91db41f315f6c2366b7098c531224bee01170364"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 09 14:02:45 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 09 22:10:44 2017 +0000"
      },
      "message": "The HBoundsCheck should be the index input of String.charAt.\n\nOtherwise, the charAt call may be licmed but the bounds check\nstay in the loop.\n\nbug: 33909430\nbug: 28330359\nTest: 632-checker-char-at-bounds\nChange-Id: I3cb749785c26ff8a016a7103899e9b19a24d5022\n"
    },
    {
      "commit": "3a2e78ebade9f7e0444be6f6817cbf116b34e7b1",
      "tree": "da8d025ac510215e89224fed43660749665c5e3d",
      "parents": [
        "91db41f315f6c2366b7098c531224bee01170364"
      ],
      "author": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Fri Jan 06 13:33:42 2017 +0000"
      },
      "committer": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Mon Jan 09 12:20:04 2017 +0000"
      },
      "message": "Fix some issues reported by Valgrind\n\n* Update the target suppression file.\n* Disable the detection of mismatched free() / delete / delete []\ncalls, since it results in a lot of false positives (a known\nValgrind limitation associated with asymmetric inlining of\noperator new() and operator delete()).\n* Avoid a memory leak in the code generator tests, caused by the\nfact that the VIXL-based ARM code generator does not always use\nthe arena allocator.\n* Fix an access to uninitialized memory.\n\nTest: m valgrind-test-art-target\nTest: valgrind --leak-check\u003dfull --show-mismatched-frees\u003dno \\\n               --ignore-range-below-sp\u003d1024-1 \\\n               --suppressions\u003dvalgrind-target-suppressions.txt \\\n               dalvikvm ...\nChange-Id: I891a3247aa9828226b4e62c69d6e1c8398d757b8\n"
    },
    {
      "commit": "776ba7627542027e1e02ac0e5125fc6d782c5927",
      "tree": "6ffa8a51abd13d56307425942beb44c0bc25d66c",
      "parents": [
        "6d2741f18be435c686bd774eecb7359c17ae2132",
        "4d1be4920fefe2c1f7cb40357842c6587cdcc50e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 06 16:19:51 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 06 16:19:52 2017 +0000"
      },
      "message": "Merge \"Remove the IsInDexCache flag from HLoadString.\""
    },
    {
      "commit": "4d1be4920fefe2c1f7cb40357842c6587cdcc50e",
      "tree": "5583283f076b3fbd996bbdfbf69cc3ae3938ef95",
      "parents": [
        "16722603e0f0ef286085fbe9b2cbe9ccad86bfef"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jan 06 14:43:11 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jan 06 14:45:17 2017 +0000"
      },
      "message": "Remove the IsInDexCache flag from HLoadString.\n\nThis flag was obsolete and always false.\n\nTest: m test-art-host\nChange-Id: Iabefc068908ff4f994b63e7e18a2a27c25a0919e\n"
    },
    {
      "commit": "a79003958e6844541bae7db4eafdb442f9ed31a5",
      "tree": "aeda4e76da6b7cf1285812e67b006002a269e1e0",
      "parents": [
        "a1d0d63614fad55e0169d76dcfab53cf6dbcc8e4",
        "4593f7d825c9b9c5fafdfe9009af080389d51cee"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 06 09:03:36 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 06 09:03:36 2017 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Fix crash in Exchange for stack slots.\""
    },
    {
      "commit": "f67dadb5550ee2bd9db0b7b0b75d8c44ddf170d2",
      "tree": "44f61f9bd0a674cae29c42e6dff72d4ff14189d0",
      "parents": [
        "cda4b75615f5f11c101ff846a05affda405b101b",
        "0960ac5a5a255bb3e8418e185914243aeef54a7c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 05 17:37:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 05 17:37:57 2017 +0000"
      },
      "message": "Merge \"MIPS64: Implement table-based packed switch\""
    },
    {
      "commit": "4593f7d825c9b9c5fafdfe9009af080389d51cee",
      "tree": "e93acfde4f48a18a82c535e479beb33175c87999",
      "parents": [
        "001cd47ddd81e5bdd6cc2051beced4799124315a"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Dec 29 16:21:49 2016 +0000"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Jan 05 15:20:59 2017 +0000"
      },
      "message": "ARM: VIXL32: Fix crash in Exchange for stack slots.\n\nIn ParallelMoveResolverARMVIXL::Exchange(int mem1, int mem2)\nscratch general purpose register was used without any spilling\n(like in StoreToOffset) which led to lack of scratch register\nfor VLDR with big offset. Now it uses two scratch S-registers.\n\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-host\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-target\nChange-Id: I0416a69e281d09a04dd1689efa5a8c1994c82638\n"
    },
    {
      "commit": "168768d203cbc4fb784490063fdc2d1c6b9c39f7",
      "tree": "981d3b26a81e4222e093a320b16ffece00f6a841",
      "parents": [
        "8174621224ecfc81dae10d1e3a317404c695a3ee",
        "0f001b7e83f672f77208ccfb941c870565d2b32a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 05 14:57:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 05 14:57:30 2017 +0000"
      },
      "message": "Merge \"Refine receiver type when inlining based on inline caches.\""
    },
    {
      "commit": "8174621224ecfc81dae10d1e3a317404c695a3ee",
      "tree": "fdcfa65d493183e0e807252dd3346d306c3ccee9",
      "parents": [
        "f0bfd75c19b109e6a84fb3c2a81d3933a95a2738",
        "692235eb54544277e2bde862caa6038472fab833"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 05 13:27:14 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 05 13:27:15 2017 +0000"
      },
      "message": "Merge \"MIPS32: java.lang.String.getChars\""
    },
    {
      "commit": "0f001b7e83f672f77208ccfb941c870565d2b32a",
      "tree": "48b35e3559e6fae4c80a3063559c4811a5ea7297",
      "parents": [
        "b28c8749a52f4f3252fbfe8bfb5f9d7c7f980adf"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 04 16:46:23 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 05 13:15:16 2017 +0000"
      },
      "message": "Refine receiver type when inlining based on inline caches.\n\nWe know we\u0027re guarding for a specific type\n(eg foo.getClass() \u003d\u003d Foo.class), so we can propagate the\nexact type when building the callee graph.\n\nTest: ART_TEST_JIT\u003dtrue test-art-host\nChange-Id: I3e1858945afbb651cb8966b2b7d7755eccac09e1\n"
    },
    {
      "commit": "001cd47ddd81e5bdd6cc2051beced4799124315a",
      "tree": "b956e14e8e0195fd26687c8404bc48579682cc70",
      "parents": [
        "b28c8749a52f4f3252fbfe8bfb5f9d7c7f980adf",
        "78b3d5da6a0aad363cb7caf249b930cf4b168388"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jan 04 15:22:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 04 15:22:32 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Avoid scratch register exhaustion during ARM64 stack slot moves.\"\"\""
    },
    {
      "commit": "78b3d5da6a0aad363cb7caf249b930cf4b168388",
      "tree": "19822978e471a0edeeb79aaaa477805fcb6a6d56",
      "parents": [
        "6fc063cd8a399ffd70e0f077f58f1d65a15e9136"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jan 04 10:27:50 2017 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jan 04 12:38:34 2017 +0000"
      },
      "message": "Revert \"Revert \"Avoid scratch register exhaustion during ARM64 stack slot moves.\"\"\n\nThis reverts commit 122ceb492f37e97d022cba2221a87368f1847f5f.\n\nTest: m test-art-target on ARM64, with and without read barriers/heap poisoning.\nBug: 32545705\nChange-Id: I4b447d762082eea8edfabeb070317d274e2f5bd0\n"
    },
    {
      "commit": "b28c8749a52f4f3252fbfe8bfb5f9d7c7f980adf",
      "tree": "a22f9dd659dd8b745d23c69b6d0bb063f43e6076",
      "parents": [
        "88268f08adca617c468c0c6cfbe6cdd9f1b027db",
        "8c3794ca997268c9434e4a8e8ddee2922aad2c99"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 04 12:38:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 04 12:38:30 2017 +0000"
      },
      "message": "Merge \"Support non-exact upper bound of HBoundType.\""
    },
    {
      "commit": "6fc063cd8a399ffd70e0f077f58f1d65a15e9136",
      "tree": "a85f2c149956e1ddb90bc32950f5553cc0e0456a",
      "parents": [
        "4ca40e89aa514a4424b9ee177719b3b212d174d9",
        "992bdb951a1632ab6b864e403f011c4cef40763b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 04 11:47:50 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 04 11:47:51 2017 +0000"
      },
      "message": "Merge \"MIPS64: Drop redundant sign-extensions in integer conversions\""
    },
    {
      "commit": "4ca40e89aa514a4424b9ee177719b3b212d174d9",
      "tree": "d8fb9ecf26343ec33f4ed487983500fe5099e35e",
      "parents": [
        "7ee9ee9921683fd95c409f596bf981f055bbbe6f",
        "e114da261e49083beaddb8b13328b2a16a0e537e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 04 11:31:52 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 04 11:31:53 2017 +0000"
      },
      "message": "Merge \"MIPS32: Don\u0027t always do a null test in MarkGCCard\""
    },
    {
      "commit": "7ee9ee9921683fd95c409f596bf981f055bbbe6f",
      "tree": "c0fe13bfc20cc76d6f9d45e8d852cbed68341edc",
      "parents": [
        "059802455e80a92a0fac780246968588bb0cf88b",
        "db3deee6da91fb2407e56b3684b2787a1bb59753"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 04 11:30:15 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 04 11:30:15 2017 +0000"
      },
      "message": "Merge \"MIPS64: Improve integer comparison with constants\""
    },
    {
      "commit": "e2157fb29e02561bc3197ab49e6c1d9dfe801b81",
      "tree": "13c473634beee0557095486a7079e5e86488af9d",
      "parents": [
        "0ec9ac0a5f70cbbd8964d817d7d6234a91b6990c",
        "4375819125bce2132cde663ba5024e33d7bd2681"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 04 10:04:08 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 04 10:04:09 2017 +0000"
      },
      "message": "Merge \"MIPS64: Implement branchless HCondition for floats\""
    },
    {
      "commit": "db577b6911a1e4f7c40db49c95c23df3099d790a",
      "tree": "72efe354360a86a7a19e4ab226a4cf30adffa843",
      "parents": [
        "595375fc44770bf3837e79cc49a0336bfd346377",
        "122ceb492f37e97d022cba2221a87368f1847f5f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 03 21:35:22 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 03 21:35:23 2017 +0000"
      },
      "message": "Merge \"Revert \"Avoid scratch register exhaustion during ARM64 stack slot moves.\"\""
    },
    {
      "commit": "122ceb492f37e97d022cba2221a87368f1847f5f",
      "tree": "3800e8499317efc4b5bca06e483b2bcbd9da8d9d",
      "parents": [
        "4ec76d28f0f808117272134347abf828eea80b91"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 03 21:34:59 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 03 21:34:59 2017 +0000"
      },
      "message": "Revert \"Avoid scratch register exhaustion during ARM64 stack slot moves.\"\n\nChecker test fails.\nBug: 32545705\n\nThis reverts commit 4ec76d28f0f808117272134347abf828eea80b91.\n\nChange-Id: Ief14978596341399404c504ec4ca6b68c54fd63c\n"
    },
    {
      "commit": "595375fc44770bf3837e79cc49a0336bfd346377",
      "tree": "1866e6a18f71917b243610d1e662b050ff893fbf",
      "parents": [
        "00797355fa88299db5b4ac941bbda17cd97ab39e",
        "c378980e32f0ec9ab7f1d0b87e1d5b97c1f3972c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 03 20:43:00 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 03 20:43:01 2017 +0000"
      },
      "message": "Merge \"MIPS64: Align register spills on 8-byte boundaries in slow paths\""
    },
    {
      "commit": "692235eb54544277e2bde862caa6038472fab833",
      "tree": "e33282f7de0e4aa8e76129597cc1ef2aa3fa13a3",
      "parents": [
        "00797355fa88299db5b4ac941bbda17cd97ab39e"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Mon Nov 21 16:04:53 2016 -0800"
      },
      "committer": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Tue Jan 03 12:07:45 2017 -0800"
      },
      "message": "MIPS32: java.lang.String.getChars\n\nUse memcpy(3) to copy characters under the assumption that memcpy()\nhas been hand optimized for best performance on the platform being\ntested.\n\nTest: run-test --optimizing 020-string\nTest: run-test 020-string\nTest: run-test --no-prebuild --optimizing 020-string\nTest: run-test --no-prebuild 020-string\nTest: run-test --optimizing 082-inline-execute\nTest: run-test 082-inline-execute\nTest: run-test --no-prebuild --optimizing 082-inline-execute\nTest: run-test --no-prebuild 082-inline-execute\nTest: mma -j2 ART_TEST_OPTIMIZING\u003dtrue test-art-target-run-test\nTest: booted MIPS32R2 emulator.\n\nNote: Tested against both the MIPS32R2, and MIPS64R6 emulators.\n\nChange-Id: I4192cf6244db120c8de5cc4932d4132acfc9740d\n"
    },
    {
      "commit": "4ec76d28f0f808117272134347abf828eea80b91",
      "tree": "be3b7c5125549dd772a622603e69353466f2f356",
      "parents": [
        "66e3919bc42ddca40302ce5ee32e3ade248dd2b6"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Nov 07 18:50:32 2016 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jan 03 14:07:44 2017 +0000"
      },
      "message": "Avoid scratch register exhaustion during ARM64 stack slot moves.\n\nOn ARM64, do not limit the selection of a scratch register\nused in a move between two stack slots (or between two\ndouble stack slots) to VIXL\u0027s floating-point register pool,\nas it contains only one register (D31) and can be exhausted\nin some rare cases. Instead, query both the core and the FP\nregister pools.\n\nAdd a regression run-test (626-checker-arm64-scratch-register).\n\nTest: m test-art-target (on ARM64)\nBug: 32545705\nChange-Id: I6203a4340e3c8b4f4879c07ed1be4c433c311c0f\n"
    },
    {
      "commit": "66e3919bc42ddca40302ce5ee32e3ade248dd2b6",
      "tree": "3800e8499317efc4b5bca06e483b2bcbd9da8d9d",
      "parents": [
        "6a14c622700e088173ba909799c1e1785aeb4b34",
        "e36605910cb13da1440fb9d7a8293842a9209c97"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 03 11:13:50 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 03 11:13:51 2017 +0000"
      },
      "message": "Merge \"MIPS64: java.lang.String.getChars\""
    },
    {
      "commit": "4375819125bce2132cde663ba5024e33d7bd2681",
      "tree": "3457bce20da8c048d988c16e92ad54d4d09c50d1",
      "parents": [
        "6a14c622700e088173ba909799c1e1785aeb4b34"
      ],
      "author": {
        "name": "Tijana Jakovljevic",
        "email": "tijana.jakovljevic@imgtec.com",
        "time": "Fri Dec 30 09:23:01 2016 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Fri Dec 30 09:53:12 2016 +0100"
      },
      "message": "MIPS64: Implement branchless HCondition for floats\n\nTest: mma test-art-target-run-test64 in QEMU\n\nChange-Id: I595b5b7ddf9ebb19e872ed85f2e4098a835d9214\n"
    },
    {
      "commit": "992bdb951a1632ab6b864e403f011c4cef40763b",
      "tree": "6a589b3b8b508e81832a8b1c00a2ffecf49b6d47",
      "parents": [
        "6a14c622700e088173ba909799c1e1785aeb4b34"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Wed Dec 28 16:21:48 2016 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Wed Dec 28 16:23:30 2016 +0100"
      },
      "message": "MIPS64: Drop redundant sign-extensions in integer conversions\n\nTest: mma test-art-target-run-test64 in QEMU\n\nChange-Id: I1dc7923d89528964771ddca288c5016d729cfb05\n"
    },
    {
      "commit": "db3deee6da91fb2407e56b3684b2787a1bb59753",
      "tree": "1a2faaf22b7bc253361af8adb67f305a30b3ef33",
      "parents": [
        "6a14c622700e088173ba909799c1e1785aeb4b34"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Wed Dec 28 14:33:21 2016 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Wed Dec 28 14:34:38 2016 +0100"
      },
      "message": "MIPS64: Improve integer comparison with constants\n\nTest: mma test-art-target-run-test64 in QEMU\n\nChange-Id: Ib29855a3e268e0333602f47185c520c6cfb16b59\n"
    },
    {
      "commit": "e114da261e49083beaddb8b13328b2a16a0e537e",
      "tree": "26e65dba14b521ed417cf0a693d00078267e2a76",
      "parents": [
        "6a14c622700e088173ba909799c1e1785aeb4b34"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Mon Dec 26 14:21:43 2016 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Mon Dec 26 14:23:53 2016 +0100"
      },
      "message": "MIPS32: Don\u0027t always do a null test in MarkGCCard\n\nTest: mma test-art-target-run-test on CI20\n\nChange-Id: I38fac492bb76b06b9cffc9be16944fb22ed2db70\n"
    },
    {
      "commit": "c378980e32f0ec9ab7f1d0b87e1d5b97c1f3972c",
      "tree": "11023f47469b9042091197ea3d2b5fb6e32cfb9e",
      "parents": [
        "07001c8540718117b91e8137804fa94d35cbb37a"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Thu Dec 22 13:54:23 2016 -0800"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Thu Dec 22 16:42:01 2016 -0800"
      },
      "message": "MIPS64: Align register spills on 8-byte boundaries in slow paths\n\n64-bit loads/stores would otherwise be split into pairs of\n32-bit ones.\n\nTest: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU\nTest: test-art-target-run-test-optimizing (MIPS64R6) in QEMU\n\nChange-Id: I4846d11b52b71507dfd5ca2e27b3f2a5befcc58e\n"
    },
    {
      "commit": "0960ac5a5a255bb3e8418e185914243aeef54a7c",
      "tree": "7163af0759328285dce0e3a5af13bd5b0cc042c0",
      "parents": [
        "07001c8540718117b91e8137804fa94d35cbb37a"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Tue Dec 20 17:24:59 2016 -0800"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Wed Dec 21 16:01:49 2016 -0800"
      },
      "message": "MIPS64: Implement table-based packed switch\n\nTest: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU\nTest: test-art-target-run-test-optimizing (MIPS64R6) in QEMU\nTest: test-art-host-gtest\n\nChange-Id: I333dca43fca57ae7e6021bb84585487c889417c3\n"
    },
    {
      "commit": "8c3794ca997268c9434e4a8e8ddee2922aad2c99",
      "tree": "0f10bf1c45f5a9f6b0f00181f282f19248a7817d",
      "parents": [
        "b44553224c3a9ff38c32e34c583a114a5a7f8b50"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 20 09:25:42 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 21 15:22:18 2016 +0000"
      },
      "message": "Support non-exact upper bound of HBoundType.\n\nIt used to not affect the analysis, but in order to recognize:\nif (foo.getClass() \u003d\u003d Foo.class)\n\nWe now need to differentiate between an exact and a non-exact\nupper bound. Until now the \"exact\" flag on upper bounds was\nthere for convenience:\n1) re-use of the same data structure\n2) we mostly cared about HLoadClass as upper bounds.\n\nTest: test-art-host\nTest: master build with prebuilts\nTest: apk scanner\nChange-Id: I3a1f5e4d489a715a4545becee4c8c80f7d152fc0\n"
    },
    {
      "commit": "56e2f9369988407ac8ede94dc342297bd97e75a0",
      "tree": "5e94e7758b14464732c1b65a2860984a8ec9f4ad",
      "parents": [
        "294e107e8947224ea6540af5068bce2492ee8d5b",
        "c1a42cf3873be202c8c0ca3c4e67500b470ab075"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 21 12:17:42 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 21 12:17:43 2016 +0000"
      },
      "message": "Merge \"Remove soon to be obsolete call kinds for direct calls.\""
    },
    {
      "commit": "0239c439e4e493de9b6af1f04ace326c8210cb28",
      "tree": "78b4bb48bf2f9a13b5dfc7fdc88e43e45a5e50c9",
      "parents": [
        "364fedb63fee3b08918ccd2adb44dbf35cc42724",
        "74da5290dd5cc040bee5430796715bd9302036c2"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Dec 20 20:46:20 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 20 20:46:20 2016 +0000"
      },
      "message": "Merge \"Fix transfer over rejected induction.\""
    },
    {
      "commit": "74da5290dd5cc040bee5430796715bd9302036c2",
      "tree": "b1dd4932ab1aa610509465e52dac09b06850650f",
      "parents": [
        "d54f43ca39dfa92f08c2d760123f185f0f65fb86"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Dec 20 11:13:03 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Dec 20 11:13:03 2016 -0800"
      },
      "message": "Fix transfer over rejected induction.\n\nRationale:\nWith the more precise rejection of narrowing\nlinear induction, parent rules should be\nprepared to reject failed transfers. Also\nadded a bit more comments to clarify rules.\nWith regression tests.\n\nBug: 33774618\nTest: test-art-host\nChange-Id: I4a206e51d4359ab383379914dd4697fc81903547\n"
    },
    {
      "commit": "1ffb6fc9210eabd6c272018aaae63a6ed46d89e1",
      "tree": "bc5718b5653137bc48c637c50a2b801ad1a86323",
      "parents": [
        "06ce6d4359ed897f1d1b39be4e748f0c4f3ca2ff",
        "517d9f6678c5d577f25777bc000a83afd5503874"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 20 13:52:48 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 20 13:52:48 2016 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Use 16-bit encoding for B(cond,...) where possible.\""
    },
    {
      "commit": "c1a42cf3873be202c8c0ca3c4e67500b470ab075",
      "tree": "f2bffbd14e1f9d5429dd8514d19be4fa6dfa392f",
      "parents": [
        "06ce6d4359ed897f1d1b39be4e748f0c4f3ca2ff"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Dec 18 15:52:36 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 20 13:29:45 2016 +0000"
      },
      "message": "Remove soon to be obsolete call kinds for direct calls.\n\nAnd remove CompilerDriver::GetCodeAndMethodForDirectCall in\npreparation of removing non-PIC prebuild and non-PIC on-device\nboot image compilation.\n\nTest: test-art-host test-art-target\nbug:33192586\nChange-Id: Ic48e3e8b9d7605dd0e66f31d458a182198ba9578\n"
    },
    {
      "commit": "06ce6d4359ed897f1d1b39be4e748f0c4f3ca2ff",
      "tree": "57f3da550807191fa705f2d639051f156f60c30e",
      "parents": [
        "eaaaaef76b7702af91cc599c0d020fa495990c7f",
        "f63f569eeefe3907c48a175494a2a0ba351b641a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 20 12:00:20 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 20 12:00:21 2016 +0000"
      },
      "message": "Merge \"MIPS64: Improve string and class loads.\""
    },
    {
      "commit": "eaaaaef76b7702af91cc599c0d020fa495990c7f",
      "tree": "4883c2503063f4fa79bc1e835f102a58d0476d5f",
      "parents": [
        "ee3a0bde75bfaf9cafce608d328ae3364ff89373",
        "568763405f6eb7cb78fd39272569e30fe21be85e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 20 09:06:17 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 20 09:06:18 2016 +0000"
      },
      "message": "Merge \"Sharpen HLoadClass from inliner.\""
    },
    {
      "commit": "f63f569eeefe3907c48a175494a2a0ba351b641a",
      "tree": "c2ba1621cbcd77571378b8261ec6d47c754953aa",
      "parents": [
        "2c43590dc2bb7fb4a3a015b1b65543bb8705ffe8"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Tue Dec 13 17:43:11 2016 -0800"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Mon Dec 19 14:47:16 2016 -0800"
      },
      "message": "MIPS64: Improve string and class loads.\n\nThis adds most kinds of string/class loads.\nJIT string/class loads are TBD separately.\n\nThis also fixes Mips64Assembler::LoadLabelAddress()\n(adding a constant to a 64-bit address must be done\nusing daddiu, not addiu).\n\nTest: test-art-host-gtest\nTest: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU\nTest: \"make -j1 ART_TEST_DEFAULT_COMPILER\u003dfalse ART_TEST_OPTIMIZING\u003dtrue\n       ART_TEST_INTERPRETER\u003dfalse ART_TEST_JIT\u003dfalse\n       ART_TEST_PIC_TEST\u003dtrue test-art-target-run-test64\"\n\nChange-Id: I1f94ece4cd202382c11167e1ed958e9d08d92822\n"
    },
    {
      "commit": "b0b051ad6c9fab511346882650d5d689f805a980",
      "tree": "fe02f128018f1aa55be5c0425295ae0ef670de2c",
      "parents": [
        "d54f43ca39dfa92f08c2d760123f185f0f65fb86"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Nov 17 09:04:53 2016 -0800"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Mon Dec 19 14:26:33 2016 -0800"
      },
      "message": "CHA guard optimization (elimination/hoisting).\n\nTest: manual by checking the dump-cfg output.\n\nChange-Id: I254e168b9a85d2d3d23e02eea7e129c1bc9ab920\n"
    },
    {
      "commit": "d54f43ca39dfa92f08c2d760123f185f0f65fb86",
      "tree": "a30ce596848d14c95a73449dbf2bfccf26a510b9",
      "parents": [
        "481593d87447cd69be2face67fa6af9bb993de8e",
        "e6bd0272b43bf73faabc64abc9c51ab8ed128308"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Dec 19 21:38:57 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 19 21:38:58 2016 +0000"
      },
      "message": "Merge \"Improved induction var and range analysis around types.\""
    },
    {
      "commit": "e6bd0272b43bf73faabc64abc9c51ab8ed128308",
      "tree": "d75a15baadf77a859cec6540d7cd10ce998e955a",
      "parents": [
        "2c43590dc2bb7fb4a3a015b1b65543bb8705ffe8"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Dec 16 13:57:52 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Dec 19 10:57:37 2016 -0800"
      },
      "message": "Improved induction var and range analysis around types.\n\nRationale:\nLots of code should not depend on int only. This CL generalizes\nthe kinds of types that can be optimized after analysis. As part\nof the CL, however, a minor cleanup regarding type safety of the\nstored induction var analysis results is required. This further\nimproved our int benchmark, and brings the long benchmark up-to-par.\n\nTest: m test-art-host-run-test\nChange-Id: I5dfb623dabf9113de90c2f6da99328dda8f8b60b\n"
    },
    {
      "commit": "568763405f6eb7cb78fd39272569e30fe21be85e",
      "tree": "10ecca06c9fa73a0d74b6dbdd7edb7c5c867014b",
      "parents": [
        "20b66e727a927267bc472958e86f9b4ada42c7fc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Dec 16 16:09:08 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 19 16:55:11 2016 +0000"
      },
      "message": "Sharpen HLoadClass from inliner.\n\nAlso cleanup HLoadClass constructor.\n\nTest: ART_TEST_JIT\u003dtrue m test-art-host-run-test\n\nChange-Id: I8f803b05fb8a7267d1421ca9c032e624f27efed3\n"
    },
    {
      "commit": "76873db28c738bceef766047eb8452a6a5c447fc",
      "tree": "f83290e3aa64b4917c0a4bbfc1f34216c6007839",
      "parents": [
        "5b32b91d731d6187ada4c6fc804041b7b3b6903c",
        "c5fcb44405b436e8671e0c8c96b6d6d924649d1e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 19 09:29:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 19 09:29:55 2016 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Implement some dispatch optimizations.\""
    },
    {
      "commit": "89b31a3369486c00761c5e287f286a921017a8a9",
      "tree": "294e6497a97867ac2d0b9b2f97f449b5d41c6bba",
      "parents": [
        "20b66e727a927267bc472958e86f9b4ada42c7fc",
        "a9dbe8333d4df5447157fe575a805003172af047"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Fri Dec 16 18:14:49 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 16 18:14:49 2016 +0000"
      },
      "message": "Merge \"Add HVariableInputSizeInstruction.\""
    },
    {
      "commit": "517d9f6678c5d577f25777bc000a83afd5503874",
      "tree": "3cff9450980d4e0a11468b24100331778cf16493",
      "parents": [
        "c5fcb44405b436e8671e0c8c96b6d6d924649d1e"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Mon Dec 12 15:51:15 2016 +0000"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Dec 16 14:34:35 2016 +0000"
      },
      "message": "ARM: VIXL32: Use 16-bit encoding for B(cond,...) where possible.\n\nIf conditional branch\u0027s target is known to be not far from branch\n(within the range of 254 bytes), 16-bit encoding can be used.\nHowever, we can\u0027t assume this by default for branches to a basic\nblock or a slow path; if we do and fail the range requirement,\nveneer pool will be emitted.\n\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-host\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-target\nChange-Id: I2fbe6d1a43bc2d1b54472c2c3fe05a575e5634f2\n"
    },
    {
      "commit": "c5fcb44405b436e8671e0c8c96b6d6d924649d1e",
      "tree": "8b527c4cc504be34298ee292854576b5867cdfbd",
      "parents": [
        "b73e659be3fb6474ff3a993cd25ecbfa1cc4715c"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Dec 02 19:19:58 2016 +0000"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Dec 16 14:34:28 2016 +0000"
      },
      "message": "ARM: VIXL32: Implement some dispatch optimizations.\n\nImplement dispatch optimizations for LoadClass, LoadString and\nHInvokeStaticOrDirect. Still need to implement JitTables.\n\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-host\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-target\n\nChange-Id: I6e24bc11f3915aa92eede687a864b7ea3a6ab165\n"
    },
    {
      "commit": "7e9a562e4276b0083b3656443d0adf96c5a83246",
      "tree": "a15e93cb1aab2cf4c336d31237d988032c82d8ab",
      "parents": [
        "913e6e6f36f6feb1d11e7c095dbbc9cea7ab01be",
        "644032c817615210c1e17fe27010853abd8714e5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Dec 16 13:00:02 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 16 13:00:03 2016 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Do a code cleanup.\""
    },
    {
      "commit": "4c1667fd521f6e11367fd262f9bd6474f48fb3e7",
      "tree": "2dcb1fff3b27c22d4cdfc76340aa27deb43b4f0f",
      "parents": [
        "a3dccf967a8c9e0cc84b6789213772369e4a2a2f",
        "ed015acdd0fbb1b837b3f74e8c5f624956189691"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Dec 16 08:57:36 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 16 08:57:37 2016 +0000"
      },
      "message": "Merge \"Flush JIT data cache when committing code.\""
    },
    {
      "commit": "2c43590dc2bb7fb4a3a015b1b65543bb8705ffe8",
      "tree": "b43632311dfbd253464d968a97e93e3b30d195ba",
      "parents": [
        "e9f3269b5417806987dc1b3e56e05767cad0716d",
        "ab2270f8f7ecd93c7ba353dd4e300669de3e7aee"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 15 21:50:00 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 15 21:50:00 2016 +0000"
      },
      "message": "Merge \"Fixed signal 11 bug by not testing resolved method first.\""
    },
    {
      "commit": "e9f3269b5417806987dc1b3e56e05767cad0716d",
      "tree": "a4bca84637a396922976cc64f93bcdd47281a03a",
      "parents": [
        "45d75c6194075f1c4e3372159cca533a301cabfd",
        "d0a022d76db4b79d105608e7bafab4c17e8ba510"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 15 21:33:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 15 21:33:55 2016 +0000"
      },
      "message": "Merge \"Fine tuning the induction analysis.\""
    },
    {
      "commit": "a9dbe8333d4df5447157fe575a805003172af047",
      "tree": "cfc116d6196a39eafd9eca891d13c39126d56adc",
      "parents": [
        "bdca0a27eb034152afba52f1d499d773b81908df"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Dec 15 12:02:53 2016 -0800"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Dec 15 12:02:53 2016 -0800"
      },
      "message": "Add HVariableInputSizeInstruction.\n\nMake HPhi and HInvoke subclasses of the new instruction.\n\nTest: m test-art-host-run-test\nChange-Id: I303c725876f1f4407b98702d92370be25193fc53\n"
    },
    {
      "commit": "d0a022d76db4b79d105608e7bafab4c17e8ba510",
      "tree": "28fe73f251041ea8dd2ddfbb801d780fbce6968c",
      "parents": [
        "ea63e4d1c3473d1115c1aef674056d035cf67472"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Dec 13 11:22:31 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Dec 15 11:31:12 2016 -0800"
      },
      "message": "Fine tuning the induction analysis.\n\nRationale:\nBased on some self-imposed \"blind\" testing, improved\nthe induction variable analysis for typical cases\nthat provide a bit more elaborate HIR.\n\nTest: test-art-host\nChange-Id: I6e6bbf99928c29973178fa48f3942b14bf069944\n"
    },
    {
      "commit": "ab2270f8f7ecd93c7ba353dd4e300669de3e7aee",
      "tree": "113e6b264117bc9a3217a2d1685a09bb589075f8",
      "parents": [
        "9538f9e2a5d03f1b1bc07ebfbd93b61dcf8ad604"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Dec 15 09:36:31 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Dec 15 11:03:38 2016 -0800"
      },
      "message": "Fixed signal 11 bug by not testing resolved method first.\n\nTest: test-art-host\nBug: 33656359\n\nChange-Id: Idb1afccf811a2fbf7500fc1d953e118981ad36d4\n"
    },
    {
      "commit": "ed015acdd0fbb1b837b3f74e8c5f624956189691",
      "tree": "b8ec86c504bf665cd59074fae49136dfe7c6c9f5",
      "parents": [
        "9538f9e2a5d03f1b1bc07ebfbd93b61dcf8ad604"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 15 17:58:48 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 15 18:01:52 2016 +0000"
      },
      "message": "Flush JIT data cache when committing code.\n\nOtherwise, executing compiled code may see old data from\nthe data cache.\n\nTest: ART_TEST_JIT\u003dtrue test-art-target on arm/arm64\nTest: run-libcore-tests.sh (especially jsr166) on arm/arm64\nChange-Id: Id037c68897aa0e9ccacd4c5121f3743fb722c6f3\n"
    },
    {
      "commit": "46ee31b67d7ee1bd085fbc240502053caa3cf8fa",
      "tree": "83e870f293cd60d533207e389d7b094acd87b31f",
      "parents": [
        "9538f9e2a5d03f1b1bc07ebfbd93b61dcf8ad604"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 14 10:11:49 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 15 09:50:39 2016 -0800"
      },
      "message": "ART: Move to libbase StringPrintf\n\nRemove ART\u0027s StringPrintf implementation. Fix up clients. Add\nmissing includes where necessary.\n\nTest: m test-art-host\nChange-Id: I564038d5868595ac3bb88d641af1000cea940e5a\n"
    },
    {
      "commit": "b73e659be3fb6474ff3a993cd25ecbfa1cc4715c",
      "tree": "ead4fbeb39524c94e373fd33901fb149be334538",
      "parents": [
        "3f92bdea524fb1f1c70dab07bba082b4b1ac4699",
        "0fb3719129098110a61f320cb47edf774166b602"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 14 13:43:48 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 14 13:43:50 2016 +0000"
      },
      "message": "Merge \"ARM: Fix breaking changes from recent VIXL update.\""
    },
    {
      "commit": "3f92bdea524fb1f1c70dab07bba082b4b1ac4699",
      "tree": "8277b2bea114d7241c36f94afec52200fe7d20fd",
      "parents": [
        "b70b66e70137f7a61f8d605acf04e75ad56910f2",
        "c641842008b449890d2a63ed34a240ed7c7aa75d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 14 12:00:51 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 14 12:00:52 2016 +0000"
      },
      "message": "Merge \"Implement VisitShouldDeoptimizeFlag for MIPS/MIPS64\""
    },
    {
      "commit": "b70b66e70137f7a61f8d605acf04e75ad56910f2",
      "tree": "bf07fcc00559600e4215ed74fba3477f6d03d109",
      "parents": [
        "001e1c1202e95091d50475ebb0f8cdbbb3b0d0eb",
        "19f6c696bbb7a17d8ac521b316c40f9cbef32151"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 14 11:45:32 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 14 11:45:32 2016 +0000"
      },
      "message": "Merge \"MIPS64: Improve method invocation.\""
    },
    {
      "commit": "c641842008b449890d2a63ed34a240ed7c7aa75d",
      "tree": "66c0e16eead7ea0c64029c205aea56c724bb5dc1",
      "parents": [
        "a248587487ad23eaccd6a5877d97c7735120118e"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Mon Dec 05 16:31:55 2016 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Wed Dec 14 10:22:48 2016 +0100"
      },
      "message": "Implement VisitShouldDeoptimizeFlag for MIPS/MIPS64\n\nThis is follow-up change for I18bf716a601b6413b46312e925a6ad9e4008efa4.\n\nTest: mma ART_TEST_JIT\u003dtrue test-art-target-run-test-jit on CI20 and QEMU\n\nChange-Id: I750814ae740a4549f1a2af11be7ae4318ae26a2f\n"
    },
    {
      "commit": "001e1c1202e95091d50475ebb0f8cdbbb3b0d0eb",
      "tree": "9b5fef4e5580213b96eab53ea1ad1db83b90d541",
      "parents": [
        "dfc453b2abe793ba9664a9ecfeb118e365a55de8",
        "9b1583e7d799a3bb3c0036abb8a0b9fcbfad360a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 14 09:21:59 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 14 09:22:00 2016 +0000"
      },
      "message": "Merge \"Support GVN for HLoadClass::LoadKind::kJitTableAddress.\""
    },
    {
      "commit": "9b1583e7d799a3bb3c0036abb8a0b9fcbfad360a",
      "tree": "5b3f6d7719bcbbee3f88d7f5ffd4f699f872b574",
      "parents": [
        "fb678bfaad7f432861d26bde8343d53fadd68c07"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 13 13:43:31 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 13 22:14:02 2016 +0000"
      },
      "message": "Support GVN for HLoadClass::LoadKind::kJitTableAddress.\n\nFixes performance regressions seen in eg Dhrystone.\n\nAlso add comment on why a class may not be found when sharpening.\n\nTest: manual Dhrystone run, performance recovers\nTest: ART_TEST_JIT\u003dtrue test-art-host-run-test-jit\nChange-Id: I8e879f1c390f83e8bc930f343beb7b4a41c2f190\n"
    },
    {
      "commit": "19f6c696bbb7a17d8ac521b316c40f9cbef32151",
      "tree": "6ce87f3ba9f224efc0036d3ab99e4272c48eeddb",
      "parents": [
        "aea9ffece7eb32f3884a4ad0553e1df4d90fd9e4"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Wed Nov 30 19:19:55 2016 -0800"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Tue Dec 13 14:07:16 2016 -0800"
      },
      "message": "MIPS64: Improve method invocation.\n\nImprovements include:\n- support for all kinds of method loads and static/direct calls\n- 32-bit and 64-bit literals for the above and future work\n- shorter instruction sequences for recursive static/direct calls\nAlso:\n- include the MIPS64 dinsu instruction (missed earlier) and minor\n  clean-up in the disassembler\n- properly prefix constant names with \u0027k\u0027 in relative patcher tests\n\nTest: test-art-host-gtest\nTest: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU\nTest: \"make -j1 ART_TEST_DEFAULT_COMPILER\u003dfalse ART_TEST_OPTIMIZING\u003dtrue\n       ART_TEST_INTERPRETER\u003dfalse ART_TEST_JIT\u003dfalse\n       ART_TEST_PIC_TEST\u003dtrue test-art-target-run-test64\"\n\nChange-Id: I19876fa5316b68531af7dfddfce90d2068433116\n"
    },
    {
      "commit": "9186ced255f2e7402646b5b286deebb540640734",
      "tree": "833c25fd3bbb47749265947705b4fc0f0c1ba796",
      "parents": [
        "aa2657d6d9dda2e44c6452e5f5901db78ef9b3cc"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Dec 12 14:28:21 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Dec 13 11:43:48 2016 -0800"
      },
      "message": "ART: Clean up utils.h\n\nRemove functionality provided by libbase. Move some single-use\nfunctions to their respective users.\n\nTest: m test-art-host\nChange-Id: I75594035fa975200d638cc29bb9f31bc6e6cb29f\n"
    },
    {
      "commit": "ea63e4d1c3473d1115c1aef674056d035cf67472",
      "tree": "2f42a8f88acaa15e266d3524421ac64e5b5635fb",
      "parents": [
        "831cb268e09b89e6c389ac59a99e45cd094be332",
        "0f0829ba15e4ed54472fb6ebac3a19b101d03db3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 13 15:37:09 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 13 15:37:10 2016 +0000"
      },
      "message": "Merge \"Remove obsolete DeduplicateDexCacheAddressLiteral().\""
    },
    {
      "commit": "831cb268e09b89e6c389ac59a99e45cd094be332",
      "tree": "1e113d42affbf485f4731f11a79b98959878bd7d",
      "parents": [
        "1e35a69a44bbf3999ec1829e501d7305bd9fc9d2",
        "90ab673133ce97c8aa4260b45ab943900bb9b52d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 13 13:57:39 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 13 13:57:40 2016 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Test both current and new assemblers with optimizing_cfi_test.\""
    },
    {
      "commit": "0f0829ba15e4ed54472fb6ebac3a19b101d03db3",
      "tree": "d968014b299db7fd4eaf23dde82cad3572d8147a",
      "parents": [
        "1e35a69a44bbf3999ec1829e501d7305bd9fc9d2"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 13 13:50:14 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 13 13:50:14 2016 +0000"
      },
      "message": "Remove obsolete DeduplicateDexCacheAddressLiteral().\n\nTest: Rely on TreeHugger\nBug: 30627598\nChange-Id: Ia3c7a1d528f62b730d7ac1cc7b67f21d9ff06c9e\n"
    },
    {
      "commit": "0fb3719129098110a61f320cb47edf774166b602",
      "tree": "eac6620a145f72aade58570b2a0519a161c4aa9d",
      "parents": [
        "fb678bfaad7f432861d26bde8343d53fadd68c07"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Tue Dec 06 18:13:40 2016 +0000"
      },
      "committer": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Tue Dec 13 11:22:51 2016 +0000"
      },
      "message": "ARM: Fix breaking changes from recent VIXL update.\n\nTest: m test-art-host\nTest: m test-art-target\nChange-Id: I5c0c38fcd935e97fc94721f645e51251c7a87d39\n"
    },
    {
      "commit": "22384aeab988df7fa5ccdc48a668589c5f602c39",
      "tree": "daca06adfc92c93017618c3729af54ed40214ba4",
      "parents": [
        "0ee6447c63e354131dec78743ccabcbc964129e3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 12 22:33:36 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 12 23:06:38 2016 +0000"
      },
      "message": "Revert \"Revert \"Add kJitTableAddress for HLoadClass.\"\"\n\nThis reverts commit d2d5262c8370309e1f2a009f00aafc24f1cf00a0.\n\nChange-Id: I6149d5c7d5df0b0fc5cb646a802a2eea8d01ac08\n"
    },
    {
      "commit": "4dd3f7d2e9319bc622e89cbe110620d85d14ffca",
      "tree": "eb5203121c5b8d1d6b33f39e1c8b2ff45ad26ca8",
      "parents": [
        "7d81bf2c9de138a65ea7189df18bc88f2c4fe6c5",
        "d2d5262c8370309e1f2a009f00aafc24f1cf00a0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 12 16:29:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 12 16:29:18 2016 +0000"
      },
      "message": "Merge \"Revert \"Add kJitTableAddress for HLoadClass.\"\""
    },
    {
      "commit": "d2d5262c8370309e1f2a009f00aafc24f1cf00a0",
      "tree": "15b542ac079f30043cd3654cf5d3c40ae3ea34d0",
      "parents": [
        "5b12f7973636bfea29da3956a9baa7a6bbe2b666"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 12 16:28:54 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 12 16:28:54 2016 +0000"
      },
      "message": "Revert \"Add kJitTableAddress for HLoadClass.\"\n\nOne test failure after merge.\n\nThis reverts commit 5b12f7973636bfea29da3956a9baa7a6bbe2b666.\n\nChange-Id: I120c49e53274471fc1c82a10d52e99c83f5f85cc\n"
    },
    {
      "commit": "7d81bf2c9de138a65ea7189df18bc88f2c4fe6c5",
      "tree": "4fd804520510a1701a5bf8aaa74171a583152f27",
      "parents": [
        "c836b5a8a5ea00b0cd332d5e60c9ec10ae1e74fb",
        "5b12f7973636bfea29da3956a9baa7a6bbe2b666"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 12 15:26:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 12 15:26:11 2016 +0000"
      },
      "message": "Merge \"Add kJitTableAddress for HLoadClass.\""
    },
    {
      "commit": "90ab673133ce97c8aa4260b45ab943900bb9b52d",
      "tree": "6d7751d4570c575f4d6e7e8494e4bd8f7e692315",
      "parents": [
        "c836b5a8a5ea00b0cd332d5e60c9ec10ae1e74fb"
      ],
      "author": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Thu Dec 08 10:25:03 2016 +0000"
      },
      "committer": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Mon Dec 12 14:11:21 2016 +0000"
      },
      "message": "ARM: VIXL32: Test both current and new assemblers with optimizing_cfi_test.\n\nTest: m test-art-host\n\nChange-Id: I71b97113d9bc3ad5abe5f5f89a0d94c243c8f2e2\n"
    },
    {
      "commit": "5b12f7973636bfea29da3956a9baa7a6bbe2b666",
      "tree": "a2cd41c1d3c09abc594a76af11b7bebc302a2870",
      "parents": [
        "0dd27eb2b51d030866c25dbf8e7bb737eb35a888"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Dec 09 11:26:35 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 12 11:50:24 2016 +0000"
      },
      "message": "Add kJitTableAddress for HLoadClass.\n\nThis new kind loads classes from the root table associated with\nJIT compiled code.\n\nAlso remove kDexCacheAddress, which is replaced by kJitTableAddress.\n\ntest: ART_TEST_JIT\u003dtrue test-art-host-jit test-art-target-jit\nChange-Id: Ia23029688d1a60c178bf2ffa7463927c5d5de4d0\n"
    },
    {
      "commit": "644032c817615210c1e17fe27010853abd8714e5",
      "tree": "1ef16b01ed825cb4097b9dbed1be96657b26ef1a",
      "parents": [
        "c836b5a8a5ea00b0cd332d5e60c9ec10ae1e74fb"
      ],
      "author": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Tue Dec 06 17:51:43 2016 +0000"
      },
      "committer": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Mon Dec 12 11:42:43 2016 +0000"
      },
      "message": "ARM: VIXL32: Do a code cleanup.\n\nThis commit is mostly about changing the VIXL-based code generator\nto use the new helper functions in more places.\n\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-host\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-target\nChange-Id: Ibe35f6a133d5822cc3b7a876cc54590cdaca67fb\n"
    },
    {
      "commit": "c836b5a8a5ea00b0cd332d5e60c9ec10ae1e74fb",
      "tree": "eb5203121c5b8d1d6b33f39e1c8b2ff45ad26ca8",
      "parents": [
        "726e5173059bb71dbd1b05c5de8f4a325c4a316f",
        "bffdc70d4b6dd994adf48b015e7818094f30938f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 12 10:30:24 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 12 10:30:24 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry.\"\"\""
    },
    {
      "commit": "57096b723193486ab0a6acfdfb535d90b20f6073",
      "tree": "30859dc98069781c4cff888b2e124e6fd70ee1c9",
      "parents": [
        "88e9168c5c805f0d7bdea3c4288273337dd59bdf",
        "df7822ecf033cecf48d950f3ae34f7043c8df738"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 09 21:48:43 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 09 21:48:44 2016 +0000"
      },
      "message": "Merge \"Added polynomial induction variables analysis. With tests.\""
    },
    {
      "commit": "df7822ecf033cecf48d950f3ae34f7043c8df738",
      "tree": "f392a69377e1e281bcd85d811b656c6d14280ab4",
      "parents": [
        "6746874b84a44ab8dff18457eec546a1ebb22e93"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Dec 06 10:05:30 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Dec 09 08:42:18 2016 -0800"
      },
      "message": "Added polynomial induction variables analysis. With tests.\n\nRationale:\nInformation on polynomial sequences is nice to further enhance\nBCE and last-value assignment. In this case, this CL enables more\nloop optimizations for benchpress\u0027 Sum (80 x speedup). Also\nchanged rem-based geometric induction to wrap-around induction.\n\nTest: test-art-host\n\nChange-Id: Ie4d2659edefb814edda2c971c1f70ba400c31111\n"
    },
    {
      "commit": "f3dcdd9e241a30f4f4aa15d0ef3025e179e53953",
      "tree": "13be34b120f1a0e108e7b72432c9bb98aaf928e3",
      "parents": [
        "aea9ffece7eb32f3884a4ad0553e1df4d90fd9e4",
        "edb2ac372a6e01d33c4b894361893eacbaebd8fb"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Dec 09 11:23:42 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 09 11:23:42 2016 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Implement read barriers.\""
    },
    {
      "commit": "bffdc70d4b6dd994adf48b015e7818094f30938f",
      "tree": "4028d98a8fd69c01ebefb77e9988c5e79fb706b9",
      "parents": [
        "0bdba6c3017f2b3602b1e6fe5c9b8717d800791c"
      ],
      "author": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Wed Dec 07 17:46:03 2016 +0000"
      },
      "committer": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Wed Dec 07 17:57:32 2016 +0000"
      },
      "message": "Revert \"Revert \"ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry.\"\"\n\nOverride Add in ArmVIXLMacroAssembler to improve 16-bit encodings.\n\nThis reverts commit 2f34995469e20a1ac342975856155f69995997ce.\n\nTest: m test-art-host\n\nChange-Id: Ief9f7576cd805104fd517a76b96d8a92f2208dfd\n"
    },
    {
      "commit": "b08265b2d61cd3923dd6fc01d6c82f73d5230e82",
      "tree": "cebb0dd2570ed90265dc376d89c17768700fd90d",
      "parents": [
        "b4ee681c21564ee9afe0202e1006cfa21019e88b",
        "1b8464d17c2266763714ae18be7c4dc26e28bf61"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Dec 07 17:15:08 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 07 17:15:08 2016 +0000"
      },
      "message": "Merge \"MIPS32: Pass more arguments in registers.\""
    },
    {
      "commit": "2f34995469e20a1ac342975856155f69995997ce",
      "tree": "9fa3da165e19bf28f04de7901a302e8846e2cf44",
      "parents": [
        "d494c5e37c656d92fcf83987d886e999457d9252"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 07 16:20:47 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 07 16:20:47 2016 +0000"
      },
      "message": "Revert \"ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry.\"\n\nBreaks assembler_thumb_test.\n\nThis reverts commit d494c5e37c656d92fcf83987d886e999457d9252.\n\nChange-Id: I0ccac4c7bf391185b860767bd26d48189bfae461\n"
    },
    {
      "commit": "1b8464d17c2266763714ae18be7c4dc26e28bf61",
      "tree": "19ab81b439fc216e289cb14be8a7618dbafb4f50",
      "parents": [
        "d7a7c7f3e93de9fa915e66d54dfc799efcc12ffb"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Sat Nov 12 17:22:05 2016 -0800"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Tue Dec 06 13:57:04 2016 -0800"
      },
      "message": "MIPS32: Pass more arguments in registers.\n\nSpecifically, use A0-A3,T0-T1 for non-floats and F8-F19 for floats.\n\nTest: booted MIPS32R2 in QEMU\nTest: test-art-target-run-test-optimizing (MIPS32R2) on CI20\nTest: test-art-target-gtest (MIPS32R2) on CI20\nTest: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU\nTest: test-art-target-run-test-optimizing (MIPS32R6) in QEMU\nTest: test-art-target-gtest (MIPS32R6) in QEMU\nTest: test-art-host-gtest\n\nChange-Id: Ib8b0310a109d9f3d70119c1e605e54b013e60728\n"
    },
    {
      "commit": "d494c5e37c656d92fcf83987d886e999457d9252",
      "tree": "38b5d0a6d3fda3a811fba9f7f7a997fabd3fcc1d",
      "parents": [
        "f99e0d0f28a60032d9f5e84191ab627ae7adf009"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Dec 02 18:46:40 2016 +0000"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Tue Dec 06 19:48:17 2016 +0000"
      },
      "message": "ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry.\n\nIn T32 some of the instructions (add, mov, etc) outside an IT block\nhave only 32-bit encodings. But there are 16-bit flag setting\nversions of these instructions (adds, movs, etc). In most of the\ncases in ART we don\u0027t care if the instructions keep flags or not;\nthus we can benefit from smaller code size.\nVIXL will never generate flag setting versions (for example, adds\nfor Add macro instruction) unless vixl32::DontCare option is\nexplicitly specified. That\u0027s why we introduce wrappers to use\nDontCare option by default.\n\nThis patch reduces code size of compiled code. For example,\ncore.oat has shown over 1.16% code size reduction.\n\nAlso contains a fix for GenerateFrameEntry.\n\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-host\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-target\n\nChange-Id: Id55a16f34208e7b702016ee83e2f2d0daeb42eaf\n"
    },
    {
      "commit": "edb2ac372a6e01d33c4b894361893eacbaebd8fb",
      "tree": "24c5053bed94b5f8d376ed3efd848b31ecdb7ed2",
      "parents": [
        "c6f27ac5f486247e99096c88789314bc36dab33f"
      ],
      "author": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Wed Nov 30 15:14:10 2016 +0000"
      },
      "committer": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Tue Dec 06 18:41:57 2016 +0000"
      },
      "message": "ARM: VIXL32: Implement read barriers.\n\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue {ART_USE_READ_BARRIER\u003dtrue, \\\n      ART_USE_READ_BARRIER\u003dtrue ART_HEAP_POISONING\u003dtrue, \\\n      ART_USE_READ_BARRIER\u003dtrue ART_READ_BARRIER_TYPE\u003dTABLELOOKUP, \\\n      ART_USE_READ_BARRIER\u003dtrue ART_READ_BARRIER_TYPE\u003dTABLELOOKUP \\\n      ART_HEAP_POISONING\u003dtrue, ART_HEAP_POISONING\u003dtrue} \\\n      m test-art-host\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue {ART_USE_READ_BARRIER\u003dtrue, \\\n      ART_USE_READ_BARRIER\u003dtrue ART_HEAP_POISONING\u003dtrue, \\\n      ART_USE_READ_BARRIER\u003dtrue ART_READ_BARRIER_TYPE\u003dTABLELOOKUP, \\\n      ART_USE_READ_BARRIER\u003dtrue ART_READ_BARRIER_TYPE\u003dTABLELOOKUP \\\n      ART_HEAP_POISONING\u003dtrue, ART_HEAP_POISONING\u003dtrue} \\\n      m test-art-target\nChange-Id: I2c1e4875beb09329c3b69bd5e1e8bbd3861d5866\n"
    },
    {
      "commit": "6746874b84a44ab8dff18457eec546a1ebb22e93",
      "tree": "8181bea8942339ff170518ec6cbdc5a91b11aba1",
      "parents": [
        "c6f27ac5f486247e99096c88789314bc36dab33f",
        "c071a01a26013ab6e3dbfc4131efa95a65aeb4ed"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Dec 06 17:09:57 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 06 17:09:58 2016 +0000"
      },
      "message": "Merge \"Added geometric induction variables analysis.\""
    },
    {
      "commit": "c071a01a26013ab6e3dbfc4131efa95a65aeb4ed",
      "tree": "bbe75527b8ee94483e4d797c6b2372adaabd81cf",
      "parents": [
        "5eb1e1e7341f4e7febf77c04f8649a9566b31c03"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Dec 01 10:22:31 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Dec 05 16:16:42 2016 -0800"
      },
      "message": "Added geometric induction variables analysis.\n\nRationale:\nInformation on geometric and polynomial (coming soon) sequences\nare nice to have to further enhance BCE and last-value assignment.\n\nTest: test-art-host\nChange-Id: Ib5e2998c3eb1009def6fd00b82935da7c3ba7c6e\n"
    },
    {
      "commit": "374ddf34753e5cbd122ac67ddb5551d83d0d1fb6",
      "tree": "6da27c8768a98dac697bbebf3fddf2434bd0acec",
      "parents": [
        "d4cc5b2127894475160b5d2bba9791dd21af5953"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Fri Nov 04 10:40:49 2016 +0000"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Mon Dec 05 14:28:19 2016 +0000"
      },
      "message": "ARM: VIXL32: Clean usage of scopes.\n\nUse scopes in more places where they are semantically required.\nThere are still places where we should use scopes, but do not yet.\nThose are marked with new `TODO` comments. Practically everything\nworks fine (see comments for details), but we eventually should fix\nit.\n\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-host\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-target\n\nChange-Id: I5bdc710d32f0b9476eee92b31f2ff9d874e26f63\n"
    },
    {
      "commit": "d4cc5b2127894475160b5d2bba9791dd21af5953",
      "tree": "04120b6077cacb5d16cb40161dfddd6170d8a64e",
      "parents": [
        "3acf36142594f0afb60e2eef82fdfab1b17b2463"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Nov 04 11:19:09 2016 +0000"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Mon Dec 05 13:01:29 2016 +0000"
      },
      "message": "ARM: VIXL32: Implement Invoke, LoadClass, LoadString dispatch.\n\nImplemented dispatch optimizations for InvokeStaticOrDirect,\nLoadClass, LoadString (excluding cases that use Literals).\nPerformed a cleanup of VIXL backend.\n\nTest: export ART_USE_VIXL_ARM_BACKEND\u003dtrue \u0026\u0026 \\\n      mma test-art-host dist \u0026\u0026 mma test-art-target dist\n\nChange-Id: Ib37a6b7e7657196b13caec999d190be747857c1d\n"
    },
    {
      "commit": "e36605910cb13da1440fb9d7a8293842a9209c97",
      "tree": "6bb2097042a3ee4f0e0b64c4e22575823ca82c11",
      "parents": [
        "b487af4fc80ffabe0219657a9690be1316dab8e7"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Wed Nov 09 11:13:42 2016 -0800"
      },
      "committer": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Fri Dec 02 16:22:56 2016 -0800"
      },
      "message": "MIPS64: java.lang.String.getChars\n\nTest: run-test --64 --optimizing 020-string\nTest: run-test --64 020-string\nTest: run-test --64 --no-prebuild --optimizing 020-string\nTest: run-test --64 --no-prebuild 020-string\nTest: run-test --64 --optimizing 082-inline-execute\nTest: run-test --64 082-inline-execute\nTest: run-test --64 --no-prebuild --optimizing 082-inline-execute\nTest: run-test --64 --no-prebuild 082-inline-execute\nTest: mma -j2 ART_TEST_OPTIMIZING\u003dtrue test-art-target-run-test\nTest: mma test-art-target-gtest -j2\nTest: booted MIPS64R6 emulator.\n\nNote: All tests run against MIPS64 QEMU.\n\nChange-Id: I48b9a87465f2516044a2e4f598cc5dce56b0d1c9\n"
    },
    {
      "commit": "5d0c3009fc56afdb4aeae5ee6dd98c3d1d2e7711",
      "tree": "23dfec1a50eabc7e67f24520f81c8a6813454036",
      "parents": [
        "9d7ae2eaa232d41b3aba22009c9ad263ee1d0480",
        "8a4252e44c7fabca4952b4c8eb9c16912fb7afa6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 02 16:32:43 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 02 16:32:43 2016 +0000"
      },
      "message": "Merge \"ART: Fix typo in IsCallerSave\""
    },
    {
      "commit": "8a4252e44c7fabca4952b4c8eb9c16912fb7afa6",
      "tree": "de40cb96211ed50d41e58c0fb23709cd0927432a",
      "parents": [
        "54b20eb52f7d8688032fb3bd6112e8db9772c4a7"
      ],
      "author": {
        "name": "Matthew Gharrity",
        "email": "gharrma@google.com",
        "time": "Mon Aug 15 07:56:41 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Dec 02 16:32:22 2016 +0000"
      },
      "message": "ART: Fix typo in IsCallerSave\n\nCorrectly refer to floating point registers, if necessary. This\nensures that we correctly start allocating caller-save FPRs.\n\nBug: 31275200\nTest: ART_TEST_OPTIMIZING_GRAPH_COLOR\u003dtrue m test-art-host\nChange-Id: I420b66f0a000636e8370c739003de3cf53af3e30\n"
    },
    {
      "commit": "d0f081ecbdf0e932b98c54e5f51ba3614c7a69e0",
      "tree": "82955f9141078b25576f342d7f3cacd0a984c68e",
      "parents": [
        "edcd7929e2bf521316fa5305109c330d563d87db"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 01 19:32:26 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 01 20:05:07 2016 -0800"
      },
      "message": "ART: Delete unnecessary ScopedObjectAccess\n\nThis isn\u0027t protecting or serializing anything. Reduces\ndex2oatd compile time.\n\nTest: m test-art-host\nChange-Id: I8e6d1579578740b526070ba784b81bd0590e84b1\n"
    },
    {
      "commit": "141c6f68d47e9312e3c27aa6dcd3ae510e7e19c7",
      "tree": "727e5e4976b8ad53a536c3ca32b04f97359d8e90",
      "parents": [
        "e20fe27a2846d13a1893ee8e1cbc9d950148c27d",
        "063fc772b5b8aed7d769cd7cccb6ddc7619326ee"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Dec 01 23:28:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 01 23:28:54 2016 +0000"
      },
      "message": "Merge \"Class Hierarchy Analysis (CHA)\""
    },
    {
      "commit": "5eb1e1e7341f4e7febf77c04f8649a9566b31c03",
      "tree": "59a875dd1c53af0d405a10daff312b6e4053b082",
      "parents": [
        "48d08a4233ee4450b0d5073d41445f9dd1f17191",
        "be44dcf6b2338782c276483c6c79a4ab17ca98a9"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Dec 01 19:59:50 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 01 19:59:51 2016 +0000"
      },
      "message": "Merge \"Add LoadString kind of kJitTableAddress for dump-cfg.\""
    },
    {
      "commit": "063fc772b5b8aed7d769cd7cccb6ddc7619326ee",
      "tree": "bc165781989087a998721991504e589a7d5b0926",
      "parents": [
        "48d08a4233ee4450b0d5073d41445f9dd1f17191"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Tue Aug 02 11:02:54 2016 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Dec 01 11:15:47 2016 -0800"
      },
      "message": "Class Hierarchy Analysis (CHA)\n\nThe class linker now tracks whether a method has a single implementation\nand if so, the JIT compiler will try to devirtualize a virtual call for\nthe method into a direct call. If the single-implementation assumption\nis violated due to additional class linking, compiled code that makes the\nassumption is invalidated. Deoptimization is triggered for compiled code\nlive on stack. Instead of patching return pc\u0027s on stack, a CHA guard is\nadded which checks a hidden should_deoptimize flag for deoptimization.\nThis approach limits the number of deoptimization points.\n\nThis CL does not devirtualize abstract/interface method invocation.\n\nSlides on CHA:\nhttps://docs.google.com/a/google.com/presentation/d/1Ax6cabP1vM44aLOaJU3B26n5fTE9w5YU-1CRevIDsBc/edit?usp\u003dsharing\n\nChange-Id: I18bf716a601b6413b46312e925a6ad9e4008efa4\nTest: ART_TEST_JIT\u003dtrue m test-art-host/target-run-test test-art-host-gtest\n"
    },
    {
      "commit": "982e0bf9ed2b00ef85b328de674e28342eb0b2dd",
      "tree": "168a1d48469c072794ef2adf441d80a85cf827a7",
      "parents": [
        "85b38bd1fdf4a3aaf073e0aa1f901271b7bab338",
        "657022c0881720fea6871a7b26b49ba4ae74bbd9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 01 09:12:31 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 01 09:12:32 2016 +0000"
      },
      "message": "Merge \"ARM: VIXL32: A couple of fixes to have more tests passing.\""
    },
    {
      "commit": "679ba8d5d53b5577f571b51af17e263abd05e760",
      "tree": "0c13819fc3eccfba307d5a642e1260685d5626bf",
      "parents": [
        "0fd9a7d67878d1d88a74895c0d02c556b5de8e72",
        "71bf7b43380eb445973f32a7f789d9670f8cc97d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 01 00:45:27 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 01 00:45:28 2016 +0000"
      },
      "message": "Merge \"Optimizations around escape analysis. With tests.\""
    },
    {
      "commit": "be44dcf6b2338782c276483c6c79a4ab17ca98a9",
      "tree": "21f97e74dafb37f9a0382e30a6b0fea18f570ddb",
      "parents": [
        "07ab8831ff6025f91f927cc9e60c04801583666c"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Nov 30 14:17:32 2016 -0800"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Nov 30 14:29:58 2016 -0800"
      },
      "message": "Add LoadString kind of kJitTableAddress for dump-cfg.\n\nTest: manual\n\nChange-Id: Ifcae7b26f666930766635d8b3ed7a495494cddf7\n"
    }
  ],
  "next": "71bf7b43380eb445973f32a7f789d9670f8cc97d"
}
