)]}'
{
  "log": [
    {
      "commit": "68ad649d3918f2eed3a37209c01a7f0a0faf09f0",
      "tree": "5d6a004a79bffc5c02af02f325faa8df5f8cad52",
      "parents": [
        "bffabfce093e26bffb9e820a8f6b45474d28787a"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Aug 18 17:08:12 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Aug 20 12:57:10 2015 +0100"
      },
      "message": "Refactor BuildInvoke.\n\nBuildInvoke got to be too complex an unreadble. This breaks it down in\nsmaller pieces.\n\nChange-Id: Ibda63f69f5a1be537ae13e18a5f67c361173f4a6\n"
    },
    {
      "commit": "e418dda75998e0186f7580c2c54705767c3c8f1f",
      "tree": "49b3183cd1d25b6a5cfb31e0d16678deb023c1e8",
      "parents": [
        "4d786026efaac41acf8278d1c87d842f7ce06fde"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Aug 11 20:03:09 2015 -0700"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Aug 20 11:00:12 2015 +0100"
      },
      "message": "Be more flexible on the code unit size when inlining.\n\nThis change increases the maximum code unit size, and fold\nparameters in the inlinee in the hope to reduce the overall\nsize of the graph. We then make sure we don\u0027t inline methods\nthat have more than N HInstructions.\n\nAlso, remove the kAccDontInline flag on ArtMethod. The compiler\ndoes not need it anymore.\n\nChange-Id: I4cd3da40e551f30ba83b8b274728b87e67f6812e\n"
    },
    {
      "commit": "00370827646cc21cb370c3e7e93f9c0cff4c30c2",
      "tree": "79fd9e7d08ad2055542cb1b64ebf26b00cb3af17",
      "parents": [
        "83f8b5bb9e9c52791a02a84d7b0889cab898efe4"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Aug 18 14:47:25 2015 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Aug 19 12:15:17 2015 -0700"
      },
      "message": "Use thread-local is_gc_marking flags for the CC collector.\n\nThe currently global is_marking flag is used to check if the read\nbarrier slow path needs to be taken for GC roots access. Changing it\nto a thread-local flag simplifies the fast path check and makes it\neasier to do it in assembly code. It also solves the issue that we\nneed to avoid accessing the global flag during startup before the heap\nor the collector object isn\u0027t allocated and initialized.\n\nBug: 12687968\nChange-Id: Ibf0dca12f400bf3490188b12dfe96c7de30583e0\n"
    },
    {
      "commit": "a85373e8ab4a3b090eb60eba05be6f13dcd15567",
      "tree": "a38d3bc71912107fd4d5b3db3fb787378d0f61d6",
      "parents": [
        "32f264e67afa8654a5570d38b627515fb73fc333",
        "93aa210bd8bfa5e1e64eca329115617b3ab76fae"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Aug 19 15:19:31 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 19 15:19:31 2015 +0000"
      },
      "message": "Merge \"Manually unrelocate odex files generated for test.\""
    },
    {
      "commit": "3bf1027cd09397f1c076f523de7b4553227d36d3",
      "tree": "b0f65f0e6dcfdda8fc17d57b5611a8e761f5dce5",
      "parents": [
        "d9c4d2e9a9bc01fd82a895091126406081fafb1f",
        "d4032e4e2d454b11dba74acc4824abb8a846f707"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Aug 19 12:53:38 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 19 12:53:38 2015 +0000"
      },
      "message": "Merge \"JDWP: remove suspend count check on invoke\""
    },
    {
      "commit": "1cb16842fbd213fcd6288efe7f854b6dbc844dcf",
      "tree": "e746f8f7930f7ecf85b814ae35c7f796b0d6aa2a",
      "parents": [
        "fdc3990cafb30dff8c48ea042b61b991b31a4b4d",
        "059ef3ddb2088f926ac452889e0953fdcd646a5e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 18 23:58:07 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 18 23:58:07 2015 +0000"
      },
      "message": "Merge \"Always visit object class from VisitReferences\""
    },
    {
      "commit": "4cd27d64b0bbdde61fa3f6674ceb24221853ac2c",
      "tree": "20d0a46a943a3cd66341d87eb568cd8c5f83aec2",
      "parents": [
        "edd0a6dbe26bb334f02d5abe649e3da9165277b2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Aug 18 23:03:42 2015 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Aug 18 16:17:57 2015 -0700"
      },
      "message": "Revert \"Introduce support for hardware simulators, starting with ARM64\"\n\nThis reverts commit c2e1a5edc438274159c6ef8e65455ac73723a8f1.\n\nThis breaks the build for x86_64 targets. This is because on target the libvixl is not included as a\nlibrary for the libart.so target build. The build of non-x86_64 targets only works because the\ncompilers removes the dead-code that contains the libvixl symbols.\n\nBug: 23321940\nChange-Id: I39e93ff05b887665c47fb0986867f1d13ca65b9b\n"
    },
    {
      "commit": "059ef3ddb2088f926ac452889e0953fdcd646a5e",
      "tree": "36067457d7e4aba11be908ddd235734d29b7c4f2",
      "parents": [
        "f71ad9ede9ae322a897e8fe407208dc35c5dee65"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 18 13:54:21 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 18 16:11:21 2015 -0700"
      },
      "message": "Always visit object class from VisitReferences\n\nWe don\u0027t want to unload classes which have instances.\n\nSlight increase in CMS GC time from ~6.5s to ~7.3s on\nEvaluateAndApplyChanges.\n\nBug: 22720414\nChange-Id: I467ff9c9d55163d2a90b999aef3bdd7b3f648bac\n"
    },
    {
      "commit": "6e9cc3912b07d21ced1278eafdd213bc87b25635",
      "tree": "79761bd4975f1e8060a5b4c4f497c4a12467baeb",
      "parents": [
        "a539ec06503766fcad4be71480c194a225fb037c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 18 10:41:39 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 18 11:01:42 2015 -0700"
      },
      "message": "Fix some global constructors and destructors\n\nBug: 17994073\n\nChange-Id: Ib4da5ac25812460b3dcee26024d1a3415a21257b\n"
    },
    {
      "commit": "93aa210bd8bfa5e1e64eca329115617b3ab76fae",
      "tree": "d5f27c0e24d388174926399f9292b6ec3bb11377",
      "parents": [
        "a539ec06503766fcad4be71480c194a225fb037c"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Aug 10 14:47:41 2015 -0700"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Aug 18 09:26:40 2015 -0700"
      },
      "message": "Manually unrelocate odex files generated for test.\n\nWith this change, the oat file assistant test will work properly in\nthe case where the image happens to be randomly relocated by a delta\nof 0.\n\nBug: 22599792\nChange-Id: Id17bf7ef7644e7bc7980c120c0aa9b6e57673ec6\n"
    },
    {
      "commit": "a539ec06503766fcad4be71480c194a225fb037c",
      "tree": "9d3cfda89dcf4879b7579b24cdf34551eb29ec56",
      "parents": [
        "009c34cba875885d9540696f33255a9b355d6e15",
        "c2e1a5edc438274159c6ef8e65455ac73723a8f1"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Aug 18 13:28:20 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 18 13:28:20 2015 +0000"
      },
      "message": "Merge \"Introduce support for hardware simulators, starting with ARM64\""
    },
    {
      "commit": "c2e1a5edc438274159c6ef8e65455ac73723a8f1",
      "tree": "30deefcdb9f8226a7367342000104248ea635487",
      "parents": [
        "62dee441fff15e951c577b9565f87bb5f27c5ffb"
      ],
      "author": {
        "name": "Phil Wang",
        "email": "phil.wang@linaro.org",
        "time": "Wed Jul 29 15:14:09 2015 +0800"
      },
      "committer": {
        "name": "Phil Wang",
        "email": "phil.wang@linaro.org",
        "time": "Tue Aug 18 15:15:17 2015 +0800"
      },
      "message": "Introduce support for hardware simulators, starting with ARM64\n\nSimulator support for ARM64 is implemented with VIXL.\nNow codegen_test will also run on all supported hardware simulators.\n\nChange-Id: Idc740f566175d1a23c373ea9292b8fc5ba526d00\n"
    },
    {
      "commit": "009c34cba875885d9540696f33255a9b355d6e15",
      "tree": "6c0ac5f843845e4b09829eb0fd9f1b3013cf4494",
      "parents": [
        "f0917e0e4b5a4e10bbe33f23f6ea6f73d36d8c52",
        "a52f2f93eda106899e2c521e49c13e4cf9446921"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 18 00:40:27 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 18 00:40:27 2015 +0000"
      },
      "message": "Merge \"Fix and improve reference cache mod-union table\""
    },
    {
      "commit": "a52f2f93eda106899e2c521e49c13e4cf9446921",
      "tree": "a960c3502c0eaf33d29544a40c57aee79c4942e0",
      "parents": [
        "a0856f5158e35e8cd83b36ece16c58915292653a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Aug 16 14:37:04 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Aug 17 17:39:11 2015 -0700"
      },
      "message": "Fix and improve reference cache mod-union table\n\nImprovements:\nRemove cards that only contain null references, this can save memory\nin some cases.\n\nFixes:\nFix a bug where the mod-union table didn\u0027t properly handle class\nloaders in the boot image. This was cause by not adding the new\nclasses as references. The fix is to leave these cards dirty.\n\nBug: 23203999\nChange-Id: Ib1f1f74154df976dd8abaf2430c6dabd4cae2dbe\n"
    },
    {
      "commit": "f0917e0e4b5a4e10bbe33f23f6ea6f73d36d8c52",
      "tree": "b59953ba2ed9465cd6786afcf8c6cc31bbfa52ee",
      "parents": [
        "0d52a6738f55d9610f08d3be24270bd0eeb88edc",
        "2a5c4681ba19411c1cb22e9a7ab446dab910af1c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 17 22:59:27 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 17 22:59:27 2015 +0000"
      },
      "message": "Merge \"ART: Some header cleaning around bit-utils\""
    },
    {
      "commit": "2a5c4681ba19411c1cb22e9a7ab446dab910af1c",
      "tree": "883ea0c07aad9efdb7c86960056cbefd7992b2bc",
      "parents": [
        "228b3973b2b24783c727a55fda2b4b80375f7207"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 14 08:22:54 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 17 15:42:25 2015 -0700"
      },
      "message": "ART: Some header cleaning around bit-utils\n\nTry to remove dependencies where they are not necessary.\n\nChange-Id: I5ff35cb17aea369bed3725b1610b50d7eb05b81e\n"
    },
    {
      "commit": "b0aeeb777f6c2567a9ea038c9442c1df592b7e04",
      "tree": "6bb60936b5762981e5a07938f13bc08271b44327",
      "parents": [
        "228b3973b2b24783c727a55fda2b4b80375f7207",
        "53de99cd7e863e95179823504335f1f67e03c791"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 17 21:19:23 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 17 21:19:23 2015 +0000"
      },
      "message": "Merge \"ART: Follow-up fixes\""
    },
    {
      "commit": "151ab8d096be02b04391fd32460a31ee60ae2b0a",
      "tree": "566224aba5d6eb10a2ef5dee01314a21481fc6b3",
      "parents": [
        "5e289b2bca7a0bc67fcf00a1017d70db8b363113"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 14 23:01:49 2015 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 17 13:45:36 2015 -0700"
      },
      "message": "Revert \"Revert \"ART: DCHECK zero case for CLZ/CTZ\"\"\n\nThis reverts commit 4318d91ea4be673d4deba39d33ac4718d77986a7.\n\nFix up the lit\u003d-1 case in the arm32 Quick backend; add test case.\n\nChange-Id: I8d0861133db950090ee959f532ede1448683dfa9\n"
    },
    {
      "commit": "53de99cd7e863e95179823504335f1f67e03c791",
      "tree": "9bd18cc5295e8c4b569dc16d45b0ff1e19ce6ef2",
      "parents": [
        "4b7b5fcda0f97ed874de0ccd18940030e6c71f04"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 17 13:43:55 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 17 13:43:55 2015 -0700"
      },
      "message": "ART: Follow-up fixes\n\nAddressing comments for CL 166499, commit\n5073fedd553afeb6ccdb49c1a1ab2cc2947c0870.\n\nChange-Id: I359e5a4c026d58d75cb62b90c495796855302b94\n"
    },
    {
      "commit": "5e289b2bca7a0bc67fcf00a1017d70db8b363113",
      "tree": "c27deaacb51e42ff6407d521b9834e637bfa465a",
      "parents": [
        "4b7b5fcda0f97ed874de0ccd18940030e6c71f04",
        "0eb76d2603a52d3e8759fcf480586886d70433d1"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Aug 17 17:20:46 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 17 17:20:46 2015 +0000"
      },
      "message": "Merge \"Make patchoat match offset when given a patched image\""
    },
    {
      "commit": "14632857428b7e37761e6e811c19021715a400f8",
      "tree": "1774ef3ed5b973ce661b761814bd86bdbfa8fdbc",
      "parents": [
        "8ecc1357e2c682165467ca8e10c7a748f7554df2"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Aug 17 12:07:23 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Aug 17 14:49:34 2015 +0100"
      },
      "message": "ART: Rename ArtMethod\u0027s size and alignment methods.\n\nRemove the historical prefix \"Object\" to avoid confusion\nwith Java objects.\n\nChange-Id: Ib36422c9a24878d8d4bd757977d99cbf66b3d567\n"
    },
    {
      "commit": "8ecc1357e2c682165467ca8e10c7a748f7554df2",
      "tree": "68faccf0186e475f09502f9b50c1f4207336a279",
      "parents": [
        "6103d9624f0d2f3e4a486d9f1b188fddf26c8e7c",
        "cf36d493124d8048efa0bd6f67d817ce3cd6b725"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Aug 17 10:49:15 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 17 10:49:15 2015 +0000"
      },
      "message": "Merge \"ART: Compress LengthPrefixedArray on 32-bit targets.\""
    },
    {
      "commit": "cf36d493124d8048efa0bd6f67d817ce3cd6b725",
      "tree": "fac1336f54ea477ce1afe2e99a04b68db38c7ac8",
      "parents": [
        "1cad8c7c63b600a3da83bf05fb645e08ac8fafc0"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Aug 12 19:27:26 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Aug 17 10:04:42 2015 +0100"
      },
      "message": "ART: Compress LengthPrefixedArray on 32-bit targets.\n\nPreviously, the LengthPrefixedArray\u003cArtMethod\u003e on 32-bit\ntargets contained a 64-bit length field followed by the\nArtMethod elements with size only a multiple of 4, not 8.\nConsequently, an odd-length array broke the alignment for\nthe following array which would have the 64-bit length\nplaced at an unaligned address.\n\nTo fix that, we make the length field 32-bit and explicitly\npass the alignment information to the LengthPrefixedArray.\nThis also makes the 32-bit boot image a bit smaller.\nOn Nexus 5, AOSP, ToT, the field section is 11528B smaller\nand the method section is 21036B smaller. 64-bit targets\nshould see the same savings for the field section but no\ndifference for the methods section.\n\nChange-Id: I3e03e7b94129025c8a1c117c27645a34dec516d2\n"
    },
    {
      "commit": "ebf850c9ec47e199cfb3712b7832eb2f32e2ee02",
      "tree": "a37deb86134a3079532295b644469af09c29f088",
      "parents": [
        "933fdd0b0e7b1f831033d70b922d1845955caa53"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 14 15:37:35 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 14 15:37:35 2015 -0700"
      },
      "message": "ART: Fix verifier dumping, add hard-fail dumping\n\nFix the dumping code in the verifier.\n\nAdd an option to dump the verifier state on hard failure when\nverbose:verifier.\n\nChange-Id: Iccea92fcbcb2301356d86004ea0f5f3e5da84f3c\n"
    },
    {
      "commit": "4bf4c78a6e8b7da7cf306e1dd17ff5a55d0c6c98",
      "tree": "a24fec5a60881ba644caeb7706df183882079c32",
      "parents": [
        "a0856f5158e35e8cd83b36ece16c58915292653a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 14 14:07:43 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 14 14:25:25 2015 -0700"
      },
      "message": "ART: Relax verifier aput checking\n\nWhen checking on a null array, the cases of aput and aput-wide are\nshared between integral and floating point types. Be careful to not\nreject a valid program.\n\nBug: 21867457\nBug: 23201502\nChange-Id: I6c54a389c06e40a2dae00995aa16ff08a089e512\n"
    },
    {
      "commit": "0eb76d2603a52d3e8759fcf480586886d70433d1",
      "tree": "8d38a89d6de7be77c437c9df12bf646b793ba639",
      "parents": [
        "4500fcbe682d666a24c2e8f6e0cb90cfb35d3fa3"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Aug 11 18:03:47 2015 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Aug 14 19:34:57 2015 +0000"
      },
      "message": "Make patchoat match offset when given a patched image\n\nPreviously if we gave patchoat a patched image and a already patched\n(but improperly relocated) oat file it would not correctly patch the\noat file to the same offset as the image.\n\nBug: 22599792\nBug: 23119724\nChange-Id: I8773022bd75c2e0b7eb529893b147cbd8792bcad\n"
    },
    {
      "commit": "a0856f5158e35e8cd83b36ece16c58915292653a",
      "tree": "b291e6547a130a917333108a3b9132a870bd1bbb",
      "parents": [
        "b2812de049b55dabf6bf39535a5c9ea26d477be0",
        "4318d91ea4be673d4deba39d33ac4718d77986a7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 14 18:39:46 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 14 18:39:46 2015 +0000"
      },
      "message": "Merge \"Revert \"ART: DCHECK zero case for CLZ/CTZ\"\""
    },
    {
      "commit": "4318d91ea4be673d4deba39d33ac4718d77986a7",
      "tree": "e46b95dc23586472449f87fb2c1e58f397a21907",
      "parents": [
        "51db2c217052fd6881b81f3ac5162fe88c36dbf0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 14 18:39:30 2015 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 14 18:39:30 2015 +0000"
      },
      "message": "Revert \"ART: DCHECK zero case for CLZ/CTZ\"\n\nThis reverts commit 51db2c217052fd6881b81f3ac5162fe88c36dbf0.\n\nStill breaks for arm32. :(\n\nChange-Id: I5fe6fc0cc410cc1c5b6bd68028ce9bf835cb94d5\n"
    },
    {
      "commit": "b2812de049b55dabf6bf39535a5c9ea26d477be0",
      "tree": "cc1db5ca739fd1ce1d57600a575fb9328b4ae03d",
      "parents": [
        "72eb673bf8e2da90f1454cd0591a9c8173ed9213",
        "b18e827e9828f8aca852f80f988a09555442eb57"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Aug 14 17:54:21 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 14 17:54:21 2015 +0000"
      },
      "message": "Merge \"Change SS to use MarkObjectIfNotInToSpace for roots\""
    },
    {
      "commit": "72eb673bf8e2da90f1454cd0591a9c8173ed9213",
      "tree": "d3505f86c2764d36f1fdd07bae649b961691ef3a",
      "parents": [
        "f67ab129d868b8355a8403a9627f96ac1e41a796",
        "5073fedd553afeb6ccdb49c1a1ab2cc2947c0870"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 14 17:51:51 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 14 17:51:51 2015 +0000"
      },
      "message": "Merge \"ART: Add utility function to dump dex CFG\""
    },
    {
      "commit": "b18e827e9828f8aca852f80f988a09555442eb57",
      "tree": "270a4cd7314132a3f77e1ffa55216db2e4c76010",
      "parents": [
        "0e780e48aca3f6b5aef12659362d6f6adb3e2da0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Aug 14 10:37:28 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Aug 14 10:37:28 2015 -0700"
      },
      "message": "Change SS to use MarkObjectIfNotInToSpace for roots\n\nThe roots can be in the to-space since we may visit the declaring\nclass of an ArtMethod multiple times if it is on the call stack.\n\nFixes GSS/SS tests for a few test cases.\n\nChange-Id: Iba354340289fc49987d06e70929dadb2f367734b\n"
    },
    {
      "commit": "f1dacdd52146841fc69949b3f485922debed9237",
      "tree": "310bc9de93319d21c4a7d3ba4919e2724d924328",
      "parents": [
        "1cad8c7c63b600a3da83bf05fb645e08ac8fafc0",
        "51db2c217052fd6881b81f3ac5162fe88c36dbf0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 14 15:06:46 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 14 15:06:46 2015 +0000"
      },
      "message": "Merge \"ART: DCHECK zero case for CLZ/CTZ\""
    },
    {
      "commit": "51db2c217052fd6881b81f3ac5162fe88c36dbf0",
      "tree": "14d724a828b5ba00889160c2b42095273b7d593c",
      "parents": [
        "060841a3966afc7a5251134d1f1ef100849b1468"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 13 20:55:31 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 13 21:29:48 2015 -0700"
      },
      "message": "ART: DCHECK zero case for CLZ/CTZ\n\nAdd a DCHECK_CONSTEXPR. All current callers have an explicit\nzero check before hand and so we should not trip this at the\nmoment. Remove the TODO.\n\nAdd the check for T being unsigned for CLZ (trivial fix for\nleb128.h). We use CTZ with signed types.\n\nChange-Id: I7bbf0b1699eed21715c6cc20dbfe22b7da403b1a\n"
    },
    {
      "commit": "0e780e48aca3f6b5aef12659362d6f6adb3e2da0",
      "tree": "cd7f7ae78c186cb4e6b6eae0b987178b8cce7381",
      "parents": [
        "060841a3966afc7a5251134d1f1ef100849b1468",
        "10e5ea90e20375e5ad2ff26cb760c0e7c586cc16"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Aug 14 01:37:58 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 14 01:37:58 2015 +0000"
      },
      "message": "Merge \"Visit declaring class of methods on call stack\""
    },
    {
      "commit": "10e5ea90e20375e5ad2ff26cb760c0e7c586cc16",
      "tree": "45cc204db4d61e729cb8bcea681e7efa758d7bfb",
      "parents": [
        "b923298c9b6e47b4110dd0cb23cb6a4e98b8552b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Aug 13 12:56:31 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Aug 13 17:59:00 2015 -0700"
      },
      "message": "Visit declaring class of methods on call stack\n\nBug: 22720414\nChange-Id: Iab9727dde243d76fd9dfdb1db73899fedd1ab6ea\n"
    },
    {
      "commit": "7c2af0d873b7033adccf8fa7adf259166c53d369",
      "tree": "ec1a3cffa19b1131abcdd3e64541a14e9bcc4b86",
      "parents": [
        "1d4219ee25dfb228cc72f353d97be69584fc0722",
        "3887c468d731420e929e6ad3acf190d5431e94fc"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Aug 13 11:00:54 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 13 11:00:54 2015 +0000"
      },
      "message": "Merge \"Remove unnecessary `explicit` qualifiers on constructors.\""
    },
    {
      "commit": "5073fedd553afeb6ccdb49c1a1ab2cc2947c0870",
      "tree": "6c47517d6e2580729442d08f287d05e2070dee83",
      "parents": [
        "b19b82bf6c8a55459fddcd55e86b162b2c0b9101"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 10 11:40:25 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 12 22:52:32 2015 -0700"
      },
      "message": "ART: Add utility function to dump dex CFG\n\nAdd a utility function in utils.h to dump the dex CFG of\na method.\n\nAdd an option (\"-g\") to dump CFGs of a dex file in dexdump2.\n\nChange-Id: I380082f0abe8ed7eeb6a9186364a99425f69f55c\n"
    },
    {
      "commit": "7da072feb160079734331e994ea52760cb2a3243",
      "tree": "9616f6983d1d9e0ba4447bdbdc2cb7805c737240",
      "parents": [
        "a83cf577d770f389f941b7798c8ea19d55a2e037"
      ],
      "author": {
        "name": "agicsaki",
        "email": "agicsaki@google.com",
        "time": "Wed Aug 12 20:30:17 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 12 22:02:02 2015 -0700"
      },
      "message": "Structure for String.Equals intrinsic\n\nAdded structure for implementing String.Equals intrinsics. There is no\nfunctional change at this point- the intrinsic is marked as unimplemented\nfor all instruction sets and compilers.\n\nBug: 21481923\nChange-Id: Ic2a1e22a113ff6091581126f12e926478c011340\n"
    },
    {
      "commit": "511683764f2580d877725e20514ca4976c91bbfb",
      "tree": "e9a5fa23a95c87cb655affd4249177467ae9dbf5",
      "parents": [
        "b923298c9b6e47b4110dd0cb23cb6a4e98b8552b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 12 16:40:32 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 12 18:28:59 2015 -0700"
      },
      "message": "Wait for GC to finish in ThreadList::~ThreadList\n\nAdded a DisableGC to the heap instead of using the runtime shutdown\nboolean. The runtime shutting down boolean is set to true before the\nnon daemon threads have exited. These threads may still be doing\nallocations and we don\u0027t want to throw OOME if unnecessary.\n\nBug: 18577101\nChange-Id: Iceb7048e6bd799aa2716099459c54f8dc0fb8feb\n"
    },
    {
      "commit": "b923298c9b6e47b4110dd0cb23cb6a4e98b8552b",
      "tree": "94438c50951de22b80d8f0f6ac6502465eae40b0",
      "parents": [
        "b19b82bf6c8a55459fddcd55e86b162b2c0b9101",
        "e4275c07e9852a6944f47efa9d0591fceb8e8e36"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Aug 13 01:01:38 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 13 01:01:38 2015 +0000"
      },
      "message": "Merge \"Visit class roots from ClassLoader::VisitReferences\""
    },
    {
      "commit": "af31802e5b74f5b9b8d3aadbaaf48cfde14ff7d1",
      "tree": "4cd8a35a49b1d255281cdda6b488e4fecebf6d06",
      "parents": [
        "afd06a644051d27ba3d3fe05c9e4397324b90472"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 12 16:42:06 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 12 16:42:06 2015 -0700"
      },
      "message": "ART: Add correct -inl file\n\nFollow-up to f10b6e109bfb595b6752d1b59db680694ac1684d.\n\nBug: 20843113\nChange-Id: Idfb9479c2cd242c2fbf748177177ae1cba0508d6\n"
    },
    {
      "commit": "afd06a644051d27ba3d3fe05c9e4397324b90472",
      "tree": "0b236b4ee33599d525e3838bb6c2094418e4c64f",
      "parents": [
        "82b844fb449ddc5d7b4e43e71a55eb934a1b0b45",
        "f10b6e109bfb595b6752d1b59db680694ac1684d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 12 23:28:54 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 12 23:28:54 2015 +0000"
      },
      "message": "Merge \"ART: Change UninitializedThis tracking in the verifier\""
    },
    {
      "commit": "f10b6e109bfb595b6752d1b59db680694ac1684d",
      "tree": "16ff553dd297319eb16504ea29651ff32d65ea25",
      "parents": [
        "6a5037eb3340e4c981fd7de3ff45167ee5b7fc82"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 12 10:48:12 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 12 16:18:50 2015 -0700"
      },
      "message": "ART: Change UninitializedThis tracking in the verifier\n\nOnly relying on register types is error-prone. For example, we may\ninadvertently reject correct code when the constructor terminates\nabnormally.\n\nBug: 20843113\nChange-Id: I8826cd167780df25a6166740f183d216483fa550\n"
    },
    {
      "commit": "e4275c07e9852a6944f47efa9d0591fceb8e8e36",
      "tree": "92d5e69374f88555f454d137e5d60fb1c925b4d8",
      "parents": [
        "82b844fb449ddc5d7b4e43e71a55eb934a1b0b45"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Aug 06 15:34:15 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 12 15:50:24 2015 -0700"
      },
      "message": "Visit class roots from ClassLoader::VisitReferences\n\nThis causes the classes of a class loader to get marked when that\nclass loader gets marked instead of during class root visiting.\n\nBug: 22720414\n\nChange-Id: If53f042aff1d9f7bf94ecbe6886601edda029b7d\n"
    },
    {
      "commit": "e2a0a20659e43d5873f187b8d9646c9b606c1b16",
      "tree": "c2bd48025466978e4d8b7c9bef4bc5daa43c7c2e",
      "parents": [
        "6a6bd17f68c02139630796a615bd38b929c02e7a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 12 13:53:06 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 12 15:01:16 2015 -0700"
      },
      "message": "Don\u0027t allow GC to start if the runtime is shutting down\n\nDaemon threads may be trying to do allocations as the runtime is\nshutting down, don\u0027t allow GC to start since it touches the heap\nand may cause crashes if it is running while we delete the heap\nor thread list.\n\nBug: 18577101\nChange-Id: I1404b41f2aee13d3c26acffdf588c985628beefc\n"
    },
    {
      "commit": "e8a69447d845cc5c0b5ccfa9c4d4b1b588271f52",
      "tree": "2874f92015f3e276894937c31c1aaa68eec5500d",
      "parents": [
        "6a5037eb3340e4c981fd7de3ff45167ee5b7fc82"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 12 10:20:27 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 12 13:19:03 2015 -0700"
      },
      "message": "Delete AllocationTimer\n\nNot very useful, running benchmarks is better.\n\nBug: 19534862\nChange-Id: I725830274e306621bffdabffdee602a03daf016f\n"
    },
    {
      "commit": "3887c468d731420e929e6ad3acf190d5431e94fc",
      "tree": "67dacb849e722e33e118b97714a48e467c06cbd5",
      "parents": [
        "6a5037eb3340e4c981fd7de3ff45167ee5b7fc82"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Aug 12 18:15:42 2015 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Aug 12 18:15:42 2015 +0100"
      },
      "message": "Remove unnecessary `explicit` qualifiers on constructors.\n\nChange-Id: Id12e392ad50f66a6e2251a68662b7959315dc567\n"
    },
    {
      "commit": "a4f6af9b1e6380b31674d7ac645b1732c846ac06",
      "tree": "ff51b5e9f403c4496a2a20de7c6192fb587ac3f5",
      "parents": [
        "8ee8f3223bcf1ad5f3ee11d35c7b4105a48847d8"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 11 17:35:25 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 11 18:21:00 2015 -0700"
      },
      "message": "Some heap cleanup\n\nBug: 19534862\nChange-Id: Ia63f489d26ec8813a263ce877bdbbc8c4e8fe5f4\n"
    },
    {
      "commit": "c0fe56a4ee672bb346b124438941e753887e7416",
      "tree": "30fe7746c9f9dd03fb2a9b0c860d6dcb101d18d3",
      "parents": [
        "adbd0e5c3a9a9fce4ad49c48d7a4212f3d18cfcc"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 11 13:01:23 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 11 21:07:38 2015 +0000"
      },
      "message": "Address some comments\n\nChange-Id: I0262304cc720a0e93015955d0a7fb05dfebe213e\n"
    },
    {
      "commit": "b58474e08f6014663d1d3e215f3377d3ae616ad1",
      "tree": "1dad3b6573b7ef35f8d3201497c2dec66b0f2c33",
      "parents": [
        "32a67404baa40664e9ace8eac81be0f4704413a5"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 10 17:15:32 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 10 17:56:54 2015 -0700"
      },
      "message": "ART: Change UnresolvedMergedType merge\n\nChange to use IsUnresolvedTypes.\n\nBug: 22881413\n\n(cherry picked from commit 168387df8dcbae1b51f124eed84daf8e8de6a974)\n\nChange-Id: Ic27b97b475b28a5bdf994ea5178767e0efb0e752\n"
    },
    {
      "commit": "32a67404baa40664e9ace8eac81be0f4704413a5",
      "tree": "4bb55e35249e2d4d86dbf99dc90212f969fd3735",
      "parents": [
        "ebccaad3ad6bd32f7a37addc5df2381ce988846e",
        "2f90b3415aadc2587d26c767c6bfb235797119a8"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 10 18:46:55 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 10 18:46:55 2015 +0000"
      },
      "message": "Merge \"ART: Fix reg_type_test\""
    },
    {
      "commit": "2f90b3415aadc2587d26c767c6bfb235797119a8",
      "tree": "e2a3ae4cb2c1c1168d6c24e3bc7e192e15830626",
      "parents": [
        "77bccdc5e4f7bb150867c7aecd350efee84367bc"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 10 11:45:24 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 10 11:45:24 2015 -0700"
      },
      "message": "ART: Fix reg_type_test\n\nFollow-up to 750f7c2827318f6d07620f2ef0321218ea4d8670.\n\nBug: 22881413\nChange-Id: Iaea4cc29ed680710d01532124bc472547ee18bdb\n"
    },
    {
      "commit": "081da0add911757a48df74e6ae817af1de6e047d",
      "tree": "8e184750f7ed4aa251eed4cc57d24edcd56ab32e",
      "parents": [
        "4814bbd62306dfe07a68cc5def6aad115bebc45f",
        "750f7c2827318f6d07620f2ef0321218ea4d8670"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 10 18:26:46 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 10 18:26:46 2015 +0000"
      },
      "message": "Merge \"ART: Change UnresolvedMergedType internal representation\""
    },
    {
      "commit": "4814bbd62306dfe07a68cc5def6aad115bebc45f",
      "tree": "45c0f776f0a9c354150d5ac7f0de81608e882456",
      "parents": [
        "1a5625be743a4a84329930ac1c7e96425e24ca8d",
        "3ee25bb1df3df4f57c6a4c7d3957dd7303aa00d7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Aug 10 18:16:03 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 10 18:16:03 2015 +0000"
      },
      "message": "Merge \"Do read barriers on native roots in CopyClassVisitor\""
    },
    {
      "commit": "3ee25bb1df3df4f57c6a4c7d3957dd7303aa00d7",
      "tree": "d96d9aa3bfabe975edb3b39419f269150506e735",
      "parents": [
        "e6b307a833d3a0ba4327004c2a286680e01eae3b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Aug 10 10:13:02 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Aug 10 11:15:28 2015 -0700"
      },
      "message": "Do read barriers on native roots in CopyClassVisitor\n\nFixes a race condition caused by making a copy of a class then\nclearing the native root arrays of the original class. If the\noriginal class was gray and the new class was black then the GC\nwould miss the native roots.\n\nBug: 22957957\n\nChange-Id: I706110018220af12a2ad0d72eb803f1cfe3580b9\n"
    },
    {
      "commit": "750f7c2827318f6d07620f2ef0321218ea4d8670",
      "tree": "cbed9207f0cb6f5c989eac370e0b456fba8e369c",
      "parents": [
        "77bccdc5e4f7bb150867c7aecd350efee84367bc"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 06 11:31:56 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 10 10:07:14 2015 -0700"
      },
      "message": "ART: Change UnresolvedMergedType internal representation\n\nUse a BitVector instead of the tree representation. This\navoids flattening the components and other instances.\n\nBug: 22881413\nChange-Id: Ibf7cfb54443affeb1753bf114c0f306125391c62\n"
    },
    {
      "commit": "77bccdc5e4f7bb150867c7aecd350efee84367bc",
      "tree": "5023868352747d84d8f32f57cae442cb2610119f",
      "parents": [
        "fc29856047d90d8f446d73b576c0c18de7a1380f",
        "3a35714ebca10c989aa383c0861e2e84fe8dadf8"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Aug 08 00:23:51 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Aug 08 00:23:51 2015 +0000"
      },
      "message": "Merge \"ART: Clean up unnecessary ArtMethod**\""
    },
    {
      "commit": "3a35714ebca10c989aa383c0861e2e84fe8dadf8",
      "tree": "3218ed8f5962af0351e1d285ccaff5207050672d",
      "parents": [
        "275bc5e5f318ba6ea1bad6c89c2924d1248b7523"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 07 17:20:11 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 07 17:22:26 2015 -0700"
      },
      "message": "ART: Clean up unnecessary ArtMethod**\n\nArtMethods are no longer Java objects, so the additional indirection\nis no longer necessary here.\n\nChange-Id: If76756d875b418b3f6e83f51b3225a158e9ce29b\n"
    },
    {
      "commit": "fc29856047d90d8f446d73b576c0c18de7a1380f",
      "tree": "abb26f7c4b2e7623260018110eb5f4b8c9704bb3",
      "parents": [
        "e6b307a833d3a0ba4327004c2a286680e01eae3b",
        "067f1ed7816cf4eb5d6258ca31b387ddb2073ab7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Aug 08 00:14:42 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Aug 08 00:14:42 2015 +0000"
      },
      "message": "Merge \"ART: Remove TODO in BitVector\""
    },
    {
      "commit": "067f1ed7816cf4eb5d6258ca31b387ddb2073ab7",
      "tree": "2f1cff344eea6d7792e375f43578bf73095e02d4",
      "parents": [
        "4b2e98fc8c257a27a95fecbc859fcc617e2fa827"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 07 08:29:13 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 07 16:40:25 2015 -0700"
      },
      "message": "ART: Remove TODO in BitVector\n\nRefactor the BitVector constructor: split it up to remove the\npossibility to provide contradicting parameters, and add a custom\ncopying constructor.\n\nChange-Id: Ie943f279baa007db578aea0f2f33fa93311612ee\n"
    },
    {
      "commit": "e6b307a833d3a0ba4327004c2a286680e01eae3b",
      "tree": "2528f047258d16a1c5aa53415388804828c43ee4",
      "parents": [
        "4b2e98fc8c257a27a95fecbc859fcc617e2fa827",
        "6b06953817bdf613b52389c457e2f4ed6cf46f5c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Aug 07 23:33:43 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 07 23:33:43 2015 +0000"
      },
      "message": "Merge \"Add class table field to class loader\""
    },
    {
      "commit": "eb3bd88f263d8fed12132bb3cb4444c6f289c6ca",
      "tree": "e3f86ccf55bd5f8f80390c5c0af690854a9c8956",
      "parents": [
        "3ded7766981b3105c7686e0c9d75c378c42fa4a0"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 07 16:19:01 2015 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 07 16:19:01 2015 -0700"
      },
      "message": "Fix C++14 bitrot.\n\nChange-Id: I22f7925a87bca45646c563971342a9a1b2090ba6\n"
    },
    {
      "commit": "6b06953817bdf613b52389c457e2f4ed6cf46f5c",
      "tree": "fb4ba014d048eae6a28778568a9b7c30889a01b7",
      "parents": [
        "7fbaa22e10979cf17b8c1c0c96bef4919e9d4163"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 05 15:08:12 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Aug 07 16:10:07 2015 -0700"
      },
      "message": "Add class table field to class loader\n\nFixes bug with the class table where the comparator would cause read\nbarriers and break the map strict ordering properties.\n\nBug: 22957957\n\nChange-Id: I8dbc042db6e22e2172ab4ec58ddf1db0345dcaaa\n"
    },
    {
      "commit": "a27a67c98e12cd1a90431704a6d7bcbd546667fd",
      "tree": "06b83f5aaf89ece3719400b3cabcccb242ca0451",
      "parents": [
        "bc7db5356a68cf44d6497f6956e8a97dc9355b80",
        "46e857a8b905a59254ca749f664d1e808918f558"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Aug 06 14:46:41 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 06 14:46:41 2015 +0000"
      },
      "message": "Merge \"Fix image loading in interpeter-only mode\""
    },
    {
      "commit": "46e857a8b905a59254ca749f664d1e808918f558",
      "tree": "97f30b0b0b276b31e8dd905af10171891bc1c043",
      "parents": [
        "1f3f766d3b365d01f36b85dc19d40f754fa48533"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Aug 06 12:52:43 2015 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Aug 06 16:28:29 2015 +0200"
      },
      "message": "Fix image loading in interpeter-only mode\n\nFollow-up https://android-review.googlesource.com/162935. We now need\nan ArtMethodVisitor to update entrypoints of methods in the image.\n\nBug: 22832610\nChange-Id: I30ca9c369a73c3372694b446e73afa2e37890a65\n"
    },
    {
      "commit": "3901bbc170b73b13aa5092f5709a495a1847198f",
      "tree": "eeb30634318ff2d576870131d54d24b71ad2566a",
      "parents": [
        "1f3f766d3b365d01f36b85dc19d40f754fa48533"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Aug 06 11:37:02 2015 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Aug 06 11:38:32 2015 +0200"
      },
      "message": "Fix DDM reply buffer deallocation\n\nReply buffer is an uint8_t* allocated with new uint8_t[...] so it\nmust be deallocated with delete[], not free.\n\nChange-Id: Ib5d6387aa63f1e0393113f82602f661bbada4aa2\n"
    },
    {
      "commit": "54d220eb9cc51215d75b9e0fe921b94bebbb3fd6",
      "tree": "fe08749dea3ca6cad97bce48416beb37203efdf5",
      "parents": [
        "275bc5e5f318ba6ea1bad6c89c2924d1248b7523"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 30 16:20:06 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 05 18:15:22 2015 -0700"
      },
      "message": "Move ArtFields and ArtMethods to be a length prefixed array\n\nFixes race conditions between changing method and fields arrays\nbeing seen in the wrong order by the GC.\n\nBug: 22832610\nChange-Id: Ia21d6698f73ba207a6392c3d6b9be2658933073f\n"
    },
    {
      "commit": "02f0771bba69edd34b0b112902bb9132ed099c75",
      "tree": "669634d6447ee626e306665ebf3881c17be4ffec",
      "parents": [
        "94800f46da0aded5152545322ad842f89e8a21d8",
        "b1d8c314b55bb2df2b2bb72a3daaf5db65b7ebc7"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Aug 05 18:18:59 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 05 18:18:59 2015 +0000"
      },
      "message": "Merge \"Revert \"cleanup: Replace pointers with out-parameters and fix-up formatting\"\""
    },
    {
      "commit": "94800f46da0aded5152545322ad842f89e8a21d8",
      "tree": "fa17558ade66567e1a6b512db578344731dd146c",
      "parents": [
        "46e0f460aa233a4a0ac161bfafde164357fe2b26",
        "90ef3db4bd1d4865f5f9cb95c8e7d9afb46994f9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 05 18:02:53 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 05 18:02:53 2015 +0000"
      },
      "message": "Merge \"Address some comments and clean up\""
    },
    {
      "commit": "46e0f460aa233a4a0ac161bfafde164357fe2b26",
      "tree": "1563b1306cc930765209fce519081a67b64c6301",
      "parents": [
        "1339409345cc8b46d64570430ca3197408fda159",
        "d82e89ece0887e32e7630400db159ed01284f210"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 05 17:42:56 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 05 17:42:56 2015 +0000"
      },
      "message": "Merge \"Fix mod-union logic for native roots\""
    },
    {
      "commit": "d82e89ece0887e32e7630400db159ed01284f210",
      "tree": "0c5976d79a294c394ad6bff9edcfd021f61f3358",
      "parents": [
        "fd38927d03a5fdf4ccfce8b9e0ffb1a99c4f0b37"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 05 10:10:07 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 05 10:10:07 2015 -0700"
      },
      "message": "Fix mod-union logic for native roots\n\nBug: 22949217\nChange-Id: I9e4631870160d5a9412df1eec2a7b79c65668542\n"
    },
    {
      "commit": "4382f1ef6ab2d6992d330cc8b43057d9139a1243",
      "tree": "dbea9b43e11a0253a1eae59b1a6db21c5cd6d9ea",
      "parents": [
        "1cf85515600d298a2c9e4de137c0926949205097"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 05 01:08:53 2015 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Aug 04 19:11:29 2015 -0700"
      },
      "message": "Revert \"Revert \"ART: Use bionic TLS slot for thread-self\"\"\n\nThis reverts commit 50832b6804d15ea5ddfe99a2753a09111b5bfe37.\n\nFix clearing the TLS on detach.\n\nChange-Id: I75ed5ccccb4f31800e5f893055e96067a9695258\n"
    },
    {
      "commit": "90ef3db4bd1d4865f5f9cb95c8e7d9afb46994f9",
      "tree": "3c6f8989e0c6e027382a3c08d221ba97afd72291",
      "parents": [
        "1cf85515600d298a2c9e4de137c0926949205097"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 04 15:19:41 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 04 18:56:54 2015 -0700"
      },
      "message": "Address some comments and clean up\n\nChange-Id: I538cf204f1c89d5fc81f8fc5e5800fcf1cf87359\n"
    },
    {
      "commit": "1cf85515600d298a2c9e4de137c0926949205097",
      "tree": "4c0c6d8b111219dfde3cfddecbf1763037c64ad0",
      "parents": [
        "d2606b1b922573d45707931bc387cbf990771238",
        "50832b6804d15ea5ddfe99a2753a09111b5bfe37"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 05 00:36:05 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 05 00:36:05 2015 +0000"
      },
      "message": "Merge \"Revert \"ART: Use bionic TLS slot for thread-self\"\""
    },
    {
      "commit": "50832b6804d15ea5ddfe99a2753a09111b5bfe37",
      "tree": "ab80ccb63697ee973fd50c5083d7b56838b45e0b",
      "parents": [
        "b81535875ff46d1630c76091fe969a9eb7fc4d16"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 05 00:31:02 2015 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 05 00:31:02 2015 +0000"
      },
      "message": "Revert \"ART: Use bionic TLS slot for thread-self\"\n\nThis reverts commit b81535875ff46d1630c76091fe969a9eb7fc4d16.\n\nBreaking tests, need to investigate.\n\nChange-Id: Iab8c4f6136e6cb9bd6cf3c3495aa33962ef890ee\n"
    },
    {
      "commit": "bab71e2a51834dd6986f2166d332f540824687f9",
      "tree": "20090c63521589061bdc9f87aeb07aa2b4a1b377",
      "parents": [
        "fd38927d03a5fdf4ccfce8b9e0ffb1a99c4f0b37",
        "b81535875ff46d1630c76091fe969a9eb7fc4d16"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Aug 04 22:35:34 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 04 22:35:34 2015 +0000"
      },
      "message": "Merge \"ART: Use bionic TLS slot for thread-self\""
    },
    {
      "commit": "b1d8c314b55bb2df2b2bb72a3daaf5db65b7ebc7",
      "tree": "87e8252ee6ca23138f867989a098b7c4338c21a5",
      "parents": [
        "1d558db0bcd841140f6fe1c6ba2e9a6de131649d"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Aug 04 11:18:43 2015 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Aug 04 11:19:56 2015 -0700"
      },
      "message": "Revert \"cleanup: Replace pointers with out-parameters and fix-up formatting\"\n\nThis reverts commit a315f5c546b796f55f4872bb6efc15eb858d9639.\n\n--\n\nRevert \"runtime: cleanup class_linker out-parameters and formatting\"\n\nThis reverts commit bc1d78daa463572c5a770cdca858a3b51d8e1b7b.\n\n--\n\nRevert \"base: replace raw pointers for out-parameters with safer out\u003cT\u003e\"\n\nThis reverts commit fb326cffc679cab8eb873b9e44795706f023cb3c.\n"
    },
    {
      "commit": "9644ab4dc452aa5989a37963d62f154c31e82155",
      "tree": "e89bb0e8334a051b8ebaa8946076752e4a4efba1",
      "parents": [
        "28a94765b4188faf51eb20d9a400273cf12136d0"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Jul 27 10:10:44 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Aug 04 09:46:53 2015 -0700"
      },
      "message": "ART: Use Clang default integrated assembler.\n\nIssues with x86, arm32 and arm64 have been fixed.\nAllow the use of the integrated assembler.\n\nBug: 22874917\nChange-Id: Iacfffda29d57bfc931da568a9436c2e34cb38df6\n"
    },
    {
      "commit": "28a94765b4188faf51eb20d9a400273cf12136d0",
      "tree": "23723443b0bf4b425631b2cb418d71cf6123f0af",
      "parents": [
        "fe092ab1e3cfc106216aa5518393a55786f9ab0b",
        "e0d7cffe771bd0f4970051898b022d3f609fe28d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Aug 04 15:16:33 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 04 15:16:33 2015 +0000"
      },
      "message": "Merge \"ART: Fix arm32 assembly for Clang\""
    },
    {
      "commit": "e0d7cffe771bd0f4970051898b022d3f609fe28d",
      "tree": "c169272181e964f7d3103e5b19a186018b44f3ef",
      "parents": [
        "0c9c5bbdd6976c21602b92d9b455e6fe5d769fb0"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Jul 27 10:10:44 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Aug 04 08:15:38 2015 -0700"
      },
      "message": "ART: Fix arm32 assembly for Clang\n\nClang ignores .thumb_func and requires an explicit\n.thumb directive, as given by the ARM Unified Assembler\nLanguage. Conditionally add .thumb to thumb2 functions.\n\nBug: 22762844\nChange-Id: I08abdb5f4e0ba5135d4ed850ca3e284203f95a03\n"
    },
    {
      "commit": "611d3395e9efc0ab8dbfa4a197fa022fbd8c7204",
      "tree": "9a0a3b6750caae13b963b244719e03b8cfb49c44",
      "parents": [
        "0c9c5bbdd6976c21602b92d9b455e6fe5d769fb0"
      ],
      "author": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Fri Jul 10 11:42:06 2015 +0100"
      },
      "committer": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Tue Aug 04 09:02:56 2015 +0100"
      },
      "message": "ARM/ARM64: Implement numberOfLeadingZeros intrinsic.\n\nChange-Id: I4042fb7a0b75140475dcfca23e8f79d310f5333b\n"
    },
    {
      "commit": "0c9c5bbdd6976c21602b92d9b455e6fe5d769fb0",
      "tree": "072cadd47dee257ad905a54446c54f33c057db88",
      "parents": [
        "e3d598e240dd9ac26b4894dbb1312f42c4047fb3",
        "ff7b114aa660a169fbc48a35df87d1af85a54e60"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 03 22:07:15 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 03 22:07:15 2015 +0000"
      },
      "message": "Merge \"ART: Fix stub_test\""
    },
    {
      "commit": "e3d598e240dd9ac26b4894dbb1312f42c4047fb3",
      "tree": "8d5f90a27f5f47f26eba4e15a1c96d19e3919d51",
      "parents": [
        "743e9625bd4b9bddc8752170e647660986c53f08",
        "a315f5c546b796f55f4872bb6efc15eb858d9639"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Aug 03 21:27:27 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 03 21:27:27 2015 +0000"
      },
      "message": "Merge \"cleanup: Replace pointers with out-parameters and fix-up formatting\""
    },
    {
      "commit": "ff7b114aa660a169fbc48a35df87d1af85a54e60",
      "tree": "f977d278e37193506c4e2781ff10492915b629f4",
      "parents": [
        "e238414eee3ec933a4ceb1894666c9ef331ace0c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 03 10:25:06 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 03 10:25:06 2015 -0700"
      },
      "message": "ART: Fix stub_test\n\nClobber another register on arm32.\n\nChange-Id: I0d355f69dfa7e6d86cb7c211f6ac2cb56f995d9d\n"
    },
    {
      "commit": "bc576cfd9c85a285f15b8c33a2cc7f947d999f49",
      "tree": "d60d2cb1531da35db509d719df610668708541d2",
      "parents": [
        "855223fa12fc1efc926c068ea5c536663f30030d",
        "aabdf8ad2e8d3de953dff5c7591e7b3df4d4f60b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Aug 03 14:55:11 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 03 14:55:11 2015 +0000"
      },
      "message": "Merge \"Revert \"Optimizing String.Equals as an intrinsic (x86)\"\""
    },
    {
      "commit": "aabdf8ad2e8d3de953dff5c7591e7b3df4d4f60b",
      "tree": "f6edd510ed29e28343d40930953ac60962f18175",
      "parents": [
        "8ab7bd6c8b10ad58758c33a1dc9326212bd200e9"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Aug 03 14:54:45 2015 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Aug 03 14:54:45 2015 +0000"
      },
      "message": "Revert \"Optimizing String.Equals as an intrinsic (x86)\"\n\nReverted as it breaks the compilation of boot.{oat,art} on x86 (although this CL may not be the culprit, as the issue seems to come from Optimizing\u0027s register allocator).\n\nThis reverts commit 8ab7bd6c8b10ad58758c33a1dc9326212bd200e9.\n\nChange-Id: If7c8b6258d1e690f4d2a06bcc82c92563ac6cdef\n"
    },
    {
      "commit": "7a58566d2b0ad051b8ccaf5614ad986979af8ef4",
      "tree": "5a5fb1e0f651f928da78c0486cffb1d412d553d1",
      "parents": [
        "7879f7119d7a88a71f6c31c9b8eac27cdba8a123",
        "8ab7bd6c8b10ad58758c33a1dc9326212bd200e9"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Aug 03 08:48:11 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 03 08:48:11 2015 +0000"
      },
      "message": "Merge \"Optimizing String.Equals as an intrinsic (x86)\""
    },
    {
      "commit": "7879f7119d7a88a71f6c31c9b8eac27cdba8a123",
      "tree": "1bff08f48920e290a372b684c1a221b0a3114ea2",
      "parents": [
        "66c50cccd9dda431b2017ad04dc72b0c0f17d74e",
        "b29179611a5d24ada72d8a7914bc8c1259e6d5b6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Aug 01 04:14:14 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Aug 01 04:14:14 2015 +0000"
      },
      "message": "Merge \"ART: Check a RETURN_VOID_NO_BARRIER like a RETURN_VOID\""
    },
    {
      "commit": "b29179611a5d24ada72d8a7914bc8c1259e6d5b6",
      "tree": "6e0df28ab6f3856a0cd4271bafff8d660e93566b",
      "parents": [
        "0d72ce0b4f9eaf0f60c70a2901198099086795e0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 31 13:36:10 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 31 21:12:45 2015 -0700"
      },
      "message": "ART: Check a RETURN_VOID_NO_BARRIER like a RETURN_VOID\n\nRETURN_VOID_NO_BARRIER is used in all methods with return-void,\nas long as they\u0027re not a constructor and have been quickened. As\nsuch, do the regular checking of the return type.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d181700\nBug: 22871329\nChange-Id: I11bcf7bffd91fc01995b703a99e603ddb370016e\n"
    },
    {
      "commit": "a315f5c546b796f55f4872bb6efc15eb858d9639",
      "tree": "188bcbab728423d79147fd9d9da45c2539371ac5",
      "parents": [
        "bc1d78daa463572c5a770cdca858a3b51d8e1b7b"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jul 31 17:35:52 2015 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jul 31 17:35:52 2015 -0700"
      },
      "message": "cleanup: Replace pointers with out-parameters and fix-up formatting\n\nCleans all of oat_file.h/.cc, parsed_options.h./cc, runtime.h/.cc\n\nOther files are touched only incidentally to use outof(x) instead of \u0026x.\n\nChange-Id: I0bb15111149d53bb21aac2199ef33bd35333b0ca\n"
    },
    {
      "commit": "66c50cccd9dda431b2017ad04dc72b0c0f17d74e",
      "tree": "599e5e982fd241b204b98afd50c745c336f9617c",
      "parents": [
        "5cdee205231993c5f3a5f815f614d9d460448615",
        "bc1d78daa463572c5a770cdca858a3b51d8e1b7b"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jul 31 23:03:58 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 31 23:03:58 2015 +0000"
      },
      "message": "Merge \"runtime: cleanup class_linker out-parameters and formatting\""
    },
    {
      "commit": "bc1d78daa463572c5a770cdca858a3b51d8e1b7b",
      "tree": "d33ae78ec8b5e1f9e4b088545e346306d3c4f04e",
      "parents": [
        "8e568d079b052db118d83e6e89ea36ab4fa4bfb1"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jul 30 16:39:45 2015 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jul 31 16:03:00 2015 -0700"
      },
      "message": "runtime: cleanup class_linker out-parameters and formatting\n\n* Use out\u003cT\u003e instead of parameters\n* Fixes up some other signatures to be more correct\n* Reformat parameters to be one per line if they can\u0027t fit on one line\n* Reformat locks to be one per line if they can\u0027t fit on the decl line\n\nChange-Id: Ib71b08707d3ed0bb85299406c0b23a1de4e92a1c\n"
    },
    {
      "commit": "5cdee205231993c5f3a5f815f614d9d460448615",
      "tree": "f901760c078b4aca36cc24947b1b61294669f01f",
      "parents": [
        "9c977b9260927d14c6d6c5bbdd7d16e1aebbf2fa",
        "40c8141b48275afd1680b99878782848ab3a6761"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jul 31 23:02:50 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 31 23:02:50 2015 +0000"
      },
      "message": "Merge \"Revert \"runtime: cleanup class_linker out-parameters and formatting\"\""
    },
    {
      "commit": "40c8141b48275afd1680b99878782848ab3a6761",
      "tree": "392afd0841072bf69ec19d2867d55ba003d3969a",
      "parents": [
        "0de694ed3efe8412b83622a24074831edcc7e384"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jul 31 23:02:30 2015 +0000"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jul 31 23:02:30 2015 +0000"
      },
      "message": "Revert \"runtime: cleanup class_linker out-parameters and formatting\"\n\nThis reverts commit 0de694ed3efe8412b83622a24074831edcc7e384.\n\nChange-Id: I4b185584d6e47918179b16d76709cc3366872f3c\n"
    },
    {
      "commit": "9c977b9260927d14c6d6c5bbdd7d16e1aebbf2fa",
      "tree": "ef097c7872afb1a0b83fcc5b6c316d14a855944d",
      "parents": [
        "0d72ce0b4f9eaf0f60c70a2901198099086795e0",
        "0de694ed3efe8412b83622a24074831edcc7e384"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jul 31 23:02:04 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 31 23:02:04 2015 +0000"
      },
      "message": "Merge \"runtime: cleanup class_linker out-parameters and formatting\""
    },
    {
      "commit": "8ab7bd6c8b10ad58758c33a1dc9326212bd200e9",
      "tree": "14b01d701a3bce6fd86d8e968f29cb51ad56caf2",
      "parents": [
        "8433bb8a3120d064de97a692d98341d9bc29a985"
      ],
      "author": {
        "name": "agicsaki",
        "email": "agicsaki@google.com",
        "time": "Mon Jul 27 10:25:10 2015 -0700"
      },
      "committer": {
        "name": "agicsaki",
        "email": "agicsaki@google.com",
        "time": "Fri Jul 31 15:51:35 2015 -0700"
      },
      "message": "Optimizing String.Equals as an intrinsic (x86)\n\nThe third implementation of String.Equals.  I added an intrinsic\nin x86 which is similar to the original java implementation of\nString.equals: an instanceof check, null check, length check, and\nreference equality check followed by a loop comparing strings\ncharacter by character.\n\nInteresting Benchmarking Values:\n\nOptimizing Compiler on Nexus Player\n\tIntrinsic 15-30 Character Strings: 177 ns\n\tOriginal 15-30 Character Strings: 275 ns\n\tIntrinsic Null Argument: 59 ns\n\tOriginal Null Argument: 137 ns\n\tIntrinsic 100-1000 Character Strings: 1812 ns\n\tOriginal 100-1000 Character Strings: 6334 ns\n\nBug: 21481923\nChange-Id: Ia386e19b9dbfe0dac688b20ec93d8f90f67af47e\n"
    },
    {
      "commit": "0de694ed3efe8412b83622a24074831edcc7e384",
      "tree": "aff7ab7c66a2da2c9833bab65bfd0ad042963de6",
      "parents": [
        "8e568d079b052db118d83e6e89ea36ab4fa4bfb1"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jul 30 16:39:45 2015 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jul 31 14:49:34 2015 -0700"
      },
      "message": "runtime: cleanup class_linker out-parameters and formatting\n\n* Use out\u003cT\u003e instead of parameters\n* Fixes up some other signatures to be more correct\n* Reformat parameters to be one per line if they can\u0027t fit on one line\n* Reformat locks to be one per line if they can\u0027t fit on the decl line\n\nChange-Id: I1031cf4edc41f95b89edb343d43ef93e15384206\n"
    },
    {
      "commit": "0d72ce0b4f9eaf0f60c70a2901198099086795e0",
      "tree": "f901760c078b4aca36cc24947b1b61294669f01f",
      "parents": [
        "7423f0b66060711cddcdbc7ba5b0dd3f2df36718",
        "07e0e6b076b2b8d0a03f3caf94ff8c71fa807d29"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 31 20:31:40 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 31 20:31:40 2015 +0000"
      },
      "message": "Merge \"Revert \"ART: Do not allow RETURN_VOID_NO_BARRIER outside constructors\"\""
    },
    {
      "commit": "07e0e6b076b2b8d0a03f3caf94ff8c71fa807d29",
      "tree": "59476c1461aa80decc80e5bf2c0bf490d387ab01",
      "parents": [
        "e93505f599682a2e95c4dac1c8633dec79c602bc"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 31 20:31:24 2015 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 31 20:31:24 2015 +0000"
      },
      "message": "Revert \"ART: Do not allow RETURN_VOID_NO_BARRIER outside constructors\"\n\nThis reverts commit e93505f599682a2e95c4dac1c8633dec79c602bc.\n\nThis isn\u0027t the right thing to do, actually.\n\nBug: 22871329\nChange-Id: I0a0a5a86c7c8d8afdf417444ca7d73e56e040515\n"
    },
    {
      "commit": "7423f0b66060711cddcdbc7ba5b0dd3f2df36718",
      "tree": "0b99d0108c70ecf35deba6f9a27899850712700d",
      "parents": [
        "8d72e5d9cb61c9517d2e96776e4443427c66fd0d",
        "e93505f599682a2e95c4dac1c8633dec79c602bc"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 31 19:04:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 31 19:04:29 2015 +0000"
      },
      "message": "Merge \"ART: Do not allow RETURN_VOID_NO_BARRIER outside constructors\""
    }
  ],
  "next": "e93505f599682a2e95c4dac1c8633dec79c602bc"
}
