)]}'
{
  "log": [
    {
      "commit": "dba2b19c845f6bccb43a036fa8602197c3248ff2",
      "tree": "9ba73975794017d212148ab205b1fdc050eaef8d",
      "parents": [
        "3920099f578fd8015777bc3c1c7392a08b1e08e7",
        "974bbdd24404830538f6ab1efe3062e4a411e3ae"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 23 14:52:28 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 23 14:52:29 2016 +0000"
      },
      "message": "Merge \"Relax too strong DCHECK.\""
    },
    {
      "commit": "845e5064580bd37ad5014f7aa0d078be7265464d",
      "tree": "1e621756ba6a1fd345f2fb468eed88cdc81886e7",
      "parents": [
        "a62d2f04a6ecf804f8a78e722a6ca8ccb2dfa931"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 23 06:42:05 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 23 06:42:05 2016 +0000"
      },
      "message": "Revert \"Use compiler filter to determine oat file status.\"\n\nBots are red. Tentative reverting as this is likely the offender.\n\nBug: 27689078\n\nThis reverts commit a62d2f04a6ecf804f8a78e722a6ca8ccb2dfa931.\n\nChange-Id: I3ec6947a5a4be878ff81f26f17dc36a209734e2a\n"
    },
    {
      "commit": "a62d2f04a6ecf804f8a78e722a6ca8ccb2dfa931",
      "tree": "d8624bb85016a3301b473b6503324db4d4cf24a3",
      "parents": [
        "48e722432bb6e19df7bba02427e4a707e671af06"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri Mar 18 15:05:30 2016 -0700"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Mar 22 15:38:36 2016 -0700"
      },
      "message": "Use compiler filter to determine oat file status.\n\nRecord the compiler filter in the oat header. Use that to determine\nwhen the oat file is up-to-date with respect to a target compiler\nfilter level.\n\nNew xxx-profile filter levels are added to specify if a profile should\nbe used instead of testing for the presence of a profile file.\n\nThis change should allow for different compiler-filters to be set for\ndifferent package manager use cases.\n\nBug: 27689078\nChange-Id: Id6706d0ed91b45f307142692ea4316aa9713b023\n"
    },
    {
      "commit": "48e722432bb6e19df7bba02427e4a707e671af06",
      "tree": "1e621756ba6a1fd345f2fb468eed88cdc81886e7",
      "parents": [
        "9a3c1fa119350ebd390c63cc464e0a373dd296dd",
        "0f49c82076b974f65ef37d5e72b04f5345b0d7cb"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 22 19:02:00 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 22 19:02:00 2016 +0000"
      },
      "message": "Merge \"Optimizing: Reduce GraphChecker memory usage.\""
    },
    {
      "commit": "9a3c1fa119350ebd390c63cc464e0a373dd296dd",
      "tree": "ce7b88abcb10d6039a06154f9f6ce44f99c49f0d",
      "parents": [
        "6fa06e6f5a92cd318021afad9b036126438b2de4",
        "3a40bf2fc1b9823e3bc8fcf96d5242668b5c088b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 22 18:38:46 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 22 18:38:46 2016 +0000"
      },
      "message": "Merge \"ART: Clean up arena allocation memory tracking.\""
    },
    {
      "commit": "0f49c82076b974f65ef37d5e72b04f5345b0d7cb",
      "tree": "c1729e8dcd8cae07ed6d6a9d1d6ace154837be79",
      "parents": [
        "0c25da0276f5b6f6119793ae9d45d1bca8172c2b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 22 17:51:29 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 22 18:32:17 2016 +0000"
      },
      "message": "Optimizing: Reduce GraphChecker memory usage.\n\nBug: 27690481\nChange-Id: I15ce5524d94fc1780da02e6471bede66b3a1b82a\n"
    },
    {
      "commit": "6fa06e6f5a92cd318021afad9b036126438b2de4",
      "tree": "d48878a61532d4d901d5f31c18c569cc6234242d",
      "parents": [
        "2a07b80dfbfb869aabe96c88b10e07d26c0ce137",
        "937e6cd515bbe7ff2f255c8fcd40bf1a575a9a16"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Mar 22 16:38:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 22 16:38:18 2016 +0000"
      },
      "message": "Merge \"Tighten art::HNeg type constraints on its input.\""
    },
    {
      "commit": "3a40bf2fc1b9823e3bc8fcf96d5242668b5c088b",
      "tree": "7dab31da65fc38c0b05cb236aa7722169a7d4210",
      "parents": [
        "0339bee5b1be39669606c4ba57edd42a0bacf0ff"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 22 16:26:33 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 22 16:26:33 2016 +0000"
      },
      "message": "ART: Clean up arena allocation memory tracking.\n\nRemove unused allocation types, mostly from removed Quick.\nMove logging one level up to capture memory used by stack\nmaps during AOT compilation. Raise the reporting threshold\nto 8MiB to limit the output to the worst offenders.\n\nChange-Id: I8c7a01bfa90bc8ec5eab66187eb6850a022f3543\n"
    },
    {
      "commit": "2a07b80dfbfb869aabe96c88b10e07d26c0ce137",
      "tree": "1ad4e127e6addcb050cc963a94679292b81e133d",
      "parents": [
        "db17ce13157bb2d8562d1b09682ee55fe69088e4",
        "51aff3a6564303cab0b7ac82495b4e2e349c6ff3"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Mar 22 16:19:02 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 22 16:19:02 2016 +0000"
      },
      "message": "Merge \"MIPS32: Implement UnsafeCASInt and UnsafeCASObject intrinsics.\""
    },
    {
      "commit": "1f4364d180d231a7d086eb0641deec30f71d02e6",
      "tree": "57b7f203a2e350aa3e8141953055a8bb6c8c18d1",
      "parents": [
        "0339bee5b1be39669606c4ba57edd42a0bacf0ff",
        "796d63050a18f263b93ea34951a61deaecab3422"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 22 15:34:36 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 22 15:34:36 2016 +0000"
      },
      "message": "Merge \"Add an ImtConflictTable to better resolve IMT conflicts.\""
    },
    {
      "commit": "796d63050a18f263b93ea34951a61deaecab3422",
      "tree": "813865c31b25ac06006e4ee3932b4e918c708c9b",
      "parents": [
        "eecf60d51b481647c8508f22b3d6ce437773ea0c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Mar 13 22:22:31 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 22 15:17:58 2016 +0000"
      },
      "message": "Add an ImtConflictTable to better resolve IMT conflicts.\n\n- Attach a ImtConflictTable to conflict runtime ArtMethod.\n- Initially 0, a new one will be created at the first hit of\n  the conflict method.\n- If the assembly code does not find a target method in the table,\n  we will create a new one again, copying the data from the previous\n  table and adding the new mapping.\n\nImplemented for arm/arm64/x86/x64.\n\nbug:27556801\nbug:24769046\n\nChange-Id: Ie74d1c77cf73d451a1142bdc5e3683f9f84bb4e7\n"
    },
    {
      "commit": "974bbdd24404830538f6ab1efe3062e4a411e3ae",
      "tree": "c9e2626c13db544634388d872ebd65bf94b7c1a2",
      "parents": [
        "459898dc4470559ba1e1d578bc52a914d1f573f5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 22 15:12:07 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 22 15:13:04 2016 +0000"
      },
      "message": "Relax too strong DCHECK.\n\nThere may be a lifetime hole in the interval, which means the interval\ndoes not cover the given position.\n\nbug:27617589\n\nChange-Id: Iabd2b3d82936bed498f87be1a01760210954f97e\n"
    },
    {
      "commit": "0e2f2ff383ecc08aabb83c62670324ee2ca28bc1",
      "tree": "144235012371f13abd5c19029bc53a1be171f12d",
      "parents": [
        "0c25da0276f5b6f6119793ae9d45d1bca8172c2b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 22 12:31:54 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 22 12:31:54 2016 +0000"
      },
      "message": "Optimizing: Fix a new valgrind error in image_test.\n\nBug: 27651442\nBug: 27151098\nChange-Id: I23a428be68ccf9f9557df01ee7e920eeeb8da2ba\n"
    },
    {
      "commit": "937e6cd515bbe7ff2f255c8fcd40bf1a575a9a16",
      "tree": "90660b3d679cfbd87327e9cda5c783128f1b9a92",
      "parents": [
        "1153282aa91292b740289ab7612a481e5c6bc167"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Mar 22 11:54:37 2016 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Mar 22 11:54:37 2016 +0000"
      },
      "message": "Tighten art::HNeg type constraints on its input.\n\nEnsure art::HNeg is only passed a type having the kind of\nits input.  For a boolean, byte, short, or char input, it\nmeans HNeg\u0027s type should be int.\n\nBug: 27684275\nChange-Id: Ic8442c62090a8ab65590754874a14a0deb7acd8d\n"
    },
    {
      "commit": "2fac35e21a3c0a0510cb1e5a824cf2cf4e4097ac",
      "tree": "a0d7bb80ce319ccc4157a400eabe53ff6a6db40b",
      "parents": [
        "988a8ff4c8ee3239096c877151bdf0359bf9411e",
        "3c94f0945ed596ceee39783fa075f013b65e80a1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 22 09:41:41 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 22 09:41:41 2016 +0000"
      },
      "message": "Merge \"Remove Quick from tree.\""
    },
    {
      "commit": "51aff3a6564303cab0b7ac82495b4e2e349c6ff3",
      "tree": "783344fdc2f757a8fce4ac1b565e2b2798415d2d",
      "parents": [
        "6a329292736c3dd74e9c8cb319c2a233d07fe524"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Thu Mar 17 17:21:45 2016 -0700"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Mon Mar 21 15:23:42 2016 -0700"
      },
      "message": "MIPS32: Implement UnsafeCASInt and UnsafeCASObject intrinsics.\n\nChange-Id: Ie871763b9a36075fd3d70ee6e2e241ae1ccc36cf\n"
    },
    {
      "commit": "0d345cf8db01f40db250f80de5104e0df24234fa",
      "tree": "ebeac7adff399e908e5dcd3c855505ed02fe72b8",
      "parents": [
        "4485c6964ad414d5c6d0535622cfad1c0a6b640f"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Mar 16 10:49:38 2016 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Mar 21 12:53:33 2016 -0700"
      },
      "message": "Generalize induction and range analysis across type conversions.\n\nRationale:\nThis changelist implements allowing narrowing conversions within\ninductions and loop control. More induction and loops recognized,\nmore bounds eliminated. We all win. The basic idea is pretty simple\n(record type with detected induction) but one has to get all the\ndetails right, as illustrated by the many new unit tests.\n\nBUG\u003d27151098\n\nChange-Id: I254020bfa5fa623799b31bbbb5ccc97d4d5a0100\n"
    },
    {
      "commit": "4485c6964ad414d5c6d0535622cfad1c0a6b640f",
      "tree": "65334acd5b351ea6e854a32a72a93f76c71e481c",
      "parents": [
        "162629ee8ac0fee2df0c0cdec27dff34bc6f0062",
        "9894fc8079a5c6eb72e04099bdbd3239b75cf491"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 21 19:37:48 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 21 19:37:48 2016 +0000"
      },
      "message": "Merge \"Disable LZ4HC compressed images\""
    },
    {
      "commit": "9894fc8079a5c6eb72e04099bdbd3239b75cf491",
      "tree": "e844552eb54f71bc320efe5ddee1d0aaeb277c5d",
      "parents": [
        "7c06aef061fa176331b77a88c1ff2c6ae401a5f0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 17 19:19:15 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 21 11:25:23 2016 -0700"
      },
      "message": "Disable LZ4HC compressed images\n\nSeem to get randomly compressed incorrectly on volantis. Added\nverifiation in the image writer.\n\nUsing LZ4HC now silently uses LZ4. This is still safe since both use\nthe same decompression code.\n\nBug: 27560444\n\nChange-Id: I652eee7498dc84994993be3a5b0447ec5b246304\n"
    },
    {
      "commit": "3c94f0945ed596ceee39783fa075f013b65e80a1",
      "tree": "c10b5808a5d7157371c2750823e6a168c73aa231",
      "parents": [
        "162629ee8ac0fee2df0c0cdec27dff34bc6f0062"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 21 17:10:24 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 21 17:39:20 2016 +0000"
      },
      "message": "Remove Quick from tree.\n\nSo long, old friend.\n\nChange-Id: I0241c798a34b92bf994fed83888da67d6e7f1891\n"
    },
    {
      "commit": "162629ee8ac0fee2df0c0cdec27dff34bc6f0062",
      "tree": "ae93cdca5de17799d707fb72e253366e13bb67f7",
      "parents": [
        "3890e85aaab150bc0a5e116be762c786c882e1ec",
        "f6a35de9eeefb20f6446f1b4815b4dcb0161d09c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 21 17:36:44 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 21 17:36:44 2016 +0000"
      },
      "message": "Merge \"Optimizing: Fix register allocator validation memory usage.\""
    },
    {
      "commit": "f6a35de9eeefb20f6446f1b4815b4dcb0161d09c",
      "tree": "cf484acbd6889b92a7fe3e8615611129088c3894",
      "parents": [
        "459898dc4470559ba1e1d578bc52a914d1f573f5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 21 12:01:50 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 21 16:50:08 2016 +0000"
      },
      "message": "Optimizing: Fix register allocator validation memory usage.\n\nAlso attribute ArenaBitVector allocations to appropriate\npasses. This was used to track down the source of the\nexcessive memory alloactions.\n\nBug: 27690481\n\nChange-Id: Ib895984cb7c04e24cbc7abbd8322079bab8ab100\n"
    },
    {
      "commit": "ae207dbf2cb73ef3cfff6dd5c502920dee4d4366",
      "tree": "0f765167e642c285d26d45ede2dd5a4f5e008f0b",
      "parents": [
        "73139dd7c12906975e835ae6e6707266626fed2a",
        "4fdc6d9eff2d4654d13cb24e43f341d393aba1c5"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Mar 21 15:18:43 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 21 15:18:43 2016 +0000"
      },
      "message": "Merge \"MIPS32: sun.misc.Unsafe get/put intrinsics.\""
    },
    {
      "commit": "459898dc4470559ba1e1d578bc52a914d1f573f5",
      "tree": "dfe8ec841ccced18996f1a1100d0181b9ff4e597",
      "parents": [
        "3cf5f5ccdb32d035f021dcef11222092b8d20b0b",
        "ab5327d3d57d0d3561e697f196da7f2ee2e50290"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 21 11:38:27 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 21 11:38:27 2016 +0000"
      },
      "message": "Merge \"Check if the type of an instruction is erroneous before inlining.\""
    },
    {
      "commit": "3cf5f5ccdb32d035f021dcef11222092b8d20b0b",
      "tree": "e483bbd974c75c240bd93d92d44d21ef26de8c84",
      "parents": [
        "0d0796eb5db4cbc51fd826b370595ba6871264a1",
        "b1d91574f80a1d7944c1d32d6e368a8c7f004b4b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 21 11:27:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 21 11:27:11 2016 +0000"
      },
      "message": "Merge \"Call HuntForOriginalReference to get to the null.\""
    },
    {
      "commit": "ab5327d3d57d0d3561e697f196da7f2ee2e50290",
      "tree": "ab08ed0f15b8166140baeabd7d4c96239b6a9037",
      "parents": [
        "e4914ec0d83544243257e55d0f0b9da3ed7f147a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 18 11:36:20 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 21 11:23:28 2016 +0000"
      },
      "message": "Check if the type of an instruction is erroneous before inlining.\n\nWe can get HInstructions typed with a class that is in an error state.\nFor such classes, we cannot look at the vtable or imt table as they\nare not cleanly populated.\n\nbug:27683927\n\nChange-Id: I0d64ca470e1cb6cf9b40e9f02bb9b0bb12c2bac1\n"
    },
    {
      "commit": "b1d91574f80a1d7944c1d32d6e368a8c7f004b4b",
      "tree": "7c5411ff6689ebae5271ab264d46440b0d5cca06",
      "parents": [
        "7c06aef061fa176331b77a88c1ff2c6ae401a5f0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 18 16:25:38 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 21 10:30:56 2016 +0000"
      },
      "message": "Call HuntForOriginalReference to get to the null.\n\nThe null constant might be hiding under a HBoundType\n(which we could clean up in instruction simplifier, but\nthat is orthogonal).\n\nbug:27683874\nChange-Id: Ide8ec5bcd439ec0fca5e54175ebeedc5a9f679a3\n"
    },
    {
      "commit": "a807780b1d8ee01dfb03923c673621b4c81ac858",
      "tree": "ef7485dca9ad8375559524d74b7c4971d6f088fa",
      "parents": [
        "895375bb30716a488bf7b8234e900d1e15de1d21"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 16 19:08:31 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 18 15:21:08 2016 -0700"
      },
      "message": "Add verify-profile compiler filter\n\nOnly verifies and dex2dex compiles classes in the profile. Goal\nis to reduce application launch time.\n\n~2x faster than interpret-only for Facebook.\n\nBug: 27688727\n\n(cherry picked from commit a079e3aa62cceb76c1c1811e6e09bcaf75e20289)\n\nChange-Id: Iad5aa1adee3aa6c2408820e8cbbab2d4412021b8\n"
    },
    {
      "commit": "38ceb62339514a8012695673b9e1110d13546f02",
      "tree": "9505047a0de423a270bd40cd13308f3fe5ce8557",
      "parents": [
        "b1aff6c7f248632028b6a62a17f02675007c9ce3",
        "22c4922c6b31e154a6814c4abe9015d9ba156911"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 18 16:16:41 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 18 16:16:41 2016 +0000"
      },
      "message": "Merge \"Ensure art::HRor support boolean, byte, short and char inputs.\""
    },
    {
      "commit": "22c4922c6b31e154a6814c4abe9015d9ba156911",
      "tree": "8e871f67e327322d24d0c2e4588b165005414077",
      "parents": [
        "0205b58a0d7a9ce5832393857c19c086c78996e9"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 18 14:04:28 2016 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 18 14:04:28 2016 +0000"
      },
      "message": "Ensure art::HRor support boolean, byte, short and char inputs.\n\nAlso extend tests covering the IntegerRotateLeft,\nLongRotateLeft, IntegerRotateRight and LongRotateRight\nintrinsics and their translation into an art::HRor\ninstruction.\n\nBug: 27682579\nChange-Id: I89f6ea6a7315659a172482bf09875cfb7e7422a1\n"
    },
    {
      "commit": "e943c3b831dc0da4a6b09e940ae25c3285850e96",
      "tree": "b4756bbc16f49d50087a881b40722657451e6eac",
      "parents": [
        "7c06aef061fa176331b77a88c1ff2c6ae401a5f0",
        "d28f4a00933a4a3b8d5e9db73b8532924d0f989d"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 18 12:37:03 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 18 12:37:03 2016 +0000"
      },
      "message": "Merge \"Generate native debug stackmaps before calls as well.\""
    },
    {
      "commit": "d28f4a00933a4a3b8d5e9db73b8532924d0f989d",
      "tree": "1205844a68ee9e2c502f8ecbfd2d5cf96acd4190",
      "parents": [
        "fbc61e19578d281d05728bcd120e1ace57c2fbd8"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Mar 14 17:14:24 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Mar 17 16:58:55 2016 +0000"
      },
      "message": "Generate native debug stackmaps before calls as well.\n\nThe debugger looks up PC of the call instruction, so the runtime\u0027s\nstackmap is not sufficient since it is at PC after the instruction.\n\nChange-Id: I0dd06c0b52e8079ea5d064ea10beb12c93584092\n"
    },
    {
      "commit": "0397163516fb882589c5be734439dedfe4d271fb",
      "tree": "2a9ffbf2cb65aa28e8ec5d298f97d81c16d2408f",
      "parents": [
        "0205b58a0d7a9ce5832393857c19c086c78996e9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 17 10:44:24 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 17 13:24:10 2016 +0000"
      },
      "message": "Fix load store elimination bug in the presence of null[i].\n\nDue to the dex specification, we can be in a state where\ntwo array get with the same dex register inputs are typed\ndifferently.\n\nbug:27683874\n\nChange-Id: Ia821fd32e86c306093372249e7686332a7584263\n"
    },
    {
      "commit": "4fdc6d9eff2d4654d13cb24e43f341d393aba1c5",
      "tree": "1621d7f77ddd83445c2841309f77952cbf844f7e",
      "parents": [
        "9ee48fbf7395488ea34d7d268edb31d7abe4ebe9"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Mon Dec 14 13:26:14 2015 -0800"
      },
      "committer": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Wed Mar 16 16:15:27 2016 -0700"
      },
      "message": "MIPS32: sun.misc.Unsafe get/put intrinsics.\n\n- int sun.misc.Unsafe.getInt(Object o, long offset)\n- int sun.misc.Unsafe.getIntVolatile(Object o, long offset)\n- long sun.misc.Unsafe.getLong(Object o, long offset)\n- long sun.misc.Unsafe.getLongVolatile(Object o, long offset)\n- Object sun.misc.Unsafe.getObject(Object o, long offset)\n- Object sun.misc.Unsafe.getObjectVolatile(Object o, long offset)\n- void sun.misc.Unsafe.putInt(Object o, long offset, int x)\n- void sun.misc.Unsafe.putOrderedInt(Object o, long offset, int x)\n- void sun.misc.Unsafe.putIntVolatile(Object o, long offset, int x)\n- void sun.misc.Unsafe.putObject(Object o, long offset, Object x)\n- void sun.misc.Unsafe.putOrderedObject(Object o, long offset, Object x)\n- void sun.misc.Unsafe.putObjectVolatile(Object o, long offset, Object x)\n- void sun.misc.Unsafe.putLong(Object o, long offset, long x)\n- void sun.misc.Unsafe.putOrderedLong(Object o, long offset, long x)\n- void sun.misc.Unsafe.putLongVolatile(Object o, long offset, long x)\n\nChange-Id: I89c07a443ee81a5573a083e871b82f446416b71f\n"
    },
    {
      "commit": "8e57978b5f330a322f05644c2db7fa8ce89b1b46",
      "tree": "0e61b8eda07900e22f4fa1e19795485460677b2f",
      "parents": [
        "03fdc90721a1874a4aef9adfd8fc1b9b4b4bc249",
        "346dc993615487e9c645a515dfcbf9a6488f36fe"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Mar 16 17:54:52 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 16 17:54:52 2016 +0000"
      },
      "message": "Merge \"Remove --native-debuggable compiler option.\""
    },
    {
      "commit": "03fdc90721a1874a4aef9adfd8fc1b9b4b4bc249",
      "tree": "d8228731e1d42c24d303ee37e7c56134bc840448",
      "parents": [
        "1a738fc659a7b91456b168d2ee1edcd9eb777569",
        "a5c4a4060edd03eda017abebc85f24cffb083ba7"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Mar 16 17:54:34 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 16 17:54:34 2016 +0000"
      },
      "message": "Merge \"Make art::HCompare support boolean, byte, short and char inputs.\""
    },
    {
      "commit": "346dc993615487e9c645a515dfcbf9a6488f36fe",
      "tree": "adf8006d2786c31cae282161491ab7c8f2cc3b2b",
      "parents": [
        "fbc61e19578d281d05728bcd120e1ace57c2fbd8"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sun Mar 13 22:00:07 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Mar 16 17:24:17 2016 +0000"
      },
      "message": "Remove --native-debuggable compiler option.\n\nCheck if both --debuggable and --generate-debug-info are set instead.\n\nHistory: I have recently added the --native-debuggable flag to control\nwhether extra stack maps are generated in order to produce accurate\nnative line number mapping of all generated code. I didn\u0027t want to\ninclude it into --debuggable since we compile boot.oat as debuggable\nand so it would be affected.\n\nOn second thought, it would have been reasonable to generate the extra\nstackmaps only if both --debuggable and --generate-debug-info are set,\ninstead of introducing another compiler flag. This means we do not\naffect boot.oat but we still get the extra stack maps if DWARF debug\ninformation is explicitly requested.\n\nChange-Id: I7e5e557e4850a88b3b6f86178d2cb645fb1e1110\n"
    },
    {
      "commit": "a17245013e17621ff1a629ab164a1284e2258ad0",
      "tree": "f39105d2bb8c885cd0624c678159272473e308e2",
      "parents": [
        "8b5e04b3573f430dc0475c17f4b3c6ada8aaccf5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 16 17:01:39 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 16 17:01:39 2016 +0000"
      },
      "message": "Forgot space.\n\nChange-Id: If9eced6d5bd6d8d0248bad0e7b12095fb5a84d26\n"
    },
    {
      "commit": "8b5e04b3573f430dc0475c17f4b3c6ada8aaccf5",
      "tree": "584efbc108d09817c62e45dbf5638a50bce58e00",
      "parents": [
        "713c519db15aaa8d6f33b744fd28adddb97a07c2",
        "44fd0e5e9cc384783398b1f3ad85937aa856651c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 16 16:58:22 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 16 16:58:22 2016 +0000"
      },
      "message": "Merge \"Fix inliner crash related to type propagation.\""
    },
    {
      "commit": "a5c4a4060edd03eda017abebc85f24cffb083ba7",
      "tree": "85f69512d33c19d82e172a490a241f3a17d66560",
      "parents": [
        "713c519db15aaa8d6f33b744fd28adddb97a07c2"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Mar 15 15:02:50 2016 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Mar 16 16:49:36 2016 +0000"
      },
      "message": "Make art::HCompare support boolean, byte, short and char inputs.\n\nAlso extend tests covering the IntegerSignum, LongSignum,\nIntegerCompare and LongCompare intrinsics and their\ntranslation into an art::HCompare instruction.\n\nBug: 27629913\nChange-Id: I0afc75ee6e82602b01ec348bbb36a08e8abb8bb8\n"
    },
    {
      "commit": "44fd0e5e9cc384783398b1f3ad85937aa856651c",
      "tree": "60414c63cdc0d2d84abc92ad8eb9fa8379bc32b9",
      "parents": [
        "767c3b9779cfa877867ba0e8b9f66a726cf24ecf"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 16 15:16:06 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 16 15:17:55 2016 +0000"
      },
      "message": "Fix inliner crash related to type propagation.\n\n- Do not agressively try to resolve a return type.\n- Deal with unresolved return type.\n\nbug:25492619\n\nChange-Id: Idc9c96a0b376fe5ee86b411c02ce7078c7f48c84\n"
    },
    {
      "commit": "914d71ead70bb6f2084b2ed39a9fd58fd014f67d",
      "tree": "50f30d6e47d18aa6c3ccec9f05727b4898268b20",
      "parents": [
        "1583e624d4c970d8e571b265b9a8f08402d91f82",
        "2ae48182573da7087bffc2873730bc758ec29696"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Mar 16 14:40:08 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 16 14:40:08 2016 +0000"
      },
      "message": "Merge \"Clean up NullCheck generation and record stats about it.\""
    },
    {
      "commit": "1583e624d4c970d8e571b265b9a8f08402d91f82",
      "tree": "fdde737540eca3e692caa85f98821a0cbef9f840",
      "parents": [
        "532da65d01f13facd261367beb34ee41146671d4",
        "6915898b28cea6c9836ca1be6814d87e89cc6d76"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Mar 16 14:39:49 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 16 14:39:49 2016 +0000"
      },
      "message": "Merge \"Improve compiler stats\""
    },
    {
      "commit": "933330a192d43d7c7304120999907857a89c2f96",
      "tree": "a413b4df2a4b9fdb804983204168ee23cd9c9eb7",
      "parents": [
        "f808e8a0cc218c2b98023ef0e91f3c5b74ad2962"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 16 14:20:06 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 16 14:20:26 2016 +0000"
      },
      "message": "Add more statistics for memory use of the JIT.\n\nCollect data for stack maps, profiling info, and compiled code.\n\nbug:27520994\n\nChange-Id: Ic87361230c96ce0090027a37d750e948d806c597\n"
    },
    {
      "commit": "2ae48182573da7087bffc2873730bc758ec29696",
      "tree": "d6955329ad876aefd477f7ef8905b070b9ab95dd",
      "parents": [
        "6915898b28cea6c9836ca1be6814d87e89cc6d76"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Mar 16 14:05:09 2016 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Mar 16 14:10:27 2016 +0000"
      },
      "message": "Clean up NullCheck generation and record stats about it.\n\nThis removes redundant code from the generators and allows for easier\nstat recording.\n\nChange-Id: Iccd4368f9e9d87a6fecb863dee4e2145c97851c4\n"
    },
    {
      "commit": "6915898b28cea6c9836ca1be6814d87e89cc6d76",
      "tree": "89eb0f498a958b72d78c8aee25b4de212c25348b",
      "parents": [
        "fbc61e19578d281d05728bcd120e1ace57c2fbd8"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Mar 16 11:53:41 2016 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Mar 16 14:07:22 2016 +0000"
      },
      "message": "Improve compiler stats\n\n- report the max size of arena alloc\n- report how many virtual or interface invokes were inlined\n\nChange-Id: I82f154a8e25b5e3890181a1aa11346cdc3f93e37\n"
    },
    {
      "commit": "f808e8a0cc218c2b98023ef0e91f3c5b74ad2962",
      "tree": "231dfcf6641c0a4349a959b06ca02add86666a6e",
      "parents": [
        "576a13ab2f1bc82e72245db5fbb4dd8587b19bf1",
        "a4f81546373f4cb5fa6dfc135307ee0a1d930872"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 16 11:19:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 16 11:19:18 2016 +0000"
      },
      "message": "Merge \"Collect memory use for the JIT.\""
    },
    {
      "commit": "a4f81546373f4cb5fa6dfc135307ee0a1d930872",
      "tree": "bfc592fc0ec418ac8bbc270a31c6e741849c3276",
      "parents": [
        "e70cda6147e2e49384a219b167a6c734a8db28f5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 08 16:57:48 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 16 11:16:49 2016 +0000"
      },
      "message": "Collect memory use for the JIT.\n\nbug:27520994\n\nChange-Id: I67b0c5b822001bfde8738a988c1ade69f1a26e3f\n"
    },
    {
      "commit": "e5671618d19489ad0781ec0d204c7765317170cf",
      "tree": "317d451ebf639f89e91d4c1e482d950579da0a0f",
      "parents": [
        "d35f4a2eacf9ee9c9d75bb0c00eec7ae31ad1949"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 16 11:03:54 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 16 11:14:20 2016 +0000"
      },
      "message": "Accept boolean as an input of HDivZeroCheck.\n\nAll our arithmetic operations accept it.\n\nbug:27624718\nChange-Id: I1f6bb95dc77ecb3fb2fcabb35a93b31c524bfa0a\n"
    },
    {
      "commit": "3e906819c33d19c9586ecd9441f0ffb8433f2bad",
      "tree": "77b91c120c37cb149fa4740b6f677194c2706605",
      "parents": [
        "d9ebad9b52605ed785222a86c84e58fa7cb66686",
        "1693a1f9c83a0bf5a29fa18ddc2d87e04e049233"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Mar 16 10:12:39 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 16 10:12:39 2016 +0000"
      },
      "message": "Merge \"Make art::HCompare side effect free.\""
    },
    {
      "commit": "4d20c081ec372a5ec2a405e9ac4521fe09148922",
      "tree": "be2cf629aee4d1138f4337851ac5e135505a9243",
      "parents": [
        "553ed05100f079203371da55e8a9d824b8e9948e",
        "949e54dec11582cb9bb96f0d68e6485dd20336f1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 16 09:19:39 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 16 09:19:40 2016 +0000"
      },
      "message": "Merge \"Fix HDoubleConstant::IsZero and HFloatConstant::IsZero.\""
    },
    {
      "commit": "5b1805357b80d780d6afc9e2c70c6544c7ac7e2f",
      "tree": "696a474d54a35b974d51cefff24d961f98e57e7b",
      "parents": [
        "12af36e09116dc677820f98e33ff2982e07d652a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 15 18:11:50 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 15 18:11:50 2016 +0000"
      },
      "message": "ART: Fix shift simplification, x \u003e\u003e\u003e 64.\n\nFix braino in\n    https://android-review.googlesource.com/208199\n\nBug: 27638111\nChange-Id: I8f12008af8bba943664c8a9eac3f2d2f7c820e79\n"
    },
    {
      "commit": "12af36e09116dc677820f98e33ff2982e07d652a",
      "tree": "13db975669b15ed3a3b3e85a0bb387d904335024",
      "parents": [
        "6ce4766f13326bdf704b5205bfbda2c7dfbc72ae",
        "d9813cb37254a72b08424359c7ef80f6a2136a74"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 15 17:03:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 15 17:03:18 2016 +0000"
      },
      "message": "Merge \"ART: Fix valgrind failure in image_test64.\""
    },
    {
      "commit": "949e54dec11582cb9bb96f0d68e6485dd20336f1",
      "tree": "24e65c8fb3907d7e9c4d2effadb67c0ed2ea0a29",
      "parents": [
        "51b7e2d08f2bcf528eeec48b42c178b5550f6635"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 15 16:23:04 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 15 16:23:04 2016 +0000"
      },
      "message": "Fix HDoubleConstant::IsZero and HFloatConstant::IsZero.\n\nbug:27639313\nChange-Id: I2f30a65a07662dfce0a6d6f4ed356a8a0b3dcdef\n"
    },
    {
      "commit": "164306e779de522efba7df637618a8eeed9e37ac",
      "tree": "6ceddd6879870272d6bef39026c36212ce6854df",
      "parents": [
        "5681b6638b0001c62d02795b0853e2e82787edf1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 15 14:57:32 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 15 15:25:39 2016 +0000"
      },
      "message": "Optimizing: Improve shift simplification, x \u003e\u003e\u003e 64.\n\nSimplify shifts by a multiple of bit size, not just 0.\nARM codegen does not expect to see such shifts and it\nis guarding against them with a DCHECK().\n\nBug: 27638111\nChange-Id: I3ae8383d7edefa0facd375ce511e7a226d5468a1\n"
    },
    {
      "commit": "1693a1f9c83a0bf5a29fa18ddc2d87e04e049233",
      "tree": "ab8d99220352e3f6ce2501963ba81943089f0df5",
      "parents": [
        "51b7e2d08f2bcf528eeec48b42c178b5550f6635"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Mar 15 14:57:31 2016 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Mar 15 14:57:31 2016 +0000"
      },
      "message": "Make art::HCompare side effect free.\n\nAll our back ends implement all comparisons without making a\nruntime call, so we can mark art::HCompare as a side effect\nfree instruction unconditionally.\n\nChange-Id: I9a9e7c09156c642edb6af1fe84408f887e762f2e\n"
    },
    {
      "commit": "d9813cb37254a72b08424359c7ef80f6a2136a74",
      "tree": "006621a324a56508f2792e722a7b901cfe474175",
      "parents": [
        "5681b6638b0001c62d02795b0853e2e82787edf1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 15 12:41:27 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 15 13:24:11 2016 +0000"
      },
      "message": "ART: Fix valgrind failure in image_test64.\n\nExplicitly clear LengthPrefixedArray\u003cArtMethod\u003e padding\nin ImageWriter. This also removes a potential source of\nnon-deterministic data in compiled boot image.\n\nBug: 26687569\nBug: 27552451\nChange-Id: Icf4bf34c9ea5b3159462760fbf556d287841191d\n"
    },
    {
      "commit": "24bd89559c177af9e342f0d5a64a0a2855dfb887",
      "tree": "eeacbc6d65b62dc018193b9440112ebbc4e3341e",
      "parents": [
        "51b7e2d08f2bcf528eeec48b42c178b5550f6635"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 15 10:40:33 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 15 10:43:13 2016 +0000"
      },
      "message": "Optimizing: Prevent potential valgrind error.\n\nThis CL preemptively extends the workaround from\n    https://android-review.googlesource.com/208230\nto an almost identical bit of code.\n\nBug: 27651442\nChange-Id: I7683d42b46b16f2293916defc6ef1d871dc9af6c\n"
    },
    {
      "commit": "51b7e2d08f2bcf528eeec48b42c178b5550f6635",
      "tree": "4f9a10a6457502e093daae5fbf73a0983f75d760",
      "parents": [
        "ea9aa3ff937a6fdda0aa51df50b64b9ab7c22634",
        "a65ed3045ec2df95a30994752b3fb0576f479354"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 15 09:51:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 15 09:51:10 2016 +0000"
      },
      "message": "Merge \"Optimizing: Fix valgrind error in image_test64.\""
    },
    {
      "commit": "5ee830173bd5d1de3e1e0581e405a910a3089e73",
      "tree": "72c19660604f8adb5c1533f7310a13e1617fbbe3",
      "parents": [
        "d3c8fe76adf3d1447067f2631e7d6ead139ed152",
        "1ae88747200931a0feaacf3d17a926c5abf70593"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Mar 15 02:40:15 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 15 02:40:15 2016 +0000"
      },
      "message": "Merge \"Fixed bug in BCE, with regression test.\""
    },
    {
      "commit": "0b4cbd0c2a75b47ae09d21e5d73d2b1709cb5b9e",
      "tree": "72572a01a181c12272a5570ae8b4d41e9ef553f8",
      "parents": [
        "c3214fbb66b5f4c436c44d027df5046c803f6432"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Mar 08 16:49:58 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 14 17:07:11 2016 -0700"
      },
      "message": "Add oatdump support for app images\n\nExample usage on host:\noatdumpd --app-oat\u003dart/plus32.odex --app-image\u003dart/plus32.art\n--image\u003dart/oats/system@framework@boot.art --instruction-set\u003darm\n\nTODO: Add to oatdump test.\n\nBug: 27408512\nBug: 22858531\n\n(cherry picked from commit bcb6a72569a1401b36a3ad3b6aa4d13e29966cf0)\n\nChange-Id: I9d1aa7eaa16795e5fbabc6974d245849e16b1d03\n"
    },
    {
      "commit": "1ae88747200931a0feaacf3d17a926c5abf70593",
      "tree": "45d3adb01123d2c39821c80bbb2cc207f5801f9c",
      "parents": [
        "0b2c1922cc29a7939f747f60d80240a9fb22547c"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Mar 14 14:11:26 2016 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Mar 14 15:58:50 2016 -0700"
      },
      "message": "Fixed bug in BCE, with regression test.\n\nThe fix is twofold:\n(1) Ensure that bound checks are never eliminated more than once\n    to guard against any conceivable situation in which the same\n    bounds check appears multiple times in array length use list.\n(2) Specially reject BoundsCheck(x,x) since that always goes OOB.\n\nBUG\u003d27628526\n\nChange-Id: I399ec4254323e0cfcd0a68898f403cfab7b35135\n"
    },
    {
      "commit": "a65ed3045ec2df95a30994752b3fb0576f479354",
      "tree": "c566a5bcfdf9ad9717f82aea809c88a253cb6960",
      "parents": [
        "11ad2523557c35acfbf829aa203d14914e61884e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 14 21:21:29 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 14 21:22:49 2016 +0000"
      },
      "message": "Optimizing: Fix valgrind error in image_test64.\n\nBug: 27651442\nChange-Id: Id9b80c6015dbc3b82966766ca4ad010be770f116\n"
    },
    {
      "commit": "625090fe9bf47d8d735c9a66cbf491de3a3e3765",
      "tree": "9bf994303cf2491ec9c676d558f3bce97b46cdb7",
      "parents": [
        "70bc6de7e27dd7d82a2bac6685e0f3096df07b83"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 14 18:00:05 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 14 19:01:16 2016 +0000"
      },
      "message": "Optimizing: Fix TypeConversion(And(x, const)) simplification.\n\nAvoid introducing implicit conversions when simplifying the\nexpression TypeConversion(And(x, const)). Previously, when\nwe dropped the And, we could end up with a TypeConversion to\nthe same type which should be eliminated on subsequent pass\nof the block\u0027s instructions; however, a subsequent dependent\nTypeConversion in the same block would be processed earlier\nand we would unexpectedly see its input as the conversion to\nthe same type, failing a DCHECK().\n\nBug: 27626509\nChange-Id: I5874a9ceafbf635cf3391beea807ede8468ab5c3\n"
    },
    {
      "commit": "70bc6de7e27dd7d82a2bac6685e0f3096df07b83",
      "tree": "a3c251eb836a6e48fe6b104952e2502ad7bd8c5c",
      "parents": [
        "e70cda6147e2e49384a219b167a6c734a8db28f5",
        "b75878e9dd1cfae1a0387fffe7716102522b41e8"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 14 17:42:19 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 14 17:42:19 2016 +0000"
      },
      "message": "Merge \"Optimizing: Do not re-record standby checks for dynamic BCE.\""
    },
    {
      "commit": "fbc61e19578d281d05728bcd120e1ace57c2fbd8",
      "tree": "50ac061fada6da7fe79ec7e5e8d2b65f079e30da",
      "parents": [
        "7f77eb485810a64cde897933677d9a0e44588647",
        "2fdd03c982386e1d13aed9f1b51e1f0eee237971"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Mar 14 14:19:40 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 14 14:19:40 2016 +0000"
      },
      "message": "Merge \"Add symbolizer option to generate debug information only.\""
    },
    {
      "commit": "b75878e9dd1cfae1a0387fffe7716102522b41e8",
      "tree": "c9ec3cfad4c7b1a5ac9288de1e89f3c4f1f87a3a",
      "parents": [
        "fb8932eec4c09c34dfe759ba151e751293245c0d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 14 13:56:02 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 14 13:59:44 2016 +0000"
      },
      "message": "Optimizing: Do not re-record standby checks for dynamic BCE.\n\nAdding the checks to the standby vector invalidates the\nvector storage used by range-based loop in the\nBCEVisitor::Finish() as exposed by valgrind in image_test.\n\nBug: 27597089\nChange-Id: Ib0f0e8cdfdb7211a64a26836e085cb99fb2ce8b8\n"
    },
    {
      "commit": "d89f605b1de929ae158b3844e44a5d57f7aad72d",
      "tree": "a700380294513e8e6878acd3b89292ca1c203d48",
      "parents": [
        "e717e2c2c436da1d6daa572bd3142e34aef25b1c"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sat Mar 12 21:10:04 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sat Mar 12 21:38:50 2016 +0000"
      },
      "message": "Ignore empty maps when emitting DWARF variable locations.\n\nThis is rewrite of https://android-review.googlesource.com/#/c/202115\n\nThe aim in both cases is to avoid gaps in generated locations.\n(which helps to keep the size of the generated DWARF down).\n\nHowever, the previous CL was a bit too eager with extending of\nvariable scope and reporting locations. We might have reported\nvariable in scope when in fact, it was not.\n\nThis CL implements simpler solution by just filtering stackmaps\nwithout dex register maps at first opportunity. This should\nensure that locations for breakpoint locations are completely\naccurate as originally intended.\n\nChange-Id: I98378716c0ef5ef46b12181502904621eb6ecf2f\n"
    },
    {
      "commit": "95f931eefd6a694a27548c3503ca56559a2b868b",
      "tree": "ec7b0d6edee087c13810be515c7dbb67aec98544",
      "parents": [
        "cdd3991f821f027c9ac6674057603ba4ad9c2bb0",
        "7fc6350f6f1ab04b52b9cd7542e0790528296cbe"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Mar 11 19:48:08 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 11 19:48:08 2016 +0000"
      },
      "message": "Merge \"Integrate BitwiseNegated into shared framework.\""
    },
    {
      "commit": "2de1e8a52ef8d4b2e033f3404ca9cc970bb5149c",
      "tree": "f140ba578b933c58367745c5670f6575f8bbfdd7",
      "parents": [
        "9faab4dd50d2bdda12284c6b8d3837943a73b5da",
        "6a6b38fbed22688fac7e061450a8a9c64a685faf"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 18:19:11 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 11 18:19:12 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Allow duplicated methods in different DWARF line tables.\"\"\""
    },
    {
      "commit": "6a6b38fbed22688fac7e061450a8a9c64a685faf",
      "tree": "79c27dd0575f8d7fac2b9b0c630577701ec1c7a9",
      "parents": [
        "6030b15ce83ac2a9fb78cd9d137b6f4b441e6417"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 14:35:45 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 18:17:56 2016 +0000"
      },
      "message": "Revert \"Revert \"Allow duplicated methods in different DWARF line tables.\"\"\n\nThis reverts commit 8862fac4a0b97d827d2808146d2d79b8d799b998.\n\nChange-Id: I4d5629df4580b7ac08a5cb04924c56eecad3ad25\n"
    },
    {
      "commit": "9faab4dd50d2bdda12284c6b8d3837943a73b5da",
      "tree": "b028de219d3e6bc1d4fe6e71158e5c5ff61216e6",
      "parents": [
        "6030b15ce83ac2a9fb78cd9d137b6f4b441e6417",
        "252fa90d25eb3fa9c4189304d021533c9657fea7"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 18:16:35 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 11 18:16:36 2016 +0000"
      },
      "message": "Merge \"DWARF: Compensate for compiler\u0027s off-by-one instruction.\""
    },
    {
      "commit": "09c2a6be63337ee060e2d54bd01cf18be7301d29",
      "tree": "c623c5352bc908410f03b20b772c3dad47df207c",
      "parents": [
        "fdaa583e785383cca68df63c7ef53fcaf667b8e2"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 17:11:44 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 17:35:19 2016 +0000"
      },
      "message": "Add trampoline symbols to native debug info.\n\nThe debugger needs them to unwind through the trampolines and to\nunderstand what is happening in the call stack.\n\nChange-Id: Ia554058c3796788adcd7336d620a7734eb366905\n"
    },
    {
      "commit": "fdaa583e785383cca68df63c7ef53fcaf667b8e2",
      "tree": "1b49aa0fe04200911e3ddfdac4b465b16dfb63e8",
      "parents": [
        "fa3857ee61e193471ad3547e02bafccdc712b556",
        "b14a5ede4b232d5f7709001d1e0b90e6910d9306"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 17:33:22 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 11 17:33:23 2016 +0000"
      },
      "message": "Merge \"Minor optimizations of debug::WriteCFISection.\""
    },
    {
      "commit": "b14a5ede4b232d5f7709001d1e0b90e6910d9306",
      "tree": "68fb0485ed511f7f8db178ef4bbb3b495fcd7651",
      "parents": [
        "60e10c8564f47de0b7f29b26d040c591d5a396b5"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 16:54:22 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 17:30:57 2016 +0000"
      },
      "message": "Minor optimizations of debug::WriteCFISection.\n\nThe method might be passed method infos without CFI in some cases.\nUse the sorting phase as a chance to filter them out.\nThis makes sure we do not allocate memory and sort methods if there\nis in fact no work to do.\n\nAlso change the sort to stable - for the sake of determinism.\n\nChange-Id: I97d57d77e8b709d0d49d6971f66b955efcbb57b0\n"
    },
    {
      "commit": "fa3857ee61e193471ad3547e02bafccdc712b556",
      "tree": "cb402533e584dd9bfba95d25c06ab7e7dbbd6618",
      "parents": [
        "a9e68021a88566f31b0ba1a997ac3c61d3081c40",
        "ddc4055abab40740e689d91e9a4fe20a7b8e5d28"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 11 16:47:02 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 11 16:47:03 2016 +0000"
      },
      "message": "Merge \"MIPS: Don\u0027t use $t8 for calling entrypoints\""
    },
    {
      "commit": "a9e68021a88566f31b0ba1a997ac3c61d3081c40",
      "tree": "03816b2c31f05f6d32fbb5458eac6a9bfc554bfb",
      "parents": [
        "62a9841469f99810b2b39b0748cb113af0e8913a",
        "bdd7935c2adc3ad190ee87958e714a36f33cedae"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 11 16:37:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 11 16:37:23 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Revert \"Revert \"Change condition to opposite if lhs is constant\"\"\"\"\""
    },
    {
      "commit": "252fa90d25eb3fa9c4189304d021533c9657fea7",
      "tree": "3fd03332a888b8e3902dbdc1f0c9f830a55ecc8d",
      "parents": [
        "60e10c8564f47de0b7f29b26d040c591d5a396b5"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 14:25:00 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 16:18:50 2016 +0000"
      },
      "message": "DWARF: Compensate for compiler\u0027s off-by-one instruction.\n\nThe compiler generates stackmaps with PC value which is *after*\nthe instruction rather PC of the instruction itself. This causes\ntrouble when generating native line number mapping since the\nbranch instruction itself will not be mapped, and consequently\nwe get incorrect line number in backtraces. Add code to compensate\nfor this. See the in-code comment for more details.\n\nChange-Id: I72c992e6d08a767f314290d562421b251ae60732\n"
    },
    {
      "commit": "ddc4055abab40740e689d91e9a4fe20a7b8e5d28",
      "tree": "df455aa113ce912e45ea54ed546d988cae89af58",
      "parents": [
        "62a9841469f99810b2b39b0748cb113af0e8913a"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Fri Mar 11 15:22:18 2016 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Fri Mar 11 17:16:37 2016 +0100"
      },
      "message": "MIPS: Don\u0027t use $t8 for calling entrypoints\n\nWhen jumping to entrypoints, $t9 register must be used. Value of $gp\nis calculated based on value from $t9 and it should contain the\naddress of the first instruction of the entrypoint.\n\nThis CL enables MIPS32 and MIPS64 to boot.\n\nChange-Id: Idf0f7f479cceafabb88b1b087da190dbda86e1c3\n"
    },
    {
      "commit": "62a9841469f99810b2b39b0748cb113af0e8913a",
      "tree": "8763fc7893d56cdb4b93b2c180b9793b524463aa",
      "parents": [
        "60e10c8564f47de0b7f29b26d040c591d5a396b5",
        "18401b748a3180f52e42547ede22d1b184fe8c43"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 11 16:15:32 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 11 16:15:33 2016 +0000"
      },
      "message": "Merge \"Fix invariant in reference type propagation.\""
    },
    {
      "commit": "2fdd03c982386e1d13aed9f1b51e1f0eee237971",
      "tree": "9534c9538c7b63a62121719ba83ff1f436cf5f8a",
      "parents": [
        "60e10c8564f47de0b7f29b26d040c591d5a396b5"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Mar 10 15:32:37 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 15:57:01 2016 +0000"
      },
      "message": "Add symbolizer option to generate debug information only.\n\nThere is no need to copy the .rodata and .text sections since the\nconsumers can get their data form the original ELF file. We mark\nthose section as SHT_NOBITS instead, which is the standard way to\ncreate ELF file with separate debug information only.\n\nThe new option is called --only-keep-debug and it essentially has\nthe same effect as --only-keep-debug option for \"strip\" command.\n\nChange-Id: I4f7488c04bbad86288beeda11c3bf295890e740d\n"
    },
    {
      "commit": "60e10c8564f47de0b7f29b26d040c591d5a396b5",
      "tree": "49809c99b991eece44dad9ca26c89bdcf0f9d911",
      "parents": [
        "8583b44f8b5788b57be4d4738072dc6a99c49823",
        "8862fac4a0b97d827d2808146d2d79b8d799b998"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 14:35:33 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 11 14:35:33 2016 +0000"
      },
      "message": "Merge \"Revert \"Allow duplicated methods in different DWARF line tables.\"\""
    },
    {
      "commit": "8862fac4a0b97d827d2808146d2d79b8d799b998",
      "tree": "27509ec22da5d2b82443142f230525d5b4ad9aea",
      "parents": [
        "3c5462364daee17e651299f1c370f965f34baed8"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 14:34:47 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 14:34:47 2016 +0000"
      },
      "message": "Revert \"Allow duplicated methods in different DWARF line tables.\"\n\nThis reverts commit 3c5462364daee17e651299f1c370f965f34baed8.\n\nChange-Id: Icc63c47cd53abeff2a470ae84715012a1ef988ac\n"
    },
    {
      "commit": "8583b44f8b5788b57be4d4738072dc6a99c49823",
      "tree": "2c3aea50b7b2c208a8d770b36cf3d392d909d50d",
      "parents": [
        "cc22d41d4de2514cc3cb4ed569764a35f15da48d",
        "3c5462364daee17e651299f1c370f965f34baed8"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 14:28:00 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 11 14:28:00 2016 +0000"
      },
      "message": "Merge \"Allow duplicated methods in different DWARF line tables.\""
    },
    {
      "commit": "cc22d41d4de2514cc3cb4ed569764a35f15da48d",
      "tree": "49809c99b991eece44dad9ca26c89bdcf0f9d911",
      "parents": [
        "1a008a127730710f8f56c1ca66385e1b062a2dcb",
        "fe736b775c7774bb2f7072e022099ca47dd21a3c"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 14:25:56 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 11 14:25:57 2016 +0000"
      },
      "message": "Merge \"Allow generation of native debug info for multiple methods.\""
    },
    {
      "commit": "1a008a127730710f8f56c1ca66385e1b062a2dcb",
      "tree": "b3d33325c5e5ef2f34aa9a497c83863cf2481abb",
      "parents": [
        "2af7213a4e0d395fe22dcdce6ec10a3bd131023d",
        "197160d47f34238cb5e7444fa4c2de300db8e2c6"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 14:25:40 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 11 14:25:41 2016 +0000"
      },
      "message": "Merge \"Refactor MethodDebugInfo (input of DWARF writer).\""
    },
    {
      "commit": "3c5462364daee17e651299f1c370f965f34baed8",
      "tree": "3e730b28ccd4d7d17d65777eeba6c85c6034fc96",
      "parents": [
        "ef0119a0f329906ba1e8cbd8e53ce5a759fd4f99"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 11:49:20 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 14:13:44 2016 +0000"
      },
      "message": "Allow duplicated methods in different DWARF line tables.\n\nThis makes the compilation units more self-contained.\nIf method is mentioned in the compilation unit, we can\nalso find its line table there. Otherwise, we would have\nto search through all of them.\n\nChange-Id: I0cdfb9006e796e41e123fc1f4fecd15312570068\n"
    },
    {
      "commit": "18401b748a3180f52e42547ede22d1b184fe8c43",
      "tree": "aebee923635cc2563c74033b00ffc90ceadafed4",
      "parents": [
        "b7f257f353b1eb2db2732939a0404c118316891d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 11 13:35:51 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 11 13:36:19 2016 +0000"
      },
      "message": "Fix invariant in reference type propagation.\n\nAlso some cleanups.\n\nChange-Id: I7f0ec7d06b4bab10dbfa230c757447d311658f93\n"
    },
    {
      "commit": "7fc6350f6f1ab04b52b9cd7542e0790528296cbe",
      "tree": "26a33ef7bb2e49a9b7c7d9436194a92cb447b317",
      "parents": [
        "b7f257f353b1eb2db2732939a0404c118316891d"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Tue Feb 09 17:15:29 2016 +0000"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Mar 11 12:49:27 2016 +0000"
      },
      "message": "Integrate BitwiseNegated into shared framework.\n\nShare implementation between arm and arm64.\n\nChange-Id: I0dd12e772cb23b4c181fd0b1e2a447470b1d8702\n"
    },
    {
      "commit": "bdd7935c2adc3ad190ee87958e714a36f33cedae",
      "tree": "64563d52d699d63c22574dbc97e6d5410df94ac3",
      "parents": [
        "2af7213a4e0d395fe22dcdce6ec10a3bd131023d"
      ],
      "author": {
        "name": "Anton Shamin",
        "email": "anton.shamin@intel.com",
        "time": "Mon Feb 15 12:48:36 2016 +0600"
      },
      "committer": {
        "name": "Anton Shamin",
        "email": "anton.shamin@intel.com",
        "time": "Fri Mar 11 18:28:55 2016 +0600"
      },
      "message": "Revert \"Revert \"Revert \"Revert \"Change condition to opposite if lhs is constant\"\"\"\"\n\nThis reverts commit d4aee949b3dd976295201b5310f13aa2df40afa1.\n\nChange-Id: I505b8c9863c310a3a708f580b00d425b750c9541\n"
    },
    {
      "commit": "07e3ca9a46801990d662c48d0fddedc63c4c053c",
      "tree": "94fedc96b28c6a46d2b83c80b2cfefd4c2898f4a",
      "parents": [
        "b7f257f353b1eb2db2732939a0404c118316891d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 11 09:57:57 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 11 09:57:57 2016 +0000"
      },
      "message": "Fix thread race when fetching the ProfilingInfo object.\n\nProblem is:\n1) Compiler fetches the ProfilingInfo of A, it\u0027s null.\n2) Mutator creates the ProfilingInfo.\n3) Compiler notifies it\u0027s not using A anymore, calls\n   ProfilingInfo::DecrementInlineUse -\u003e Crash as we expected\n   ProfilingInfo::IncrementUse to be called before.\n\nAlso update some namings to better reflect what is going on.\n\nChange-Id: I55ea4c5d81988131467095e18a0d13a8be9d0ef7\n"
    },
    {
      "commit": "8e213515077e11acdd664ec4a770a73e2f804863",
      "tree": "85614e9137d894b21146d82bb08bedceb2ee3f2e",
      "parents": [
        "8189b0b4e1f14420382b87e900dd6a50aec9c2de",
        "07f6818ef68046d4749963b3bd59f7e93cf43fa9"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Mar 10 18:48:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 10 18:48:37 2016 +0000"
      },
      "message": "Merge \"ART: Do not use vixld - workaround to fix dex2oatds.\""
    },
    {
      "commit": "8189b0b4e1f14420382b87e900dd6a50aec9c2de",
      "tree": "9ff8d68502f8eb48df478c453eac270b9dc123e2",
      "parents": [
        "8411aa3d88f4baf583ec4ecd62bb619cacd28acb",
        "d1c4045fb4d4703642f3f79985727b9a12cf5c49"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Mar 10 18:39:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 10 18:39:18 2016 +0000"
      },
      "message": "Merge \"Avoid generating dead code on frame enter/exit. This includes stack operations and, on x86, call/pop to read PC.\""
    },
    {
      "commit": "07f6818ef68046d4749963b3bd59f7e93cf43fa9",
      "tree": "f92c036b6340bba99208ca2810f1453ed45d35d7",
      "parents": [
        "8411aa3d88f4baf583ec4ecd62bb619cacd28acb"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Mar 10 17:25:50 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Mar 10 17:30:25 2016 +0000"
      },
      "message": "ART: Do not use vixld - workaround to fix dex2oatds.\n\nThis is a quick workaround for ODR violations caused\nby linking libvixl.a compiled without VIXL_DEBUG with\nthe libartd-compiler.a compiled with VIXL_DEBUG.\n\nBug: 27588884\nChange-Id: Ib1af165f177f125f03cdd99777dff4c2912f6405\n"
    },
    {
      "commit": "d1c4045fb4d4703642f3f79985727b9a12cf5c49",
      "tree": "5fda881ed412b71013e1f2445ed5ddd1a7b37470",
      "parents": [
        "2048b01dfec8877d672a4da41a158f68b12b5337"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Mar 02 16:06:13 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Mar 10 09:22:49 2016 -0800"
      },
      "message": "Avoid generating dead code on frame enter/exit.\nThis includes stack operations and, on x86, call/pop to read PC.\n\nbug\u003d26997690\n\nRationale:\n(1) If method is fully intrinsified, and makes no calls in slow\n    path or uses special input, no need to require current method.\n(2) Invoke instructions with HasPcRelativeDexCache() generate code\n    that reads the PC (call/pop) on x86. However, if the invoke is\n    an intrinsic that is later replaced with actual code, this PC\n    reading code may be dead.\n\nExample X86 (before/after):\n\n0x0000108c: 83EC0C      sub esp, 12\n0x0000108f: 890424      mov [esp], eax       \u003c-- not needed\n0x00001092: E800000000  call +0 (0x00001097)\n0x00001097: 58          pop eax              \u003c-- dead code to read PC\n0x00001098: F30FB8C1    popcnt eax, ecx\n0x0000109c: F30FB8DA    popcnt ebx, edx\n0x000010a0: 03D8        add ebx, eax\n0x000010a2: 89D8        mov eax, ebx\n0x000010a4: 83C40C      add esp, 12          \u003c-- not needed\n0x000010a7: C3          ret\n\n0x0000103c: F30FB8C1    popcnt eax, ecx\n0x00001040: F30FB8DA    popcnt ebx, edx\n0x00001044: 03D8        add ebx, eax\n0x00001046: 89D8        mov eax, ebx\n0x00001048: C3          ret\n\nExample ARM64 (before/after):\n\n0x0000103c: f81e0fe0      str x0, [sp, #-32]!\n0x00001040: f9000ffe      str lr, [sp, #24]\n0x00001044: dac01020      clz x0, x1\n0x00001048: f9400ffe      ldr lr, [sp, #24]\n0x0000104c: 910083ff      add sp, sp, #0x20 (32)\n0x00001050: d65f03c0      ret\n\n0x0000103c: dac01020      clz x0, x1\n0x00001040: d65f03c0      ret\n\nChange-Id: I8377db80c9a901a08fff4624927cf4a6e585da0c\n"
    },
    {
      "commit": "8411aa3d88f4baf583ec4ecd62bb619cacd28acb",
      "tree": "1aaa0c7d61743f512c941a5fc05d7740bfdef2d4",
      "parents": [
        "0555c78e5015ea4f9b1c064a5c77eb693f2edbe1",
        "316a2186b7fa9e03187d45ac0fa320f4dff1f3df"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Mar 10 17:11:44 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 10 17:11:44 2016 +0000"
      },
      "message": "Merge \"Add Mips abiflags section to the oatfile.\""
    },
    {
      "commit": "0555c78e5015ea4f9b1c064a5c77eb693f2edbe1",
      "tree": "aa22b4388b129ea9628383cc5ed6157fc4e0c744",
      "parents": [
        "59c16a91633cb2268f9a7c052f6a761d711d0184",
        "cf283daf579e9eda586f312c3fc89444601e2525"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 10 17:09:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 10 17:09:38 2016 +0000"
      },
      "message": "Merge \"MIPS32: java.lang.Thread, and java.lang.String intrinsics:\""
    },
    {
      "commit": "d52765768b634c6f32a9bddd5c1269f26d32ea3a",
      "tree": "cb25a4e1aeeedf9a75683888a4156dbd87f02760",
      "parents": [
        "9e86c579ea45a209c8fe1cbfbc354e9065990b45"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 10 15:16:31 2016 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 10 15:16:31 2016 +0000"
      },
      "message": "Disable some image_test cases with concurrent collector.\n\nThe following image_test cases sometimes fail on ART Builbot\u0027s\nx86 concurrent collector configuration:\n- ImageTest.WriteReadUncompressed\n- ImageTest.WriteReadLZ4\n- ImageTest.WriteReadLZ4HC\nDisable them to make the build turn green again, while we\ninvestigate the failures.\n\nBug: 27578460\nChange-Id: I46126e4690e6300e3bfa771c1b6a560272ecb1da\n"
    },
    {
      "commit": "9e86c579ea45a209c8fe1cbfbc354e9065990b45",
      "tree": "84e8b1de707e96845a81d94bd50e97d0cbb2f546",
      "parents": [
        "cc7b14da8da5fee74e0577edb72c6eee8cabd466",
        "31f477eb7f28c9e4647df3c18f7e4271436640be"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 10 14:23:35 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 10 14:23:35 2016 +0000"
      },
      "message": "Merge \"MIPS32: Fix test 082-inline-execute\""
    },
    {
      "commit": "cc7b14da8da5fee74e0577edb72c6eee8cabd466",
      "tree": "fa74a44bb384adacb0690fede876036f13d6b3f5",
      "parents": [
        "e87fe952e94ae97ebdf84e342d91eeb8b9aef06b",
        "f969a209c30e3af636342d2fb7851d82a2529bf7"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 10 14:21:40 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 10 14:21:41 2016 +0000"
      },
      "message": "Merge \"Fix and enable java.lang.StringFactory intrinsics.\""
    }
  ],
  "next": "31f477eb7f28c9e4647df3c18f7e4271436640be"
}
