)]}'
{
  "log": [
    {
      "commit": "1663d16e87f35246a2858e5ef1237b9907edbe6f",
      "tree": "5f1cfb67ca08e7cadff0a2bd5ee8ca6539df076f",
      "parents": [
        "9cc0ea8140e0106e132efc3c1c5c458fa196ae41"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 17 15:15:21 2017 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 17 18:25:48 2017 +0000"
      },
      "message": "Fix the artificial dependency in ARM/ARM64 SystemArrayCopy intrinsics.\n\nEnsure that the base source address register (`src_curr_addr`) is\nassigned from the `src` register after `src` is made dependent on the\nlock word of `src`.\n\nBefore this CL, the artificial (or \"fake\") dependency of `src` on\n`tmp` was present, but because `src_curr_addr` was computed from `src`\n*before* that artificial dependency, it meant that it was basically\nuseless. This could explain some stale reference bugs.\n\nAfter this CL, `src_curr_addr` is computed from `src` *after* the\nartificial dependency.\n\nTest: m test-art-target on Baker read barrier configuration.\nBug: 12687968\nChange-Id: If30a2e35ca04b0b6d054e2a6c6b1e9c6879cf4a9\n"
    },
    {
      "commit": "9cc0ea8140e0106e132efc3c1c5c458fa196ae41",
      "tree": "ff150a59096800e503073926dd56b9b4470db490",
      "parents": [
        "41e604aac001ef023ad61f672239b76ccf33489b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 16 11:25:59 2017 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 17 18:20:41 2017 +0000"
      },
      "message": "Refactor SystemArrayCopy intrinsics.\n\nTest: m test-art-host\nTest: m test-art-target\nChange-Id: I2f9ccdbb831030e670996b97e0c422f505b3abf6\n"
    },
    {
      "commit": "a70b683cd796f7e5bb50d8d282f72c50c89af250",
      "tree": "5db2cb848bf248c5ecf5103e7a4aa075dcea4d6b",
      "parents": [
        "e0abec751ce81b14a57522b51d43138fa1541d33",
        "467d94a3d926620b01b034eff68fdcaf2b5fb579"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 16 12:55:57 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 16 12:55:57 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"ARM: VIXL32: Use VIXL backend by default.\"\"\""
    },
    {
      "commit": "e0abec751ce81b14a57522b51d43138fa1541d33",
      "tree": "621b29f3c328197daf68af3e68379a4194387070",
      "parents": [
        "9d619c9555ba8232d4307ca28f750ac170afef92",
        "13a797bc53596af3d68eeb9721a8d76c23710ce9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 16 12:55:19 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 16 12:55:20 2017 +0000"
      },
      "message": "Merge \"vixl32: do not use D14 as a temporary.\""
    },
    {
      "commit": "aa313b1dfadd8ea9d9830b4bd02f5917bca8534b",
      "tree": "7b8b3117091762d338cfd9f4b92b62cf7f341456",
      "parents": [
        "f83f3f6ecb1153d96cc8007e8a0d1e35af4d3f38",
        "c9905a6f5908022d74b7a8f4f8fa9240743fdeaa"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 16 11:51:30 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 16 11:51:31 2017 +0000"
      },
      "message": "Merge \"MIPS64: Inline polymorphic method calls.\""
    },
    {
      "commit": "13a797bc53596af3d68eeb9721a8d76c23710ce9",
      "tree": "b2d2b68a1a60215c7e10ac0821c1c761cebda787",
      "parents": [
        "0a1f0798176250853c1fb83f00a436a183d2bfc1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 15 16:41:31 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 16 11:12:56 2017 +0000"
      },
      "message": "vixl32: do not use D14 as a temporary.\n\nD14 is a callee-save register, which means we would need to\nsave it in the prologue, but at the point we\u0027re using it\nthe prologue has already been generated.\n\nbug: 35977033\ntest: m ART_USE_VIXL_ARM_BACKEND\u003dtrue test-art-target\nChange-Id: Id7340ad9e87a9e527ce0989f45aae0b3a0963206\n"
    },
    {
      "commit": "467d94a3d926620b01b034eff68fdcaf2b5fb579",
      "tree": "64f16e96e416902e5a203eb94fb33e09f9d3a4e8",
      "parents": [
        "25275bef429dc6a48b79411e0d0b32207294523b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 16 10:24:17 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 16 10:24:17 2017 +0000"
      },
      "message": "Revert \"Revert \"ARM: VIXL32: Use VIXL backend by default.\"\"\n\nbug:35977033\n\nThis reverts commit 25275bef429dc6a48b79411e0d0b32207294523b.\n\nChange-Id: I440bf8415e2bf550607595499701fb3e7c33b37e\n"
    },
    {
      "commit": "fcfaa8d823017eb209fd6e18a6fe496f4c979026",
      "tree": "aa16954ce73fa029a571162f40d55bab47eb7069",
      "parents": [
        "f01704050792cdb1556b1e2aab415d40424a7280",
        "219bf253e5158c4f3438e70864b8bf7235c1e193"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 15 22:37:47 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 15 22:37:48 2017 +0000"
      },
      "message": "Merge \"Revert \"Introduce a number of MSA instructions for MIPS64\"\""
    },
    {
      "commit": "219bf253e5158c4f3438e70864b8bf7235c1e193",
      "tree": "0ba845434b3b5679ee62b099c42ad455b4dcc37d",
      "parents": [
        "dcabc8b740bf3066d59348ffdf21c164d2b27cb4"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Mar 15 20:37:50 2017 +0000"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Mar 15 20:37:50 2017 +0000"
      },
      "message": "Revert \"Introduce a number of MSA instructions for MIPS64\"\n\nThis reverts commit dcabc8b740bf3066d59348ffdf21c164d2b27cb4.\n\n\nReason:\nFAILING TESTS\nvalgrind-test-art-host-gtest-assembler_mips64_test32\nninja: build stopped: subcommand failed.\n19:36:36 ninja failed with: exit status 1\nmake: *** [run_soong_ui] Error 1\n\nChange-Id: If658375528d2a0f34bb6b22b6565fab1d863b3f5\n"
    },
    {
      "commit": "4b4553340dded4e8ce8f56690c08561a39a4aa56",
      "tree": "c52382b7b1b48ab23bf906ea87cff062acf0d320",
      "parents": [
        "ba05290bb69e6bc9750d2485cd3dbfb013e61412"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Mar 15 11:19:35 2017 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Mar 15 11:46:19 2017 -0700"
      },
      "message": "SIMD cmpeq for x86/x86_64\n\nRationale:\nBreak-out CL of ART Vectorizer.\nEnables fast all-ones optimization.\n\nBug: 34083438\nTest: assembler_x86[_64]_test\nChange-Id: I70bd71305f2ecc322ccada5471c197a578c0526e\n"
    },
    {
      "commit": "ba05290bb69e6bc9750d2485cd3dbfb013e61412",
      "tree": "4bc72784ac56dcaf5fbec530ac9c62cb0dcc574d",
      "parents": [
        "92d578f48d2c00497f15d9fe45f7683d9af0e109",
        "21c580bf3f024f3f02d627013fba18a4b4f855d5"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Mar 15 15:59:10 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 15 15:59:10 2017 +0000"
      },
      "message": "Merge \"SIMD and-not for x86/x86_64\""
    },
    {
      "commit": "92d578f48d2c00497f15d9fe45f7683d9af0e109",
      "tree": "3efef0c0de1728e968803d2a51b5c3b065d9d4f0",
      "parents": [
        "8a31bb939f2ab1fe3f745ade40408ac07267208a",
        "dcabc8b740bf3066d59348ffdf21c164d2b27cb4"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Mar 15 15:58:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 15 15:58:57 2017 +0000"
      },
      "message": "Merge \"Introduce a number of MSA instructions for MIPS64\""
    },
    {
      "commit": "6e54f78c7c1e01c1a91a458c6e51cca1c7d13ad4",
      "tree": "49f291aa374928e368ea5cdb05ea54ab62f5d003",
      "parents": [
        "0a1f0798176250853c1fb83f00a436a183d2bfc1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 08 15:27:09 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 15 12:45:05 2017 +0000"
      },
      "message": "Only look at vdex related access flags for class/fields/methods.\n\nclass/fields/methods can have a lot of flags, but only a handful\nof them affect verification.\n\nbug: 35913145\ntest: verifier_deps_test\nChange-Id: I5c374b50e811b5e134cdb868a2cc674900a1bdec\n"
    },
    {
      "commit": "0a1f0798176250853c1fb83f00a436a183d2bfc1",
      "tree": "9e641adf978acb661cdf805b3e62503685438abc",
      "parents": [
        "60afd6fe2858c211890845380cd81d4f113bbf2e",
        "ba89c34e94a82f0a6904dcc62caa6aa7bb14c12c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 15 12:41:15 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 15 12:41:16 2017 +0000"
      },
      "message": "Merge \"MIPS64: Improve storing of constants in fields and array elements\""
    },
    {
      "commit": "60afd6fe2858c211890845380cd81d4f113bbf2e",
      "tree": "99ba909eea08ca036e05a10dee33e8f29eac23dd",
      "parents": [
        "99d035fa0f6915d011d2be9ab2303266ec2fee34",
        "87c9705263d2421607b58a0f1ed397371154fd84"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 15 10:37:59 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 15 10:38:01 2017 +0000"
      },
      "message": "Merge \"ARM64: Improve LocationBuilder for Shifts and IntermediateAddress.\""
    },
    {
      "commit": "99d035fa0f6915d011d2be9ab2303266ec2fee34",
      "tree": "bfe29e3e50b339fdb393f84e27f651235eb8c427",
      "parents": [
        "31c6ea571197d227fa62ee563461f35ec10ca838",
        "f44d36c8423f81cbb5e9f55d8813e26ffa1a7f3b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 15 10:33:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 15 10:33:18 2017 +0000"
      },
      "message": "Merge \"Revert^2 \"Hash-based DexCache field array.\"\""
    },
    {
      "commit": "bfe66b01844328bab508f305df3b5d46ca6798a7",
      "tree": "de590d9346e3b7ffe3725b36792264dc28d5f4f4",
      "parents": [
        "9f2498c21a7d02605e61c5b2145ba55abf1c3703",
        "43e99be9db10111a2d6e094882cd06c248c69e11"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 15 06:29:09 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 15 06:29:10 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Revert \"CHA for interface method.\"\"\"\""
    },
    {
      "commit": "43e99be9db10111a2d6e094882cd06c248c69e11",
      "tree": "fb4d9ed1e6a5230c3a54e07157f017cf60167e51",
      "parents": [
        "8f301e26943c53485abc2da5ff1907f7c2e0ff0c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 15 06:28:52 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 15 06:28:52 2017 +0000"
      },
      "message": "Revert \"Revert \"Revert \"CHA for interface method.\"\"\"\n\nBreaks libcore tests.\n\nThis reverts commit 8f301e26943c53485abc2da5ff1907f7c2e0ff0c.\n\nChange-Id: Iea46176118be9e05aceb06f2d290961bb1f38265\n"
    },
    {
      "commit": "bff6bac661d05ad184c831a2b0b224260f2e2956",
      "tree": "adac7f929e38eb1c572c2eceffaea789a471e566",
      "parents": [
        "b43836abb325f15790f279632931419cd32fdb4d",
        "bd68e975538738cbfff14bba75fd9ee7d3fe9ccb"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 14 20:02:10 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 14 20:02:10 2017 +0000"
      },
      "message": "Merge \"Fix SSA liveness analysis test.\""
    },
    {
      "commit": "f44d36c8423f81cbb5e9f55d8813e26ffa1a7f3b",
      "tree": "324b41485ce6c414c1a006c72cbcc5ed9f466138",
      "parents": [
        "8d6768d47b66a688d35399d524ad5a5450e9d9d4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 14 14:18:46 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 14 19:03:20 2017 +0000"
      },
      "message": "Revert^2 \"Hash-based DexCache field array.\"\n\nTest: testrunner.py --host --interpreter\nBug: 30627598\n\nThis reverts commit 6374c58f2ea403b3a05fb27376110fe4d0fc8e3f.\n\nChange-Id: I275508e288a85d3aa08f7405a1a4f362af43b775\n"
    },
    {
      "commit": "c1af10e85eb517de8794eb11dbde7d464eac4220",
      "tree": "38e0bc379435cc5de2252b57e8bb1692b370c5f6",
      "parents": [
        "b6b76e47720336c25812688c286853caa71894df",
        "8d6768d47b66a688d35399d524ad5a5450e9d9d4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 14 19:01:01 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 14 19:01:02 2017 +0000"
      },
      "message": "Merge \"Revert^6 \"Hash-based dex cache type array.\"\""
    },
    {
      "commit": "bd68e975538738cbfff14bba75fd9ee7d3fe9ccb",
      "tree": "0c5dc54bab54cfdf5e589e4f4bc1f30f00b29045",
      "parents": [
        "fbe1516b91f2117bb9c7282aaea5537572f62dd7"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 14 18:07:35 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 14 18:07:35 2017 +0000"
      },
      "message": "Fix SSA liveness analysis test.\n\nCreate a persistent CompilerOptions object instead of\npassing a temporary to the codegen.\n\nTest: m valgrind-test-art-host-gtest-ssa_liveness_analysis_test\nChange-Id: Icccf6aec0d024917aa1895d0804a79866f3cae43\n"
    },
    {
      "commit": "7f4e4281f8889511a9d641ed1eb47f92692efbb1",
      "tree": "c0c708ef2de16e0c2936e120e72d107044d47d60",
      "parents": [
        "8ae7a8f8bbe3677594a89836431e2cc31f267fb6",
        "8f301e26943c53485abc2da5ff1907f7c2e0ff0c"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Tue Mar 14 17:31:33 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 14 17:31:34 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"CHA for interface method.\"\"\""
    },
    {
      "commit": "c9905a6f5908022d74b7a8f4f8fa9240743fdeaa",
      "tree": "4882b5eeb7bc424e7fb26cb6ddc7ec4ad08b34ea",
      "parents": [
        "8ae7a8f8bbe3677594a89836431e2cc31f267fb6"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Mon Mar 13 17:06:18 2017 -0700"
      },
      "committer": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Tue Mar 14 09:48:16 2017 -0700"
      },
      "message": "MIPS64: Inline polymorphic method calls.\n\nTest: 566-polymorphic-inlining\nTest: Boot MIPS64R6 QEMU\n\nChange-Id: I92ca53ebd173c0b3a5d5910678b78bc114502b93\n"
    },
    {
      "commit": "dcabc8b740bf3066d59348ffdf21c164d2b27cb4",
      "tree": "1b16fe71dc17f5e3fad5e1f6a865141b5d22da6b",
      "parents": [
        "96cc0a004b5685d8a3fea3cee3105fbbff73437f"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Fri Mar 10 11:53:48 2017 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Tue Mar 14 17:21:19 2017 +0100"
      },
      "message": "Introduce a number of MSA instructions for MIPS64\n\nAdded a number of MSA (The MIPS SIMD Architecture) instructions.\nAdded assembler tests for each instruction.\nMade necessary changes in disassembler for these instructions.\n\nTest: mma test-art-host-gtest\n\nChange-Id: I380f02c6ae5424a96ad999037153228acb07a108\n"
    },
    {
      "commit": "26ec3cad4968ae32ce9d04c3046f766df46d9bd7",
      "tree": "0ba845434b3b5679ee62b099c42ad455b4dcc37d",
      "parents": [
        "fbe1516b91f2117bb9c7282aaea5537572f62dd7"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 14 13:37:14 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 14 14:02:46 2017 +0000"
      },
      "message": "ARM64: Fix lack of scratch registers in String.equals() intrinsic.\n\nTest: testrunner.py --target -t 021-string2 (on Nexus 6P)\nBug: 36127106\nChange-Id: I1e46af69a80b7025931be662cbafa10165f9c47e\n"
    },
    {
      "commit": "8d6768d47b66a688d35399d524ad5a5450e9d9d4",
      "tree": "0b8733baef378d9e060c8e74319a3846489590b2",
      "parents": [
        "fbe1516b91f2117bb9c7282aaea5537572f62dd7"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 14 10:13:21 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 14 13:55:13 2017 +0000"
      },
      "message": "Revert^6 \"Hash-based dex cache type array.\"\n\nFixed ImageWriter to write class table also if it contains\nonly boot class loader classes. Added a regression test and\nadded extra checks for debug-build to verify that dex cache\ntypes from app image are also in the class table. Removed\nsome unnecessary debug output.\n\nTest: 158-app-image-class-table\nBug: 34839984\nBug: 30627598\nBug: 34659969\n\nThis reverts commit 0b66d6174bf1f6023f9d36dda8538490b79c2e9f.\n\nChange-Id: I6a747904940c6ebc297f4946feef99dc0adf930c\n"
    },
    {
      "commit": "fbe1516b91f2117bb9c7282aaea5537572f62dd7",
      "tree": "82671f25af9a829d7a994d0694c996b5d46935d1",
      "parents": [
        "8a78a77b12862af650dab978c4d5e642a4409187",
        "356bd28feeedeb24e1f458492fdc5ecaef39c1eb"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 14 10:11:18 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 14 10:11:18 2017 +0000"
      },
      "message": "Merge \"Introduce EnvUsePosition for liveness analysis.\""
    },
    {
      "commit": "8a78a77b12862af650dab978c4d5e642a4409187",
      "tree": "9a28fa3bee9a395718093e1a86a97fed47553e83",
      "parents": [
        "224f6ab7620ddbc20a338e56ccf9952d86b08b51",
        "25275bef429dc6a48b79411e0d0b32207294523b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 14 09:10:41 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 14 09:10:42 2017 +0000"
      },
      "message": "Merge \"Revert \"ARM: VIXL32: Use VIXL backend by default.\"\""
    },
    {
      "commit": "25275bef429dc6a48b79411e0d0b32207294523b",
      "tree": "90a96d151b5f01c5fd5961a67b2368175074c091",
      "parents": [
        "e6316892821287b1d1906b9962eae129fbdc37be"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 14 08:57:02 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 14 08:57:02 2017 +0000"
      },
      "message": "Revert \"ARM: VIXL32: Use VIXL backend by default.\"\n\nRevert while investigating.\n\nbug:35977033\n\nThis reverts commit e6316892821287b1d1906b9962eae129fbdc37be.\n\nChange-Id: I51e24a6e539072a6d0d470dfe41855a4847f3e96\n"
    },
    {
      "commit": "ba89c34e94a82f0a6904dcc62caa6aa7bb14c12c",
      "tree": "a10992eabb2aade0c97e283038873a6c36d05132",
      "parents": [
        "224f6ab7620ddbc20a338e56ccf9952d86b08b51"
      ],
      "author": {
        "name": "Tijana Jakovljevic",
        "email": "tijana.jakovljevic@imgtec.com",
        "time": "Fri Mar 10 13:36:08 2017 +0100"
      },
      "committer": {
        "name": "Tijana Jakovljevic",
        "email": "tijana.jakovljevic@imgtec.com",
        "time": "Tue Mar 14 07:40:59 2017 +0100"
      },
      "message": "MIPS64: Improve storing of constants in fields and array elements\n\nTest: booted MIPS64 in QEMU\nTest: mma test-art-target-run-test\nTest: mma test-art-host-gtest-assembler_mips64_test\n\nChange-Id: I8e0002166174eebea1309358eb9d96f34eee3225\n"
    },
    {
      "commit": "21c580bf3f024f3f02d627013fba18a4b4f855d5",
      "tree": "d9186fa18d4bd5de8e76fb7b9a5d4a3f0f1f5e24",
      "parents": [
        "01ea2aa05d6889b4ec08679606d3cdf36b302a8f"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Mar 13 11:52:07 2017 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Mar 13 11:52:07 2017 -0700"
      },
      "message": "SIMD and-not for x86/x86_64\n\nRationale:\nBreak-out CL of ART Vectorizer.\nEnables and-not optimization.\n\nBug: 34083438\nTest: assembler_x86[_64]_test\nChange-Id: I8fa61d88f9f014973b0d9707d39be56a7f995db8\n"
    },
    {
      "commit": "356bd28feeedeb24e1f458492fdc5ecaef39c1eb",
      "tree": "e68b917d6c7ae3347baa74dea279a8681b0626a7",
      "parents": [
        "d1d4530ffa97729aa8944932a7ac2009ae51c7e3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Mar 01 12:01:11 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 13 18:05:45 2017 +0000"
      },
      "message": "Introduce EnvUsePosition for liveness analysis.\n\nNormal and environment use positions are held in separate\nlists and the code never mixes them together. By using two\nseparate classes, we can reduce complexity and avoid an\nunnecesary data member, reducing the memory usage.\n\nTracking allocations for a certain big app, the peak arena\nmemory usage is\n  before:\n    MEM: used: 79245960, ...\n    SsaLiveness    31221600\n  after:\n    MEM: used: 78754024, ...\n    SsaLiveness    30729664\n\nTest: testrunner.py --host\nBug: 34053922\nChange-Id: I02d3c9f564bbe3b1da0e03c33cf7c0f810f235dc\n"
    },
    {
      "commit": "0b66d6174bf1f6023f9d36dda8538490b79c2e9f",
      "tree": "1cc4d2ae868745a65fd0489a6fb2f5f2fc9e880f",
      "parents": [
        "6374c58f2ea403b3a05fb27376110fe4d0fc8e3f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 13 14:50:04 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 13 16:08:01 2017 +0000"
      },
      "message": "Revert^5 \"Hash-based dex cache type array.\"\n\nFor app images, ImageWriter does not add boot image\nclasses to the app image class table even though it\nkeeps them in the dex caches. The reason for that is\nunknown, the code looks OK.\n\nBug: 34839984\nBug: 30627598\nBug: 34659969\n\nAlso reverts \"Improve debugging output for a crash.\"\n\nThis reverts commits\n    bfb80d25eaeb7a604d5dd25a370e3869e96a33ab,\n    8dd56fcb3196f466ecaffd445397cb11ef85f89f.\n\nTest: testrunner.py --host\nChange-Id: Ic8db128207c07588c7f11563208ae1e85c8b0e84\n"
    },
    {
      "commit": "6374c58f2ea403b3a05fb27376110fe4d0fc8e3f",
      "tree": "0aacaaf1f193e96b55e0b203b678ae724c0fb6f5",
      "parents": [
        "8f323e09e692ff4f95f40300391fe41fb96a6c49"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 13 14:51:19 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 13 14:52:17 2017 +0000"
      },
      "message": "Revert \"Hash-based DexCache field array.\"\n\nReverting to allow rebasing the revert\n    https://android-review.googlesource.com/351689\nwithout too many conflicts.\n\nBug: 30627598\n\nThis reverts commit 1aea3510b8dd0c512cec61c91c5ef1f1e5d53d64.\n\nChange-Id: I4af65e9f41c8bad8106c028947eca7c5a9534c53\n"
    },
    {
      "commit": "2a2b4f63f484bd3d6d318d13fe3abf0701d33c08",
      "tree": "bb189e554ba08c268f21b3758167de2cb4d8e800",
      "parents": [
        "bd40af72aac39c53fadca6fe2e8d90f2ba2c4502",
        "2dd053d61c3971fa5b5e179e0a2b5368409c9ba3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 10 18:23:15 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 10 18:23:16 2017 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Improve BoundsCheck for constant inputs.\""
    },
    {
      "commit": "1352e02ceeb30a3191809df4a7ee9fd711962f30",
      "tree": "85b70916f2369af2c30c8ac82734e37b6a847649",
      "parents": [
        "939e71a4f40496ffe770c80e81d6fe4a99d979e9",
        "effd5bfa62fa3065a8386b192bf60d41c320f6e4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 10 17:23:46 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 10 17:23:47 2017 +0000"
      },
      "message": "Merge \"ARM: Generate UBFX for HAnd\""
    },
    {
      "commit": "effd5bfa62fa3065a8386b192bf60d41c320f6e4",
      "tree": "7bd021367a3e6b0cfd9cd3bf08fb5bd5c177c666",
      "parents": [
        "f92e179efdd070c4d54633ac305199b10f957bd7"
      ],
      "author": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Tue Feb 28 16:59:15 2017 +0000"
      },
      "committer": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Fri Mar 10 15:15:15 2017 +0000"
      },
      "message": "ARM: Generate UBFX for HAnd\n\nTest: m test-art-target-run-test-538-checker-embed-constants\nChange-Id: I8e6af76b99543331e8ffec01bd8df3f09890708e\n"
    },
    {
      "commit": "939e71a4f40496ffe770c80e81d6fe4a99d979e9",
      "tree": "4203578687db372598bffaeb81feb221a461305f",
      "parents": [
        "f92e179efdd070c4d54633ac305199b10f957bd7",
        "1aea3510b8dd0c512cec61c91c5ef1f1e5d53d64"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 10 15:13:31 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 10 15:13:31 2017 +0000"
      },
      "message": "Merge \"Hash-based DexCache field array.\""
    },
    {
      "commit": "2dd053d61c3971fa5b5e179e0a2b5368409c9ba3",
      "tree": "42e13945e6e3bcb4205c4b4794094710e9c58274",
      "parents": [
        "f92e179efdd070c4d54633ac305199b10f957bd7"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Wed Mar 08 14:54:06 2017 +0000"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Mar 10 14:29:12 2017 +0000"
      },
      "message": "ARM: VIXL32: Improve BoundsCheck for constant inputs.\n\nTest: mma test-art-host \u0026\u0026 mma test-art-target\n\nChange-Id: I05051c03dbd3684c674096def84020494d28364b\n"
    },
    {
      "commit": "1aea3510b8dd0c512cec61c91c5ef1f1e5d53d64",
      "tree": "94cbab7c3097ce7d3a1feb1a69f28406644af085",
      "parents": [
        "d1d4530ffa97729aa8944932a7ac2009ae51c7e3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 08 11:39:42 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Mar 10 12:59:37 2017 +0000"
      },
      "message": "Hash-based DexCache field array.\n\nTest: m test-art-host, both AOT and interpreter\nTest: m test-art-target, both AOT and interpreter\nTest: m valgrind-test-art-host\nBug: 30627598\nChange-Id: If992f091aadd862d17b09928d21659573dd285a0\n"
    },
    {
      "commit": "13439f0c4769a0768cf1bbaa7b3f2f9ee5a317c5",
      "tree": "a5d52373571fad4249544a7b27c8009233d69f9d",
      "parents": [
        "74f94dd8edb4a6070f6f7bfef6d28a8b4a21fc30"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Feb 21 01:17:21 2017 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Mar 09 17:14:02 2017 -0800"
      },
      "message": "Use offline inline caches during AOT compilation\n\nAlso:\n- extend the testing script to understand profile when --profile is\npassed\n- filter inline cache types which are not loaded by the caller class\nloader\n\nTest: m test-art-host-run-test-638-checker-inline-caches\nBug: 32434870\nChange-Id: Ifcc27b3cebc79b84617412aaae64a73324151b55\n"
    },
    {
      "commit": "74f94dd8edb4a6070f6f7bfef6d28a8b4a21fc30",
      "tree": "6f364e43c51685a0106b4b5717c42eb2dbc3699d",
      "parents": [
        "cac55a12d455efeeb928b6c5629dae4636249e56",
        "97fa9928c07d3e0ee631235e9619fb0f8949ed7a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 09 20:56:53 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 09 20:56:54 2017 +0000"
      },
      "message": "Merge \"Do not allow input-vdex with dexlayout.\""
    },
    {
      "commit": "97fa9928c07d3e0ee631235e9619fb0f8949ed7a",
      "tree": "cd19ef9879b0dac1237a8be0d6a0075fcbe54f51",
      "parents": [
        "2c3fc44464d261c8ae285abbd140b4523dba005c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 09 13:13:25 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 09 20:54:21 2017 +0000"
      },
      "message": "Do not allow input-vdex with dexlayout.\n\ninput-vdex and dexlayout are incompatible with each other.\n\nbug: 36084905\nbug: 36076104\nbug: 36059948\nbug: 35872504\n\nTest: device boots, vdex works on OTA, input-vdex is not passed\n      for speed-profile.\n\nChange-Id: I630c90acf0a8f49f50b7909e2dec995dd4a4d13f\n"
    },
    {
      "commit": "d1d4530ffa97729aa8944932a7ac2009ae51c7e3",
      "tree": "b544c9de6459c97b3e51d3984b2348cb0c48df4a",
      "parents": [
        "5ed51e3176f3dc4ff2e50ba4bf52743d404b5b4f",
        "426b49c45d8088ff3114d3fbcec26db4e00c9324"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 09 15:11:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 09 15:11:24 2017 +0000"
      },
      "message": "Merge \"ARM(64): Improve the code generated for HSelect\""
    },
    {
      "commit": "87c9705263d2421607b58a0f1ed397371154fd84",
      "tree": "51eb5d6a033938c74b8f4f1a719475069651ef3d",
      "parents": [
        "335f644f617d9837bc44219c70a2943f36c3f496"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Sep 23 13:34:31 2016 +0100"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Mar 09 13:29:26 2017 +0000"
      },
      "message": "ARM64: Improve LocationBuilder for Shifts and IntermediateAddress.\n\nAdd Location::kNoOutputOverlap for OutRegister.\n\nTest: m test-art-target; m test-art-host\n\nChange-Id: Ic8e2f3088427b96a16fcd97b8f5fa6f19325e127\n"
    },
    {
      "commit": "5ed51e3176f3dc4ff2e50ba4bf52743d404b5b4f",
      "tree": "1638115757601e4d41d1dc3f3cb9045f5d3d6dd9",
      "parents": [
        "079f5fd58799a23aa5d60a5f85008a4663a33f2a",
        "54f869ed3c7910e6eb7bade924d41570e9a4cb14"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 09 13:02:12 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 09 13:02:12 2017 +0000"
      },
      "message": "Merge changes Ia26b07f0,Id3d2758c\n\n* changes:\n  Revert \"Revert \"Use the holder\u0027s gray bit in Baker read barrier slow paths (ARM, ARM64).\"\"\n  Revert \"Revert \"Use the \"GC is marking\" information in compiler read barriers (ARM, ARM64).\"\"\n"
    },
    {
      "commit": "426b49c45d8088ff3114d3fbcec26db4e00c9324",
      "tree": "446ae3073d93e2771882885423c0e290f19d44fa",
      "parents": [
        "c02fe5f31d487765a8c59922c46d459ba6ebf939"
      ],
      "author": {
        "name": "Donghui Bai",
        "email": "donghui.bai@linaro.org",
        "time": "Tue Nov 08 14:55:38 2016 +0800"
      },
      "committer": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Thu Mar 09 12:57:41 2017 +0000"
      },
      "message": "ARM(64): Improve the code generated for HSelect\n\nTest: m test-art-target-run-test-566-checker-codegen-select\nTest: m test-art-target-run-test-570-checker-select\nChange-Id: If0140892303490701782df9a818e6d8346bf3d6c\nSigned-off-by: Anton Kirilov \u003canton.kirilov@linaro.org\u003e\n"
    },
    {
      "commit": "2c3fc44464d261c8ae285abbd140b4523dba005c",
      "tree": "e64872f57c330e17ee814c47f12c49fec0b4b406",
      "parents": [
        "2e5a2e2183a8392a7a768f0b7aa70f6ff4cd0cad",
        "1eede6ae9b08d305d0c1123284ff958373916474"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 09 11:15:34 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 09 11:15:34 2017 +0000"
      },
      "message": "Merge \"Don\u0027t inline methods that throw in graph with irreducible loops.\""
    },
    {
      "commit": "2e5a2e2183a8392a7a768f0b7aa70f6ff4cd0cad",
      "tree": "91dae91d3b3429df814e208599c8ef621a883079",
      "parents": [
        "41d82634a7a90559c9d47ba1baa9a1ea0a3d314a",
        "9a193f6ec2758f716238e662573fdc11cff8bbac"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Mar 09 10:49:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 09 10:49:57 2017 +0000"
      },
      "message": "Merge \"codegen_test: Add missing dependency.\""
    },
    {
      "commit": "68fdd5a22024f70a65159bcb8929296fc93b807d",
      "tree": "d0d5256fde2f91b61bde97d0632436cabb0b23db",
      "parents": [
        "02a4d7ff633e67d0a5113f0fc742116dcdc5b7f6",
        "c52f3034b06c03632e937aff07d46c2bdcadfef5"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Mar 09 08:33:03 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 09 08:33:04 2017 +0000"
      },
      "message": "Merge \"Remove --include-patch-information option from dex2oat.\""
    },
    {
      "commit": "f02253d12be42a5b980791265f0eb61d875396e3",
      "tree": "1f908e9a9523658bf2e244b90508852e1885a222",
      "parents": [
        "d419beb312816edbf2186c12b15321d11c29996d",
        "66b69ad6d1a2ddd38bf533a3c887c5cdaf512634"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 08 23:58:25 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 08 23:58:25 2017 +0000"
      },
      "message": "Merge \"MIPS: Optimize code generation of check-cast and instance-of.\""
    },
    {
      "commit": "eb2d2d346e9506e5fe2c8e1e72a146821192b973",
      "tree": "3c7b7f1cac227248aaf9ac313825a6a71ae4c66e",
      "parents": [
        "caa348cee1312150a957bd308ce77ad406f3eb64"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Mar 02 13:26:17 2017 -0800"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Mar 08 12:56:41 2017 -0800"
      },
      "message": "Allow store elimination for singleton that\u0027s returned\n\nAllow store elimination for singleton that\u0027s visible after method return\nor deoptimization. Add additional detection for keeping stores for such\nsingletons at block merge/deoptimization point.\n\nBug: 35745320\nTest: m test-art-host\nChange-Id: I8a75a304491dafaeb689787402afa3d7468e3789\n"
    },
    {
      "commit": "caa348cee1312150a957bd308ce77ad406f3eb64",
      "tree": "575f0b062f8adb1b8fc7ebc5f6ef18bea5ae1db7",
      "parents": [
        "c02fe5f31d487765a8c59922c46d459ba6ebf939",
        "01b47b046b01ec68696f8ff61b5326cdd3af348e"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Mar 08 20:29:49 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 08 20:29:51 2017 +0000"
      },
      "message": "Merge \"Inlining a few small methods based on profiling dex2oat with perf.\""
    },
    {
      "commit": "01b47b046b01ec68696f8ff61b5326cdd3af348e",
      "tree": "e526306fc89bf6fb04ff914e24343dde0369e98c",
      "parents": [
        "dcab11d06860ae1e23d03926adb6c31f75404032"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Fri Feb 03 12:09:57 2017 -0800"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Mar 08 10:15:06 2017 -0800"
      },
      "message": "Inlining a few small methods based on profiling dex2oat with perf.\n\nTest: m test-art-host\nChange-Id: I6313158e59592d8d132154523be9c82dda3c7eb8\n"
    },
    {
      "commit": "68948e01f56ad1996af77f4c0aab721940b0e18d",
      "tree": "0091c82b4f3b239b6b28418062954b9a0583261d",
      "parents": [
        "0c742e4a5c8d91df5d36204a6d77f1e77c7dbcbe",
        "7adb688fe1213c6dcaf4d2adae3d8b7decf7c28a"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Mar 08 16:56:07 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 08 16:56:08 2017 +0000"
      },
      "message": "Merge \"Improve isunit computation, some tests edits needed for SIMD.\""
    },
    {
      "commit": "9a193f6ec2758f716238e662573fdc11cff8bbac",
      "tree": "ee9b865efd2b58eefb117c3513faf1e67f021a7a",
      "parents": [
        "335f644f617d9837bc44219c70a2943f36c3f496"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Mar 08 14:14:58 2017 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Mar 08 14:14:58 2017 +0000"
      },
      "message": "codegen_test: Add missing dependency.\n\nThe lack of this dependency causes two categories of errors :\n- Running without the simulator on clean builds, since the dlopen\n  in code_simulator_container.cc fails (and that isn\u0027t fatal).\n- Spurious crashes whilst running against an old version of\n  libartd-simulator, coupled with the fact that the new / free\n  pair are in different shared libs.\n\nTest: make -j32 test-art-host-gtest-codegen_test64\nChange-Id: Ifd59688e62e248fcaf06ef14350eec989b853a61\n"
    },
    {
      "commit": "c52f3034b06c03632e937aff07d46c2bdcadfef5",
      "tree": "031e4d1b2ca0961014e57e4987d80d7aa2c435b0",
      "parents": [
        "ef81e988d0eb4db390e576aac346701b2d820916"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Mar 02 13:45:45 2017 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Mar 08 10:55:17 2017 +0000"
      },
      "message": "Remove --include-patch-information option from dex2oat.\n\nBecause we no longer support running patchoat on npic oat files, which\nmeans the included patch information is unused .\n\nBug: 33192586\nTest: m test-art-host\n\nChange-Id: I9e100c4e47dc24d91cd74226c84025e961d30f67\n"
    },
    {
      "commit": "1eede6ae9b08d305d0c1123284ff958373916474",
      "tree": "7827df0c9fd45bfe68e29b4105ad0b16f0076662",
      "parents": [
        "48b795efcb504b71fbf038fabdd3d05366793197"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 02 16:14:53 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 08 10:17:57 2017 +0000"
      },
      "message": "Don\u0027t inline methods that throw in graph with irreducible loops.\n\nRe-computing the loop information is not supported in graphs\nwith irreducible loops, as it is not deterministic, and the\nloop header of a loop could change. That would lead to having the\nsuspend check in the wrong block.\n\nTest: test-art-host\nTest: 641-irreducible-inline\nbug: 35757766\nChange-Id: I6a435885461fbeca035e4f5d94f055fc3262adca\n"
    },
    {
      "commit": "335f644f617d9837bc44219c70a2943f36c3f496",
      "tree": "359199d431816cd84d4ffa3491850e8b60b62ecf",
      "parents": [
        "742bc41f754e77a528f859babec4dfea179ca96e",
        "c4aa82c5b0aa921c51eaf6f6bbaff36501ea2cee"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 08 10:14:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 08 10:14:54 2017 +0000"
      },
      "message": "Merge \"Invoke typed arraycopy for primitive arrays.\""
    },
    {
      "commit": "742bc41f754e77a528f859babec4dfea179ca96e",
      "tree": "8a0587040a53b4d42c8aa90350ae93afc91a37d2",
      "parents": [
        "2ec053fa337c1934ccb803136b56b57bcc06a32f",
        "7cc3ae5705416bd8fc4b7096904e2871aa761e73"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 08 10:07:42 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 08 10:07:43 2017 +0000"
      },
      "message": "Merge \"Return the right value in VerifyClass.\""
    },
    {
      "commit": "2ec053fa337c1934ccb803136b56b57bcc06a32f",
      "tree": "ab250809f4b576ea3645a41b201d611c1a3e0d60",
      "parents": [
        "a6fa68f22965ae065f06bebd1388a8ebfdeedca6",
        "915ec5527cb3e4c9a80c1a5307ca6c6a280f9899"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 08 01:41:10 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 08 01:41:11 2017 +0000"
      },
      "message": "Merge \"ART: Update LZ4 library to v1.7.5\""
    },
    {
      "commit": "8f301e26943c53485abc2da5ff1907f7c2e0ff0c",
      "tree": "e255d1ce3041dff95d2cd2b6bf1b1474962d811e",
      "parents": [
        "dcab11d06860ae1e23d03926adb6c31f75404032"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Mon Feb 27 16:23:51 2017 -0800"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Tue Mar 07 16:47:13 2017 -0800"
      },
      "message": "Revert \"Revert \"CHA for interface method.\"\"\n\nThis reverts commit 85a1ec1347c8117365632dcaaa648ebb0a8691f5.\n\nIt also fixed the issue that\u0027s caused by changing an invokeinterface\nto an invokevirtual, when the method is the original default interface\nmethod. Since the default interface method is not in any vtable, unless\nit\u0027s copied and becomes a virtual method.\n\nTest: ART_TEST_JIT\u003dtrue m -j20 test-art-host-run-test\nChange-Id: I627616978690485c66cfca47c234f1504066ea1d\n"
    },
    {
      "commit": "7adb688fe1213c6dcaf4d2adae3d8b7decf7c28a",
      "tree": "fdafea7c8cdcf9c44825a630e4b1229ece444cd9",
      "parents": [
        "e6a60bff7a78efe7c2c4365984f1f7f036c12158"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Mar 07 13:28:51 2017 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Mar 07 13:28:51 2017 -0800"
      },
      "message": "Improve isunit computation, some tests edits needed for SIMD.\n\nRationale:\nBreak-out CL of ART Vectorizer: number 4.\nThe purpose is making the original CL smaller\nand easier to review.\n\nBug: 34083438\nTest: test-art-host\nChange-Id: I62a174944bbbe1e08f631f322c513eeaea14de26\n"
    },
    {
      "commit": "e6a60bff7a78efe7c2c4365984f1f7f036c12158",
      "tree": "04a83a2361a9103f2968c8f608980563cadcc343",
      "parents": [
        "7ba6ed786aa21257cfeefb917157d7d4768b9501",
        "b603a5cdff7c1fb300b83175bfb3cd990fdd6265"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Mar 07 21:22:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 07 21:23:00 2017 +0000"
      },
      "message": "Merge \"Bug fix in overflow detection on pow. With regression test.\""
    },
    {
      "commit": "7cc3ae5705416bd8fc4b7096904e2871aa761e73",
      "tree": "7828e0346d1961b1454a56fa7759b72c13e1b67a",
      "parents": [
        "a86b359441f349d9057d05c32c88c375d794cf86"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 07 14:33:37 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 07 17:44:43 2017 +0000"
      },
      "message": "Return the right value in VerifyClass.\n\nWe used to return kNoFailure when a class was already processed.\nBut it could have had soft failures.\n\nAlso remove IsCompileTimeVerified to avoid future confusions and\nintroduce ShouldVerifyAtRuntime.\n\nAdd some more checks to make sure we record the right things in\nthe vdex file.\n\nbug: 33845394\ntest: verifier_deps_test test-art-host\nChange-Id: Iff11a96e825c85db416083413761981515f405b7\n"
    },
    {
      "commit": "b603a5cdff7c1fb300b83175bfb3cd990fdd6265",
      "tree": "523f82d02727bd095c650463e0087af3853f59df",
      "parents": [
        "d88663823f75dbd68cace178ddca4767775d97a1"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Mar 06 18:29:39 2017 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Mar 07 08:59:08 2017 -0800"
      },
      "message": "Bug fix in overflow detection on pow. With regression test.\n\nRationale:\nMissed potential overflow in base update.\n\nTest: test-art-host\nBug: 35706963\nChange-Id: I117d96c1fa95dde37f5676f9dc750f0a71becafa\n"
    },
    {
      "commit": "c4aa82c5b0aa921c51eaf6f6bbaff36501ea2cee",
      "tree": "0da77f4e4a0fca7577f4c4c709353465d46c8581",
      "parents": [
        "3a791cee90451dc32d46f1b0a85fecc6f22f62bf"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 06 14:38:52 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 07 14:32:54 2017 +0000"
      },
      "message": "Invoke typed arraycopy for primitive arrays.\n\nApps will always call the Object version of arraycopy. When\nwe can infer the types of the passed arrays, replace the method\nbeing called to be the typed System.arraycopy one.\n\n10% improvement on ExoPlayerBench.\n\nTest: 641-checker-arraycopy\nbug: 7103825\nChange-Id: I872d7a6e163a4614510ef04ae582eb90ec48b5fa\n"
    },
    {
      "commit": "87425ed396e42bec87adc562fb4a623c0e451b53",
      "tree": "48f916fdfbf99f245ae7ad0cb31d51a880d4016d",
      "parents": [
        "acd764a6f196a6704553d3db66fc3e2281879637"
      ],
      "author": {
        "name": "Tijana Jakovljevic",
        "email": "tijana.jakovljevic@imgtec.com",
        "time": "Tue Mar 07 09:43:31 2017 +0100"
      },
      "committer": {
        "name": "Tijana Jakovljevic",
        "email": "tijana.jakovljevic@imgtec.com",
        "time": "Tue Mar 07 10:28:09 2017 +0100"
      },
      "message": "MIPS64: Removal of unnecessary null check\n\nUnintentionally left in https://android-review.googlesource.com/#/c/321427/.\n\nTest: booted MIPS64 in QEMU\nChange-Id: Idf9c7301f1881ca4cd427a3ef4beffae6022f339\n"
    },
    {
      "commit": "d88663823f75dbd68cace178ddca4767775d97a1",
      "tree": "c166773bb9b6406b712d8b6387a94f03c2394aae",
      "parents": [
        "f9d80d72a686048200bcf6a7f37192f9eb75d5bd",
        "92685a8a56fba7191612cf210f9c667b5ceda2af"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 07 01:01:43 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 07 01:01:43 2017 +0000"
      },
      "message": "Merge \"Pass driver to loop opt. Add new side_effects phase.\""
    },
    {
      "commit": "92685a8a56fba7191612cf210f9c667b5ceda2af",
      "tree": "563009abe4387cb83c63320504148cedfc764bc3",
      "parents": [
        "5c90d0b0f332436f7ca5c028256bf5e91e9023d4"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Mar 06 11:13:43 2017 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Mar 06 15:20:04 2017 -0800"
      },
      "message": "Pass driver to loop opt. Add new side_effects phase.\n\nRationale:\nBreak-out CL of ART Vectorizer: number 3.\nThe purpose is making the original CL smaller\nand easier to review.\n\nBug: 34083438\nTest: test-art-host\nChange-Id: I7cece807ee4f5fcaeae41f1deed33ac263447b77\n"
    },
    {
      "commit": "dcab11d06860ae1e23d03926adb6c31f75404032",
      "tree": "fb4d9ed1e6a5230c3a54e07157f017cf60167e51",
      "parents": [
        "5c90d0b0f332436f7ca5c028256bf5e91e9023d4",
        "86974900268b1d903d74b39a32746d60c77d21f3"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Mon Mar 06 20:05:03 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 06 20:05:04 2017 +0000"
      },
      "message": "Merge \"Array store/allocation elimination\""
    },
    {
      "commit": "86974900268b1d903d74b39a32746d60c77d21f3",
      "tree": "de0ef3b3499611fa07a6989462ed60400c15a588",
      "parents": [
        "b2a6d1218c527a685c421984292c47d241cf4a11"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Mar 01 14:03:51 2017 -0800"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Mon Mar 06 10:22:17 2017 -0800"
      },
      "message": "Array store/allocation elimination\n\nAllow array store/allocation elimination if it\u0027s only accessed\nby constant index, so that there is no index-aliasing.\n\nBug: 35634932\nTest: m -j20 test-art-host-run-test\nChange-Id: Ief6e27f5bdbb30988ff4f318a34b4251c93865fa\n"
    },
    {
      "commit": "5c90d0b0f332436f7ca5c028256bf5e91e9023d4",
      "tree": "dcd7e2f6eee9bb06edab9e340dbe16532282b6c9",
      "parents": [
        "ef81e988d0eb4db390e576aac346701b2d820916",
        "5743386b4d161f3884275c66b0783bd3cc3a8050"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 06 17:33:34 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 06 17:33:36 2017 +0000"
      },
      "message": "Merge \"MIPS64: Refactor implicit null checks in array/field get/set\""
    },
    {
      "commit": "54f869ed3c7910e6eb7bade924d41570e9a4cb14",
      "tree": "668545b4100216adfa3db98635473d26306f9561",
      "parents": [
        "ba650a4d5a0a82c6c88d6546b6111013c2ee8072"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Mar 06 13:54:11 2017 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Mar 06 14:05:15 2017 +0000"
      },
      "message": "Revert \"Revert \"Use the holder\u0027s gray bit in Baker read barrier slow paths (ARM, ARM64).\"\"\n\nThis reverts commit 47b3ab2fd83aaa530b7d2c62bfc024209b8b6923.\n\nIn compiler-generated code, when deciding whether to mark\na heap reference or not in a read barrier, after checking\nwhether the GC is currently marking, also check (in the\nslow path) whether the lock word of the reference\u0027s holder\nis gray, before actually marking the reference.\n\nThis change is only for ARM and ARM64, as it does not\nbenefit x86 nor x86-64.\n\nChange-Id: Ia26b07f0485e23589bfc0e65f83852f2795688c0\nTest: Run ART tests in Baker read barrier configuration.\nTest: Boot a device in Baker read barrier configuration.\nBug: 35780827\nBug: 29516974\n"
    },
    {
      "commit": "ba650a4d5a0a82c6c88d6546b6111013c2ee8072",
      "tree": "cc3046a30aab382cc9c346391ca7cc22f3bf11ad",
      "parents": [
        "ef81e988d0eb4db390e576aac346701b2d820916"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Mar 06 13:52:32 2017 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Mar 06 13:57:15 2017 +0000"
      },
      "message": "Revert \"Revert \"Use the \"GC is marking\" information in compiler read barriers (ARM, ARM64).\"\"\n\nThis reverts commit 35345a555bd7928582a7ffa6369b374b3ddc379d.\n\nIn compiler-generated code, when deciding whether to mark\na heap reference or not in a read barrier, check whether\nthe GC is currently marking, instead of checking the gray\nbit in the reference\u0027s holder\u0027s lock word.\n\nThis change is only for ARM and ARM64, as it does not\nbenefit x86 nor x86-64.\n\nChange-Id: Id3d2758c600115b2f07d345442cfa87edfc2792c\nTest: Run ART tests in Baker read barrier configuration.\nTest: Boot a device in Baker read barrier configuration.\nBug: 35780827\nBug: 29516974\n"
    },
    {
      "commit": "d9f647ac9a5cb0c6f112332d584756251c2cfb9f",
      "tree": "329c14766fa03136a9912b574ba7304ea3e44e6e",
      "parents": [
        "b2a6d1218c527a685c421984292c47d241cf4a11",
        "e0ac1151b360be7147fa20320c0b427688b1424f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 03 22:47:20 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 03 22:47:21 2017 +0000"
      },
      "message": "Merge \"Extend profman to generate profiles with inline caches\""
    },
    {
      "commit": "e0ac1151b360be7147fa20320c0b427688b1424f",
      "tree": "c33419b00c47b731075bcfd7b75b81f366beda91",
      "parents": [
        "425b5d23e2c60d295471817a75b1b554481c5334"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Feb 13 19:03:47 2017 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Mar 03 13:12:31 2017 -0800"
      },
      "message": "Extend profman to generate profiles with inline caches\n\nExtend profman logic to generate profiles based on a simple textual\nrespresentation. This will help writing tests for profile guided\ncompilation.\n\nBefore this CL, profman was able to generate profiles based on a list of\nclasses like:\njava.lang.Comparable\njava.lang.Math\njava.lang.Object\n\nThis CL, enables profman to understand methods and classes alike. The\nnew format is:\n\n# Classes\nLjava/lang/Comparable;\nLjava/lang/Math;\n# Methods with inline caches\nLTestInline;-\u003einlinePolymorhic(LSuper;)I+LSubA;,LSubB;,LSubC;\nLTestInline;-\u003enoInlineCache(LSuper;)I\n\n\"LTestInline;-\u003einlinePolymorhic(LSuper;)I+LSubA;,LSubB;,LSubC;\"\nmeans that method `int inlineMonomorphicSubA(Super)` from class Main\nwill be added to the profile with the inline cache (SubA,SubB) for its\none and only invoke virtual.\n\n@Main#noInlineCache:(LSuper;)I+;\nmeaning that method `int noInlineCache\u0027 from class Main will be added\nto the profile with no inline cache.\n\nNote that the methods are allowed to have a single invoke virtual in\ntheir dex bytecode. That is to keep the parsing the file format\nsimple and easy to use.\n\nAlso, add a few more tests for profiles and fix an issue caused by\nwriting the dex files in a possibly wrong order.\n\nTest: m run-test-host-gtest-profile_assistant_test\nBug: 32434870\nChange-Id: I6b7340cf613007117d9818be206ccb3a27b815bf\n"
    },
    {
      "commit": "da4e2919f0b646c628dada7300143f50b5693a77",
      "tree": "6f2336b22c78fed8ec775e425793abfaa3087703",
      "parents": [
        "455d74f7f689e2142452096e105c8a49d2b15b76",
        "7bf90484a6f3774875291e506136345f0b488976"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 03 18:25:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 03 18:25:33 2017 +0000"
      },
      "message": "Merge changes I5be41da8,Ifa4aac02\n\n* changes:\n  ART: Resolve \u003cclinit\u003e strings in compiler driver\n  ART: Resolve static field strings in compiler driver\n"
    },
    {
      "commit": "455d74f7f689e2142452096e105c8a49d2b15b76",
      "tree": "904cf16a2b7de535407660bf33decd76f9fe5708",
      "parents": [
        "5fa1773da123cf8f3a926e5a07eb56f4de5a76c0",
        "41b2f537aca2c9779e39651fb222a1132a7eff56"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 03 18:01:46 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 03 18:01:47 2017 +0000"
      },
      "message": "Merge \"Add nullptr and size check for opening a mem mapped dex file.\""
    },
    {
      "commit": "7bf90484a6f3774875291e506136345f0b488976",
      "tree": "4a8517f40094fbf42c4225bb09f7d8f255fde4f9",
      "parents": [
        "9e7078b3e5794f1b65f7e75ad110551906bf5f0d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 02 16:41:35 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Mar 03 08:58:16 2017 -0800"
      },
      "message": "ART: Resolve \u003cclinit\u003e strings in compiler driver\n\nResolve strings for \u003cclinit\u003e in classes that fail initialization.\nThis will move the data from the zygote heap into the image heap,\ncreating clean memory.\n\nIncreases the image size by XXX. However, at the same time decreases\nthe zygote heap by the same amount.\n\nBug: 34956610\nTest: m\nTest: m test-art-host\nTest: Device boots\nChange-Id: I5be41da8424d5de65c02a2aed1ac4d6113741876\n"
    },
    {
      "commit": "9e7078b3e5794f1b65f7e75ad110551906bf5f0d",
      "tree": "7104d4693a5c1b1d9dcd90f043b26ebddb22c3cb",
      "parents": [
        "3a791cee90451dc32d46f1b0a85fecc6f22f62bf"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 02 13:50:36 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Mar 03 08:55:23 2017 -0800"
      },
      "message": "ART: Resolve static field strings in compiler driver\n\nResolved strings for static final fields in classes that fail\ninitialization. This will move the data from the zygote heap into\nthe image heap, creating clean memory.\n\nIncreases the image size by ~100K. However, at the same time decreases\nthe zygote heap by the same amount.\n\nBug: 34956610\nTest: m\nTest: m test-art-host\nTest: Device boots\nChange-Id: Ifa4aac0209f2364488b164b04daa9539821bc12b\n"
    },
    {
      "commit": "5743386b4d161f3884275c66b0783bd3cc3a8050",
      "tree": "6794f8047586e7bc02702cc560bca51d1ab5bcc3",
      "parents": [
        "425b5d23e2c60d295471817a75b1b554481c5334"
      ],
      "author": {
        "name": "Tijana Jakovljevic",
        "email": "tijana.jakovljevic@imgtec.com",
        "time": "Tue Jan 17 16:59:03 2017 +0100"
      },
      "committer": {
        "name": "Tijana Jakovljevic",
        "email": "tijana.jakovljevic@imgtec.com",
        "time": "Fri Mar 03 09:36:43 2017 +0100"
      },
      "message": "MIPS64: Refactor implicit null checks in array/field get/set\n\nRationale: on MIPS64 64-bit loads and stores may be performed\nas pairs of 32-bit loads/stores. Implicit null checks must be\nassociated with the first 32-bit load/store in a pair and not\nthe last. This change ensures proper association of said checks\n(a few were done after the last 32-bit load/store in a pair)\nand lays ground for further improvements in array/field get/set.\n\nAdditionally ported to MIPS32.\n\nTest: mma test-art-target-run-test in QEMU\nTest: mma test-art-host-gtest\n\nChange-Id: If2612df62c21522959e69c637a36cc4ea962a32e\n"
    },
    {
      "commit": "41b2f537aca2c9779e39651fb222a1132a7eff56",
      "tree": "8a916e481bf5a66dd0b14d84509d5d97c3de6f2b",
      "parents": [
        "f040eca7329382d48dc2b8bfc228ee3f27c9f13d"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Mar 02 16:36:31 2017 -0800"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Mar 02 19:51:11 2017 -0800"
      },
      "message": "Add nullptr and size check for opening a mem mapped dex file.\n\nThe bug has an apk with 0 size classes.dex. When dex2oat tries to open\nthe file for layout, it crashes. This adds checks to ensure that the mem\nmap isn\u0027t null and has a sane size before opening it as a dex file.\n\nBug: 35892406\nTest: mm test-art-host\nChange-Id: I5f6b5a1e7bbccf4fe3483b68023d51436eb71805\n"
    },
    {
      "commit": "e682d901f34050b9df4d7a519abf91eb6cd61a7b",
      "tree": "ebec8276fec464702fcc9ae08e4845d683718b5c",
      "parents": [
        "f040eca7329382d48dc2b8bfc228ee3f27c9f13d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 02 09:49:03 2017 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 02 10:11:35 2017 -0800"
      },
      "message": "Fixed OatWriter checksum for raw data case\n\nThe checksum from the dex file seems to be incorrect, use the one\nfrom the OatDexFile since it matches the original dex checksum.\n\nRegression test in follow up CL.\n\nTest: test-art-host-gtest -j32\n\nBug: 35761072\nChange-Id: I79f0e720c9a2fc33286c4d4c1ef4ab9d194533a9\n"
    },
    {
      "commit": "f040eca7329382d48dc2b8bfc228ee3f27c9f13d",
      "tree": "1e30f1a97c9f3cda709ce327b07454e66e885faa",
      "parents": [
        "48b795efcb504b71fbf038fabdd3d05366793197",
        "8e02e3e77ff8ac7a80e25689750b4d329593e12a"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Mar 02 17:07:01 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 02 17:07:02 2017 +0000"
      },
      "message": "Merge \"New utilities for induction variables.\""
    },
    {
      "commit": "66b69ad6d1a2ddd38bf533a3c887c5cdaf512634",
      "tree": "d4462b96af0f0f2b28207dc6533a2b83e9b5e434",
      "parents": [
        "fddc19338d9fdee24c4e10b758db1a6997004e2e"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Fri Feb 24 00:51:44 2017 -0800"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Wed Mar 01 12:25:19 2017 -0800"
      },
      "message": "MIPS: Optimize code generation of check-cast and instance-of.\n\nThis is in preparation for read barrier support.\n\nTest: test-art-host-gtest\nTest: booted MIPS32R2 in QEMU\nTest: test-art-target\nTest: booted MIPS64 (with 2nd arch MIPS32R2) in QEMU\nTest: test-art-target (MIPS64R6 only)\n\nNote: built with ART_HEAP_POISONING\u003dtrue.\n\nChange-Id: I072ad41944a5ef390c81458c0ba49a71684cb2a9\n"
    },
    {
      "commit": "497d5266380934ac78574a2a471d3dc0d8862708",
      "tree": "9ea3933f447ba68e7c044b9bdf4bbbc72d5bd91e",
      "parents": [
        "fddc19338d9fdee24c4e10b758db1a6997004e2e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 28 20:17:30 2017 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 01 11:34:44 2017 -0800"
      },
      "message": "Handle RawData case for DexLayout\n\nFor vdex, the RawData dex file source is used. This was not\ncompatible with the existing LayoutAndWriteDexFile code. Added\nhandling to support RawData sources.\n\nWithout the handing, it was incorrectly using GetRawFile and casting\nthe dex file header to a File* causing a bogus fd number.\n\nTest: adb shell cmd package compile -a --reset\nTest: adb shell cmd package compile -a -m speed-profile\nTest: test-art-host\n\nBug: 35761072\nChange-Id: I74bdd17295479058e9245d1defb132df40fff474\n"
    },
    {
      "commit": "8e02e3e77ff8ac7a80e25689750b4d329593e12a",
      "tree": "f8201a2def0d3f9c05b05ddcb8ab338f84169ab7",
      "parents": [
        "e0aa5beef7419b8c9ab5d3dc93553ef2b30d126c"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Feb 28 14:41:55 2017 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Mar 01 11:14:05 2017 -0800"
      },
      "message": "New utilities for induction variables.\n\nRationale:\nBreak-out CL of ART Vectorizer: 2 OF many.\nThe purpose is making the original CL smaller\nand easier to review.\n\nBug: 34083438\nTest: test-art-host\nChange-Id: I46d297eba504af3850a5998ee279ea9f7b38bed8\n"
    },
    {
      "commit": "41ee103aadadfd71193157a1b850adbb91ac0d27",
      "tree": "ed73fb0cbc734c6dd3f6a35b82d8683bcda251d3",
      "parents": [
        "0058a5487cf210abbe60840e732fdc9d81f1c1e1",
        "c061de1236e98fdd34d0214a9bbcc0e2149ff226"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Mar 01 13:16:48 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 01 13:16:48 2017 +0000"
      },
      "message": "Merge \"MIPS: Implement heap poisoning in ART\u0027s Optimizing compiler.\""
    },
    {
      "commit": "331605a7ba842573b3876e14c933175382b923c8",
      "tree": "8a660cc7d1563272e747ac051b3e3e3dd2b90070",
      "parents": [
        "ec280c9a8f9c192eb6ea74fba40bfa1b668c14c1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 01 11:01:41 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 01 11:32:02 2017 +0000"
      },
      "message": "Revert \"Revert \"Intrinsify Integer.valueOf.\"\"\n\nFix heap poisoning.\nLOG INFO instead of ERROR to avoid run-test failures with --no-image.\n\nbug:30933338\nTest: ART_HEAP_POISONING\u003dtrue test-art-host test-art-target\n\nThis reverts commit db7b44ac3ea80a722aaed12e913ebc1661a57998.\n\nChange-Id: I0b7d4f1eb11c62c9a3df8e0de0b1a5d8af760181\n"
    },
    {
      "commit": "43be2a8bd53b32b382fe154f0cfe6fdb98b6786f",
      "tree": "36ad9e5d25bfeae8d8e3fea17aaa1bf355463d1b",
      "parents": [
        "3b98ccb94f140d817306b1002fafc1cac7c20da0",
        "64fa84fba1d46afd5a2dc7dc3cc1de77461888bc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 28 17:31:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 28 17:31:33 2017 +0000"
      },
      "message": "Merge \"Apply String.equals() optimizations on MIPS32 and MIPS64\""
    },
    {
      "commit": "3b98ccb94f140d817306b1002fafc1cac7c20da0",
      "tree": "3743f2cc41173b9b3306a453c929460aba64e671",
      "parents": [
        "c0ca5fd8f54f5b8361548174cadb236d01789d6d",
        "db7b44ac3ea80a722aaed12e913ebc1661a57998"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 28 17:05:11 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 28 17:05:12 2017 +0000"
      },
      "message": "Merge \"Revert \"Intrinsify Integer.valueOf.\"\""
    },
    {
      "commit": "db7b44ac3ea80a722aaed12e913ebc1661a57998",
      "tree": "ef5e6236203e04b59151b2e1b1529f9b389957b4",
      "parents": [
        "cd0b27287843cfd904dd163056322579ab4bbf27"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 28 17:04:50 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 28 17:04:50 2017 +0000"
      },
      "message": "Revert \"Intrinsify Integer.valueOf.\"\n\nHeap poisoning missing\njit-gcstress not optimizing it.\n\nbug:30933338\n\nThis reverts commit cd0b27287843cfd904dd163056322579ab4bbf27.\n\nChange-Id: I5ece1818afbca5214babb6803f62614a649aedeb\n"
    },
    {
      "commit": "e44d32542794bbc32e0aa7e3b37fc5b914e1de0a",
      "tree": "4d6a3bb364384ebf758ef068e23770389d382673",
      "parents": [
        "4cc7e8f848de11089a9b99cad549c5a2b7e275a6",
        "cd0b27287843cfd904dd163056322579ab4bbf27"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 28 14:12:33 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 28 14:12:33 2017 +0000"
      },
      "message": "Merge \"Intrinsify Integer.valueOf.\""
    },
    {
      "commit": "4cc7e8f848de11089a9b99cad549c5a2b7e275a6",
      "tree": "e43cbfc76e5b9383e3d99337d05dcd531a1af802",
      "parents": [
        "69dcdead8a6271587e0686798a26f95e92629fc1",
        "647169364c40e731ac41d5655c6315ec22e29970"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 28 12:43:06 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 28 12:43:07 2017 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Use LoadLiteral for double constants.\""
    },
    {
      "commit": "64fa84fba1d46afd5a2dc7dc3cc1de77461888bc",
      "tree": "30700997eddea7282e07520da9821e84e5e837b7",
      "parents": [
        "69dcdead8a6271587e0686798a26f95e92629fc1"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Mon Feb 27 13:14:57 2017 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Tue Feb 28 13:38:10 2017 +0100"
      },
      "message": "Apply String.equals() optimizations on MIPS32 and MIPS64\n\nAlso extended test 536-checker-intrinsic-optimization.\n\nTest: mma test-art-target-run-test in QEMU (MIPS64R6 and MIPS32R6)\nTest: mma test-art-target-run-test on CI20 (MIPS32R2)\n\nChange-Id: I6bff42f81dcb05094ac698181df16c56193bb4a8\n"
    },
    {
      "commit": "cd0b27287843cfd904dd163056322579ab4bbf27",
      "tree": "e5e1f0a8cae1f8d604123a72e3377528e4e4f333",
      "parents": [
        "0fc3e418428f9f29a52c1dd60b1d86c71eb00d18"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 23 16:18:41 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 27 23:13:20 2017 +0000"
      },
      "message": "Intrinsify Integer.valueOf.\n\nImproves performance of ArrayListStress and Ritz by ~10% and ~3%.\n\nTest: test-art-host test-art-target\nbug: 30933338\n\nChange-Id: I639046e3a18dae50069d3a7ecb538a900bb590a1\n"
    },
    {
      "commit": "cfdd3ea01ed32eb684905f886e05215aff46cd81",
      "tree": "fc981011469e249d50957cb9f42c54dd3c80ab8a",
      "parents": [
        "5adf6992b89342e8c11518ef9c8c5d2e689a336d",
        "3ae3b59e3354d1d387d216ac2fa5d481d3f2e833"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Feb 27 16:52:41 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 27 16:52:42 2017 +0000"
      },
      "message": "Merge \"SIMD type conversion for x86\""
    },
    {
      "commit": "35345a555bd7928582a7ffa6369b374b3ddc379d",
      "tree": "ef5e6236203e04b59151b2e1b1529f9b389957b4",
      "parents": [
        "e25fc07d3d3b31fe46cb02a3ed0933c7af3999fd"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Feb 27 14:32:08 2017 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Feb 27 14:33:37 2017 +0000"
      },
      "message": "Revert \"Use the \"GC is marking\" information in compiler read barriers (ARM, ARM64).\"\n\nThis reverts commit 1372c9f40df1e47bf775f1466bbb96f472b6b9ed.\n\nThis change (along with https://android-review.googlesource.com/#/c/342429/)\ncreates null pointer dereferences.\n\nBug: 35780827\nBug: 29516974\nChange-Id: I2a9c4d0ad8d2ab870c2e0ddbff32152933c77abe\n"
    }
  ],
  "next": "e25fc07d3d3b31fe46cb02a3ed0933c7af3999fd"
}
