)]}'
{
  "log": [
    {
      "commit": "0d3998b5ff619364acf47bec0b541e7a49bd6fe7",
      "tree": "a4763c0660372f6311b612c09267cbbc2fe71e89",
      "parents": [
        "aa89a4c6fca095904521842c018399f1e3501a45"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 12 15:35:12 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 12 16:51:12 2017 +0000"
      },
      "message": "Revert \"Revert \"Make object allocation entrypoints only take a class.\"\"\n\nThis reverts commit f7aaacd97881c6924b8212c7f8fe4a4c8721ef53.\n\nChange-Id: I6756cd1e6110bb45231f62f5e388f16c044cb145\n"
    },
    {
      "commit": "b66846515656398af7af798172bcd8acd1d4ffa6",
      "tree": "c43958914f8679f264796c91717b8cb277d91d80",
      "parents": [
        "1b8de86a54b04a56df97212ca584ff7188d32065"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Wed Jan 11 13:42:38 2017 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Thu Jan 12 11:26:04 2017 +0100"
      },
      "message": "MIPS32: Change java.lang.Math.abs(float/double) intrinsics\n\nabs.s and abs.d instructions can\u0027t be used when NAN2008\u003d0 (R2 and\nbefore). In these cases, abs(NaN) might change other bits (not just\nsign bit).\n\nThis fixes test failure 631-checker-fp-abs for MIPS32.\n\nBug: 30758343\nTest: mma test-art-target-run-test on CI20\n\nChange-Id: I352efd66f2f72740406462c9ccc3bc4b1b5aea20\n"
    },
    {
      "commit": "c8144cdad955b77988a48777cfbdc6fd2e8c1916",
      "tree": "354e00610ec25279a8c4b77e8b685e380815813f",
      "parents": [
        "d1a277954284c4dd4b5b14fd4e58f1854daed848",
        "f7aaacd97881c6924b8212c7f8fe4a4c8721ef53"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 12 06:19:22 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 12 06:19:23 2017 +0000"
      },
      "message": "Merge \"Revert \"Make object allocation entrypoints only take a class.\"\""
    },
    {
      "commit": "f7aaacd97881c6924b8212c7f8fe4a4c8721ef53",
      "tree": "780209ac8e992fa63307062977f672aa5bb55d9e",
      "parents": [
        "2b615ba29c4dfcf54aaf44955f2eac60f5080b2e"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Jan 12 02:58:38 2017 +0000"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Jan 12 02:58:38 2017 +0000"
      },
      "message": "Revert \"Make object allocation entrypoints only take a class.\"\n\n960-default-smali64 is failing.\n\nThis reverts commit 2b615ba29c4dfcf54aaf44955f2eac60f5080b2e.\n\nChange-Id: Iebb8ee5a917fa84c5f01660ce432798524d078ef\n"
    },
    {
      "commit": "dcf52765ab5886abdd85a4436fa0358b2a31341d",
      "tree": "b68ee975792a5bf488ed93cfbe09a37f80008288",
      "parents": [
        "a28ddf5140cd1f4a2ae93dbf8be2f200b1552003",
        "0fb5af1c8287b1ec85c55c306a1c43820c38a337"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jan 11 19:18:51 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 11 19:18:51 2017 +0000"
      },
      "message": "Merge \"Revert \"ART: Compiler support for invoke-polymorphic.\"\""
    },
    {
      "commit": "0fb5af1c8287b1ec85c55c306a1c43820c38a337",
      "tree": "66239e7f745fae54e1630e91fb44a859bff615d6",
      "parents": [
        "02e3092f8d98f339588e48691db77f227b48ac1e"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jan 11 18:58:15 2017 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jan 11 19:17:33 2017 +0000"
      },
      "message": "Revert \"ART: Compiler support for invoke-polymorphic.\"\n\nThis reverts commit 02e3092f8d98f339588e48691db77f227b48ac1e.\n\nReasons for revert:\n\n- Breaks MIPS/MIPS64 build.\n- Fails under GCStress test on x64.\n- Different x64 build configuration doesn\u0027t like relocation.\n\nChange-Id: I512555b38165d05f8a07e8aed528f00302061001\n"
    },
    {
      "commit": "79f9928fc9e0a88430f3329069bfb2f9a0d37f0c",
      "tree": "e3142e4829c808c3df1059f3b05c0b3a37193ce9",
      "parents": [
        "716eb25353390f699778a79d69006a5b8d8289c2",
        "02e3092f8d98f339588e48691db77f227b48ac1e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 11 18:08:03 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 11 18:08:04 2017 +0000"
      },
      "message": "Merge \"ART: Compiler support for invoke-polymorphic.\""
    },
    {
      "commit": "02e3092f8d98f339588e48691db77f227b48ac1e",
      "tree": "127dd23346206b0547b7c6453a776253252b3c6e",
      "parents": [
        "bc7d0deda4549f314e68ee3e0e6afd68c4a8fd06"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Dec 01 10:33:51 2016 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jan 11 16:26:43 2017 +0000"
      },
      "message": "ART: Compiler support for invoke-polymorphic.\n\nAdds basic support to invoke method handles in compiled code.\n\nEnables method verification for methods containing invoke-polymorphic.\n\nAdds k45cc/k45rc output to Instruction::DumpString() which\nwas found to be missing when enabling verification.\n\nInclude stack traces in test 957-methodhandle-transforms for\nfailures so they can be easily identified.\n\nBug: 30550796,33191393\nTest: art/test/run-test 953\nTest: m test-art-run-test\nChange-Id: Ic9a96ea24906087597d96ad8159a5bc349d06950\n"
    },
    {
      "commit": "db47a144d816e0976c5b4c00461b80b07ce97c60",
      "tree": "628ffda55e75f18889161b684ac2b4e578d562b7",
      "parents": [
        "f62455a422baf040d901db964bdd3c6e18185c13",
        "f0acfe7a812a332122011832074142718c278dae"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 11 14:05:08 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 11 14:05:09 2017 +0000"
      },
      "message": "Merge \"Keep resolved String in HLoadString.\""
    },
    {
      "commit": "2b615ba29c4dfcf54aaf44955f2eac60f5080b2e",
      "tree": "0a2fe5f9243645a054d4aa094bff5a69cc1abb88",
      "parents": [
        "c9a060f2688599d4a402ee6234db46c2e9b7463f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 06 14:40:07 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 11 10:34:10 2017 +0000"
      },
      "message": "Make object allocation entrypoints only take a class.\n\nChange motivated by:\n- Dex cache compression: having the allocation fast path do a\n  dex cache lookup will be too expensive. So instead, rely on the\n  compiler having direct access to the class (either through BSS for\n  AOT, or JIT tables for JIT).\n- Inlining: the entrypoints relied on the caller of the allocation to\n  have the same dex cache as the outer method (stored at the bottom of\n  the stack). This meant we could not inline methods from a different\n  dex file that do allocations. By avoiding the dex cache lookup in\n  the entrypoint, we can now remove this restriction.\n\nCode expansion on average for Docs/Gms/FB/Framework (go/lem numbers):\n- Around 0.8% on arm64\n- Around 1% for x64, arm\n- Around 1.5% on x86\n\nTest: test-art-host, test-art-target, ART_USE_READ_BARRIER\u003dtrue/false\nTest: test-art-host, test-art-target,  ART_DEFAULT_GC_TYPE\u003dSS ART_USE_TLAB\u003dtrue\n\nChange-Id: I41f3748bb4d251996aaf6a90fae4c50176f9295f\n"
    },
    {
      "commit": "5e83eb74e8333d254bc2d72a84643249bad67b68",
      "tree": "693d00c8d8daf3f56ce0824ae88863336e1c6f58",
      "parents": [
        "4cd515521828b1f9ce0d5e2f545cb3376a94e9f3",
        "c52b26d4fb5b1ca91f34ce4b535b764853e538f6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 11 09:08:09 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 11 09:08:10 2017 +0000"
      },
      "message": "Merge \"Recognize getClass() in RTP.\""
    },
    {
      "commit": "f0acfe7a812a332122011832074142718c278dae",
      "tree": "49c4fc481cebd03323aaf0109066859165508303",
      "parents": [
        "91db41f315f6c2366b7098c531224bee01170364"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 09 20:54:52 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 10 21:26:23 2017 +0000"
      },
      "message": "Keep resolved String in HLoadString.\n\nFor the following reasons:\n- Avoids needing to do a lookup again in CodeGenerator::EmitJitRoots.\n- Fixes races where we the string was GC\u0027ed before CodeGenerator::EmitJitRoots.\n- Makes it possible to do GVN on the same string but defined in different\n  dex files.\n\nTest: test-art-host, test-art-target\nChange-Id: If2b5d3079f7555427b1b96ab04546b3373fcf921\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": "c52b26d4fb5b1ca91f34ce4b535b764853e538f6",
      "tree": "9b734310200bb70cb42696082a55db70bed51b3c",
      "parents": [
        "b28c8749a52f4f3252fbfe8bfb5f9d7c7f980adf"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 19 09:18:07 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 10 14:11:32 2017 +0000"
      },
      "message": "Recognize getClass() in RTP.\n\nAlso always keep around the resolved field\nin related HInstructions to avoid resolving it again\nand again.\n\nTest: test-art-host, 631-checker-get-class\n\nChange-Id: I3bc6be11f3eb175c635e746006f39865947e0669\n"
    },
    {
      "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"
    }
  ],
  "next": "374ddf34753e5cbd122ac67ddb5551d83d0d1fb6"
}
