)]}'
{
  "log": [
    {
      "commit": "418318f4d50e0cfc2d54330d7623ee030d4d727d",
      "tree": "46afabf57409a5208be4eebf31e1dcbf63dc8fde",
      "parents": [
        "60c4c6ad2b892bb00a6016a147b1cc089ba6bcb5"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Fri Nov 20 15:55:47 2015 +0000"
      },
      "committer": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Fri Nov 20 15:55:47 2015 +0000"
      },
      "message": "ARM64: Add support for multiply-accumulate.\n\nChange-Id: I88dc313df520480f3fd16bbabda27f9435d25368\n"
    },
    {
      "commit": "60c4c6ad2b892bb00a6016a147b1cc089ba6bcb5",
      "tree": "420b802e0e8e8e02e6bea03808ef8f7aa7850719",
      "parents": [
        "53ced034cd81f35ea9b37ca977cf6634ddaa7cf9",
        "38db785600757a832423e076b3cf0af3bee942d8"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Nov 20 15:43:58 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 20 15:43:58 2015 +0000"
      },
      "message": "Merge \"Opt compiler: More strength reduction for multiplications.\""
    },
    {
      "commit": "38db785600757a832423e076b3cf0af3bee942d8",
      "tree": "420b802e0e8e8e02e6bea03808ef8f7aa7850719",
      "parents": [
        "53ced034cd81f35ea9b37ca977cf6634ddaa7cf9"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Fri Nov 20 15:02:45 2015 +0000"
      },
      "committer": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Fri Nov 20 15:02:45 2015 +0000"
      },
      "message": "Opt compiler: More strength reduction for multiplications.\n\nWe transform code looking like\n\n   MUL dst, src, (2^n + 1)\n\ninto\n\n   SHL tmp, src, n\n   ADD dst, src, tmp\n\nand code looking like\n\n   MUL dst, src, (2^n - 1)\n\ninto\n\n   SHL tmp, src, n\n   SUB dst, tmp, src\n\nChange-Id: Ia620ab68758caa70a01530b88cd65dd0444376d7\n"
    },
    {
      "commit": "53ced034cd81f35ea9b37ca977cf6634ddaa7cf9",
      "tree": "500a05bed0019397a59ce0fc981d6644e8ccbebb",
      "parents": [
        "beb709a2607a00b5df33f0235f22ccdd876cee22",
        "c53c0797a78a89d637e4230503cc1feb27e855a8"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 20 10:53:56 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 20 10:53:56 2015 +0000"
      },
      "message": "Merge \"Clean up the special input in HInvokeStaticOrDirect.\""
    },
    {
      "commit": "beb709a2607a00b5df33f0235f22ccdd876cee22",
      "tree": "aff8281b45fba2dbfd0d5049679b59e83b991f9e",
      "parents": [
        "7dd1260c564c1504a37bfa41e1372868c605ffdd",
        "732f016139acac7bd7ec0d0c1d5e964eb8a28b2e"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Nov 20 01:24:59 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 20 01:24:59 2015 +0000"
      },
      "message": "Merge \"Revert \"Use arc4random when available to select delta for image relocation.\"\""
    },
    {
      "commit": "732f016139acac7bd7ec0d0c1d5e964eb8a28b2e",
      "tree": "6ea503f90c55e1879c170b2de096496931282122",
      "parents": [
        "7ecbd49c6c78e6c633883aa6766675df8abaa7dd"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Nov 20 01:24:47 2015 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Nov 20 01:24:47 2015 +0000"
      },
      "message": "Revert \"Use arc4random when available to select delta for image relocation.\"\n\nThis reverts commit 7ecbd49c6c78e6c633883aa6766675df8abaa7dd.\n\nChange-Id: Ifb37e23584722b31cb2369bcc9b91da6146d2cf6\n"
    },
    {
      "commit": "7dd1260c564c1504a37bfa41e1372868c605ffdd",
      "tree": "3009f75ca01b671f9c54e2643e0f9082839724ee",
      "parents": [
        "d042c4514abe104c9591e9336321e11102347105",
        "7ecbd49c6c78e6c633883aa6766675df8abaa7dd"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Nov 20 01:17:20 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 20 01:17:20 2015 +0000"
      },
      "message": "Merge \"Use arc4random when available to select delta for image relocation.\""
    },
    {
      "commit": "7ecbd49c6c78e6c633883aa6766675df8abaa7dd",
      "tree": "612cfb1749b8cf74b92c29dcf00141e76e28484f",
      "parents": [
        "16cabc4acd14d5a61c73cef821162e1827f08788"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Nov 19 11:03:10 2015 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Nov 19 16:47:49 2015 -0800"
      },
      "message": "Use arc4random when available to select delta for image relocation.\n\nBug: 25776162\n\nChange-Id: I1c4cc992977b5d6fe782ff819903a802a40391ee\n"
    },
    {
      "commit": "d042c4514abe104c9591e9336321e11102347105",
      "tree": "aff8281b45fba2dbfd0d5049679b59e83b991f9e",
      "parents": [
        "e74369f0aeb405a5458d0b831bd6e2cac44bcd83",
        "9450c6c25833e8353e436bbd0491ed96cd80f34f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Nov 20 00:41:58 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 20 00:41:58 2015 +0000"
      },
      "message": "Merge \"Remove thread suspension assertion for SuspendAllForDebugger\""
    },
    {
      "commit": "e74369f0aeb405a5458d0b831bd6e2cac44bcd83",
      "tree": "ecf910556f7d6e4a0cdfa7dfc271f3894909e601",
      "parents": [
        "16cabc4acd14d5a61c73cef821162e1827f08788",
        "d37d364c27e74a7b49970a8c970482e273aa7b1a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Nov 20 00:35:00 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 20 00:35:00 2015 +0000"
      },
      "message": "Merge \"Create parent class loader for dex2oat\""
    },
    {
      "commit": "d37d364c27e74a7b49970a8c970482e273aa7b1a",
      "tree": "ecf910556f7d6e4a0cdfa7dfc271f3894909e601",
      "parents": [
        "16cabc4acd14d5a61c73cef821162e1827f08788"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 19 16:05:58 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 19 16:11:03 2015 -0800"
      },
      "message": "Create parent class loader for dex2oat\n\nThis means we also put the class loader in the app image so that it\ncan be used for verifying the dex file order.\n\nBug: 22858531\nChange-Id: I30761b59421c8a24cffd62b469134b25d2929e2e\n"
    },
    {
      "commit": "16cabc4acd14d5a61c73cef821162e1827f08788",
      "tree": "6ea503f90c55e1879c170b2de096496931282122",
      "parents": [
        "090a481ca6ed5bb0e7a450dff7da96a17254c583",
        "ed70b4a439acea537d55266bb9b1f309de8cbec9"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Nov 19 22:51:15 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 19 22:51:15 2015 +0000"
      },
      "message": "Merge \"Relax CAS in some uses of Object::AtomicSetReadBarrierPointer.\""
    },
    {
      "commit": "ed70b4a439acea537d55266bb9b1f309de8cbec9",
      "tree": "a07acec5e5228f21a97fef0d5363b238a4ccef27",
      "parents": [
        "cb6638ff664e3136ccfee3cffb9307e0d43ffbc1"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Nov 17 17:52:15 2015 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Nov 19 10:53:08 2015 -0800"
      },
      "message": "Relax CAS in some uses of Object::AtomicSetReadBarrierPointer.\n\nAside from the call to change the object from gray to black, the CAS in\nAtomicSetReadBarrierPointer doesn\u0027t need to be a release CAS.\n\nCC collector Ritz EAAC GC time: 28.4 -\u003e 26.5s (-6.7%) on N5.\n\nBug: 12687968\n\nChange-Id: Ic162717981b98e7f1e762fd6b27bd0c146187ca4\n"
    },
    {
      "commit": "090a481ca6ed5bb0e7a450dff7da96a17254c583",
      "tree": "a66bdc458b1ee3f84b60bd59edf37e0e111d4fb2",
      "parents": [
        "33a9a16a7fe21d37125853e888634d9de0b71a98",
        "295a5963dc127d5d6a269d672d47512f51992915"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 19 18:18:19 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 19 18:18:19 2015 +0000"
      },
      "message": "Merge \"Fix cmdline parser test.\""
    },
    {
      "commit": "295a5963dc127d5d6a269d672d47512f51992915",
      "tree": "34beb9d23681d2aec1251e78a8e4725eae3632f1",
      "parents": [
        "34053d1f5a9a3d98b5e45d395ed95ba66b518d4d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 19 18:17:41 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 19 18:17:41 2015 +0000"
      },
      "message": "Fix cmdline parser test.\n\nChange-Id: I6f03552d8d48e875f80a69455397146b132ed623\n"
    },
    {
      "commit": "33a9a16a7fe21d37125853e888634d9de0b71a98",
      "tree": "f5dbcdd61cb70f1c61c700e90264868b3dedb477",
      "parents": [
        "34053d1f5a9a3d98b5e45d395ed95ba66b518d4d",
        "b2d38fdb968c818e53a4f82ce0a513cbd3bfa299"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Nov 19 17:46:50 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 19 17:46:50 2015 +0000"
      },
      "message": "Merge \"Allow NullConstant to be untyped in GraphVisualiser.\""
    },
    {
      "commit": "b2d38fdb968c818e53a4f82ce0a513cbd3bfa299",
      "tree": "7f605ad4cef6b95d01380d778680d9dfc217265d",
      "parents": [
        "9231730cd0e285373afd73331168b289309ebee4"
      ],
      "author": {
        "name": "Mark Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Mon Nov 16 12:21:53 2015 -0500"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Nov 19 17:46:00 2015 +0000"
      },
      "message": "Allow NullConstant to be untyped in GraphVisualiser.\n\nThe NullConstant may be added to the graph during other passes that\nhappen between ReferenceTypePropagation and Inliner (e.g.\nInstructionSimplifier). If the inliner doesn\u0027t run or doesn\u0027t inline\nanything, the NullConstant remains untyped.\n\nThe infrastructure to properly type NullConstants everywhere is to\ncomplex to add for the benefits\n\nBug: 25786318\n\nChange-Id: I904a3e605b57f8cac9936e82f19a4994c7b1a82a\nSigned-off-by: Mark Mendell \u003cmark.p.mendell@intel.com\u003e\n"
    },
    {
      "commit": "34053d1f5a9a3d98b5e45d395ed95ba66b518d4d",
      "tree": "81c7dcdba15b55b98e6ce5d24dbf2a347dd3eda9",
      "parents": [
        "bc58b020c85d2bb66e21184b8969215d7ea817b0",
        "972d6d7b3b36c48ead6d95fa6a2a936390b868ac"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 19 16:12:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 19 16:12:57 2015 +0000"
      },
      "message": "Merge \"MIPS64: Add java.lang.String.equals intrinsic.\""
    },
    {
      "commit": "c53c0797a78a89d637e4230503cc1feb27e855a8",
      "tree": "194d9215590abf283d2b278adf39462d3b704c1b",
      "parents": [
        "ee7d4a3d574d8789fb0d1860eba284ae5099f10d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 19 15:48:33 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 19 16:08:12 2015 +0000"
      },
      "message": "Clean up the special input in HInvokeStaticOrDirect.\n\nChange-Id: I4042aefbdac1a8c236d00e2e7145349a64f6486b\n"
    },
    {
      "commit": "bc58b020c85d2bb66e21184b8969215d7ea817b0",
      "tree": "7c1c84c080a79c2c4cc31d66b7d8ae80e0f0cc6f",
      "parents": [
        "ee7d4a3d574d8789fb0d1860eba284ae5099f10d",
        "56782291837a17ebb944c772db5ae20e39d1f3c6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 19 15:48:01 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 19 15:48:01 2015 +0000"
      },
      "message": "Merge \"Rename options for shorter names.\""
    },
    {
      "commit": "56782291837a17ebb944c772db5ae20e39d1f3c6",
      "tree": "cb77b6b78f512bb1e580425d850d2688c537be78",
      "parents": [
        "69edd0dbce97f786f71596d696e17be0f380f405"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 19 14:25:43 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 19 14:31:08 2015 +0000"
      },
      "message": "Rename options for shorter names.\n\nChange-Id: I2ea98ead4cd99d6a51cbfa149b0aab5e036ffb96\n"
    },
    {
      "commit": "ee7d4a3d574d8789fb0d1860eba284ae5099f10d",
      "tree": "712c75a0997922bf5a6387b181afbeb853de10ad",
      "parents": [
        "d846a2cc45aae5b1c84b5ac51cdd37a22b8447ff",
        "3b359c71f2fb784589be113206932e76807787bb"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 19 14:01:37 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 19 14:01:37 2015 +0000"
      },
      "message": "Merge \"ARM read barrier support for concurrent GC in Optimizing.\""
    },
    {
      "commit": "d846a2cc45aae5b1c84b5ac51cdd37a22b8447ff",
      "tree": "36347c2c6d2b89d1d6347c6c259def427b0fc2a4",
      "parents": [
        "69edd0dbce97f786f71596d696e17be0f380f405",
        "fbb184a1c6df22d9302b32b55206396c8278edcf"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 19 13:12:09 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 19 13:12:09 2015 +0000"
      },
      "message": "Merge \"Fix ClinitCheck pruning.\""
    },
    {
      "commit": "fbb184a1c6df22d9302b32b55206396c8278edcf",
      "tree": "c1a952cec4b5c15e30728f83da0cc5ac20c0bad9",
      "parents": [
        "2f49b0a90720fe9f4cab040c376aab5f387967e3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 13 14:47:00 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 19 11:58:41 2015 +0000"
      },
      "message": "Fix ClinitCheck pruning.\n\nMake sure we merge the ClinitCheck only with LoadClass and\nHInvokeStaticOrDirect that is a part of the very same dex\ninstruction. This fixes incorrect stack traces from class\ninitializers (wrong dex pcs).\n\nRewrite the pruning to do all the ClinitCheck merging when\nwe see the ClinitCheck, instead of merging ClinitCheck into\nLoadClass and then LoadClass into HInvokeStaticOrDirect.\nWhen we later see an HInvokeStaticOrDirect with an explicit\ncheck (i.e. not merged), we know that some other instruction\nis doing the check and the invoke doesn\u0027t need to, so we\nmark it as not requiring the check at all. (Previously it\nwould have been marked as having an implicit check.)\n\nRemove the restriction on merging with inlined invoke static\nas this is not necessary anymore. This was a workaround for\n    X.test():\n       invoke-static C.foo() [1]\n    C.foo():\n       invoke-static C.bar() [2]\nAfter inlining and GVN we have\n    X.test():\n       LoadClass C (from [1])\n       ClinitCheck C (from [1], to be merged to LoadClass)\n       InvokeStaticOrDirect C.bar() (from [2])\nand the LoadClass must not be merged into the invoke as this\nwould cause the resolution trampoline to see an inlined\nframe from the not-yet-loaded class C during the stack walk\nand try to load the class. However, we\u0027re not allowed to\nload new classes at that point, so an attempt to do so leads\nto an assertion failure. With this CL, LoadClass is not\nmerged when it comes from a different instruction, so we can\nguarantee that all inlined frames seen by the stack walk in\nthe resolution trampoline belong to already loaded classes.\n\nChange-Id: I2b8da8d4f295355dce17141f0fab2dace126684d\n"
    },
    {
      "commit": "69edd0dbce97f786f71596d696e17be0f380f405",
      "tree": "6946ed07f3b840aa2b1d69b05243723d0a606a3c",
      "parents": [
        "a43a851f508b5034b39b98e838ce2be20298fbf3",
        "0a3be1620a3560253cfa789cb9819013293c5654"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 19 11:40:15 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 19 11:40:15 2015 +0000"
      },
      "message": "Merge \"Increase code cache after 1 full collection.\""
    },
    {
      "commit": "0a3be1620a3560253cfa789cb9819013293c5654",
      "tree": "7bdbc40b620706a83a0904ee1544e4be1c61f695",
      "parents": [
        "991842a5273d20695dd5f35eb9a9e28c386c5b4b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 18 11:15:22 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 19 11:30:39 2015 +0000"
      },
      "message": "Increase code cache after 1 full collection.\n\nAlso add a max capacity option.\n\nChange-Id: Icd442b72e9be0c6b091b588b4c4473c69b7cde10\n"
    },
    {
      "commit": "a43a851f508b5034b39b98e838ce2be20298fbf3",
      "tree": "abec643537d044d609e9461b6b42cd552c529975",
      "parents": [
        "0f0d5f370dca8bbdb97c61ea30e1b0476ee7749a",
        "8332cda2d33e77d79c5b2c411052302c43921f49"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 19 11:29:36 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 19 11:29:36 2015 +0000"
      },
      "message": "Merge \"Add jack as a build target for the buildbot.\""
    },
    {
      "commit": "8332cda2d33e77d79c5b2c411052302c43921f49",
      "tree": "abec643537d044d609e9461b6b42cd552c529975",
      "parents": [
        "0f0d5f370dca8bbdb97c61ea30e1b0476ee7749a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 19 11:02:50 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 19 11:28:24 2015 +0000"
      },
      "message": "Add jack as a build target for the buildbot.\n\nThis avoids dist targets to try on killing the jack server.\n\nChange-Id: Icb913f3ba70ef4c5abd46ebac56cb283e17f0f12\n"
    },
    {
      "commit": "0f0d5f370dca8bbdb97c61ea30e1b0476ee7749a",
      "tree": "d61c266ca2f296d560fa5a02f45554f29faaf45f",
      "parents": [
        "31c0d484c1f492909c4843c29c08c701f5b6eae9",
        "3db9c5da2925ca5ca82cc37b60a8e9fc39e88d1d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 19 06:27:53 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 19 06:27:53 2015 +0000"
      },
      "message": "Merge \"ART: Change Init{From,Without}Image to return bool\""
    },
    {
      "commit": "3db9c5da2925ca5ca82cc37b60a8e9fc39e88d1d",
      "tree": "eb963403d06cad9ff2569f669ef714425d40c893",
      "parents": [
        "3ce45f4e6abd725407a539521f69959a6ac5a9c1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 17 11:52:46 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 18 22:26:39 2015 -0800"
      },
      "message": "ART: Change Init{From,Without}Image to return bool\n\nRewrite some CHECKs to return false. For a common failure (missing)\nimage, this improves the abort (as it\u0027s not a runtime abort with\nlots of stack traces anymore).\n\nChange-Id: I717b1db74950267ced0ad3bafa1aed1693680062\n"
    },
    {
      "commit": "31c0d484c1f492909c4843c29c08c701f5b6eae9",
      "tree": "c90399f680cdd60be823692f9431ebd816f5d336",
      "parents": [
        "2f99a1c5b70852533a1c7406c1965d753efc810c",
        "763a31ed7a2bfad22a9cb07f5301a71c0f97ca49"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 19 01:55:31 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 19 01:55:31 2015 +0000"
      },
      "message": "Merge \"Add immune spaces abstraction\""
    },
    {
      "commit": "763a31ed7a2bfad22a9cb07f5301a71c0f97ca49",
      "tree": "c90399f680cdd60be823692f9431ebd816f5d336",
      "parents": [
        "2f99a1c5b70852533a1c7406c1965d753efc810c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 16 16:05:55 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 18 17:03:50 2015 -0800"
      },
      "message": "Add immune spaces abstraction\n\nImmuneSpaces is a set of spaces which are not reclaimable by the GC in\nthe current collection. This set of spaces does not have requirements\nabout space adjacency like the old ImmuneRegion. ImmuneSpaces generates\nthe largest immune region for the GC. Since there is no requirement on\nadjacency, it is possible to have multiple non-adjacent applicaton\nimage files.\n\nFor image spaces, we also look at the oat code which is normally after\nthe application image. In this case, we add the code as part of the\nimmune region. This is required to have both the boot image and the\nzygote space be in the same immune region (for performance reasons).\n\nBug: 22858531\n\nChange-Id: I5103b31c0e39ad63c594f5557fc848a3b288b43e\n"
    },
    {
      "commit": "2f99a1c5b70852533a1c7406c1965d753efc810c",
      "tree": "37827a64af4126481cac5a152e5e7cc1e2d263ea",
      "parents": [
        "b9bbbeb2b05d74cae0fe0682a26b19f5a7e68d8c",
        "0ff7afc79169f786785419deaa97452f82103520"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Nov 18 23:33:40 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 18 23:33:40 2015 +0000"
      },
      "message": "Merge \"Fix an assert in lse.\""
    },
    {
      "commit": "0ff7afc79169f786785419deaa97452f82103520",
      "tree": "37827a64af4126481cac5a152e5e7cc1e2d263ea",
      "parents": [
        "b9bbbeb2b05d74cae0fe0682a26b19f5a7e68d8c"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Nov 18 15:20:37 2015 -0800"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Nov 18 15:31:11 2015 -0800"
      },
      "message": "Fix an assert in lse.\n\nWrong assert. Just deleted it.\n\nChange-Id: I6f051609d87b2c6da081ee63f783ce99462f8a09\n"
    },
    {
      "commit": "b9bbbeb2b05d74cae0fe0682a26b19f5a7e68d8c",
      "tree": "1de557901bb185321784101c2cb319b7f75e91c7",
      "parents": [
        "a341377bd5eb7cef471cb29a382e1614523e5a6c",
        "fb8464ae5f5194dc16278e528cfcbff71498c767"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Nov 18 21:29:47 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 18 21:29:47 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Enable store elimination for singleton objects.\"\"\""
    },
    {
      "commit": "fb8464ae5f5194dc16278e528cfcbff71498c767",
      "tree": "9361521497f31fd024f36980464d17bee7c83d52",
      "parents": [
        "9231730cd0e285373afd73331168b289309ebee4"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Mon Nov 02 10:56:59 2015 -0800"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Nov 18 13:27:16 2015 -0800"
      },
      "message": "Revert \"Revert \"Enable store elimination for singleton objects.\"\"\n\nThis reverts commit 55d02cf056f993aeafebd54e7b7c68c7a48507c9, and\nmakes the following change:\nCurrently we leverage loop side effects to decide whether heap values are\nkilled by the loop. Stores need to be kept if heap values may be killed\nby loops and the corresponding loads cannot be eliminated. Similar thing\nneed to be done for each predecessor when we merge predecessor heap values.\nTo do that, the HInstanceFieldSet instruction itself is put in the heap\nvalue array instead of the value of the store instruction. The store\ninstruction may be added to possibly_removed_stores_ first, but can later\nbe removed from possibly_removed_stores_ when it\u0027s found out that the store\nneeds to be kept due to merging/loop side effects.\n\nChange-Id: I4f7bb1960f7b47240873e00ff1adac46fc102a02\n"
    },
    {
      "commit": "a341377bd5eb7cef471cb29a382e1614523e5a6c",
      "tree": "fef4985987c931d4705c012700c7d4fdac0bbd82",
      "parents": [
        "9231730cd0e285373afd73331168b289309ebee4",
        "055b5f352854aaa92289bcd320a393d201ebf26b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 18 20:06:43 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 18 20:06:43 2015 +0000"
      },
      "message": "Merge \"Remove incorrect iterator increment\""
    },
    {
      "commit": "055b5f352854aaa92289bcd320a393d201ebf26b",
      "tree": "fef4985987c931d4705c012700c7d4fdac0bbd82",
      "parents": [
        "9231730cd0e285373afd73331168b289309ebee4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 18 10:24:43 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 18 10:24:43 2015 -0800"
      },
      "message": "Remove incorrect iterator increment\n\nErase already goes to the next element.\n\nBug: 25738102\nChange-Id: Iea31a7fb27ce9f810acf019a7b59dda7704b8f26\n"
    },
    {
      "commit": "9231730cd0e285373afd73331168b289309ebee4",
      "tree": "6e0a4b2ed3560a405af758661a2fce759760bbf7",
      "parents": [
        "349baca032735e4a386b74709aa94d17f076cbce",
        "3927c8b8361336f1b16aae6eb2ed7577b20560f4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 18 17:09:04 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 18 17:09:04 2015 +0000"
      },
      "message": "Merge \"Opt compiler: Arm64 packed-switch jump tables.\""
    },
    {
      "commit": "3927c8b8361336f1b16aae6eb2ed7577b20560f4",
      "tree": "daa5ffabb2103980538200097b5fb97c5bc2193a",
      "parents": [
        "cb6638ff664e3136ccfee3cffb9307e0d43ffbc1"
      ],
      "author": {
        "name": "Zheng Xu",
        "email": "zheng.xu@linaro.org",
        "time": "Wed Nov 18 17:46:25 2015 +0800"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 18 16:11:25 2015 +0000"
      },
      "message": "Opt compiler: Arm64 packed-switch jump tables.\n\nIn this patch, we set a rough threshold and only generate jump table\nwith limited number of HIRs in the graph. This is because current VIXL\ncan only handle Adr with label in the range of +/-1Mb.\n\nChange-Id: I42bff2095ec26caeacc5efc90afebe34e229b518\n"
    },
    {
      "commit": "349baca032735e4a386b74709aa94d17f076cbce",
      "tree": "a7e1b95026fb455077a4faeffebb76c4ff8d0d7e",
      "parents": [
        "f5dd91e0461b5bb0f401a51dee39f92d52b375e7",
        "ba69a51724d33444064443e456ce78b71db2fd16"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 18 10:56:51 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 18 10:56:51 2015 +0000"
      },
      "message": "Merge \"Fix bogus DCHECK and rename DidForkFromZygote.\""
    },
    {
      "commit": "ba69a51724d33444064443e456ce78b71db2fd16",
      "tree": "a7e1b95026fb455077a4faeffebb76c4ff8d0d7e",
      "parents": [
        "f5dd91e0461b5bb0f401a51dee39f92d52b375e7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 17 13:50:21 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 18 10:50:47 2015 +0000"
      },
      "message": "Fix bogus DCHECK and rename DidForkFromZygote.\n\nThe method can also be called for non-zygote forked processes.\n\n(cherry picked from commit 9d157e48e0abc48f08fd98e4c5e918d029c1b84c)\n\nChange-Id: Id4f57b77c1a7f802f80e066afcf30afecc198bfc\n"
    },
    {
      "commit": "f5dd91e0461b5bb0f401a51dee39f92d52b375e7",
      "tree": "d542ff8ed81577655580b341ba47ad61630c5ee6",
      "parents": [
        "a4d1b6438ffaa68307480e8bb40cd18842daa2f3",
        "787ae8eb018d46b4b464e3a7c8de37d9262deb61"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 18 10:47:50 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 18 10:47:50 2015 +0000"
      },
      "message": "Merge \"Remove DEBUG_JIT from Zygote flags.\""
    },
    {
      "commit": "a4d1b6438ffaa68307480e8bb40cd18842daa2f3",
      "tree": "01f1e2899b88f9c3848d45bce7aa144c360f2940",
      "parents": [
        "a7a3ba792d608535e4d53ccc3b7a89d110609f12",
        "52503d83d057c66ea50eed491290e267b80e1fd3"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Nov 18 10:41:41 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 18 10:41:41 2015 +0000"
      },
      "message": "Merge \"Implement common super type in reference type propagation.\""
    },
    {
      "commit": "a7a3ba792d608535e4d53ccc3b7a89d110609f12",
      "tree": "2c9910ecd7ea709ed02f65878b3ada9b06e97be1",
      "parents": [
        "3e1ff83fb210818df66b7a0a7bc70dca6c7b9d47",
        "636b9252af8d8848dbf8f30b7e9638867b62c791"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Nov 18 10:29:22 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 18 10:29:22 2015 +0000"
      },
      "message": "Merge \"Support deoptimization only to set vreg\""
    },
    {
      "commit": "3e1ff83fb210818df66b7a0a7bc70dca6c7b9d47",
      "tree": "ae736f4da42bd2d44514dffdffdc6bd3e6d32721",
      "parents": [
        "cb6638ff664e3136ccfee3cffb9307e0d43ffbc1",
        "09687447764a4d5d810df3d02532e4b141e7f2cd"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Nov 18 10:17:46 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 18 10:17:46 2015 +0000"
      },
      "message": "Merge \"Fix StackVisitor::GetVReg for reference in shadow frame\""
    },
    {
      "commit": "787ae8eb018d46b4b464e3a7c8de37d9262deb61",
      "tree": "afcc49dca1996bddf9d63640cc0b208ca8ca2bf5",
      "parents": [
        "a04f57badca0a9211d45eb7bde44c1d1e8f159ff"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 05 11:32:24 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 18 10:11:50 2015 +0000"
      },
      "message": "Remove DEBUG_JIT from Zygote flags.\n\nThe flag is being obsolete by the move to JIT.\n\n(cherry picked from commit 0f042e04efba887557e40f981bd9c41b121c4652)\n\nChange-Id: I32c3183e791690964c00fab02a6ee7bbacf6b665\n"
    },
    {
      "commit": "cb6638ff664e3136ccfee3cffb9307e0d43ffbc1",
      "tree": "87908ebda910f5b608949273f13cde9d11e40352",
      "parents": [
        "ed42f392f9ae19d24ed2e18b60e146da3920cbf9",
        "de95c870993673b512009d94a931cd980df0e6b6"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Nov 17 21:53:34 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 17 21:53:34 2015 +0000"
      },
      "message": "Merge \"RosAlloc fast path inline in assembly for x86 32bit.\""
    },
    {
      "commit": "ed42f392f9ae19d24ed2e18b60e146da3920cbf9",
      "tree": "3903d773f1ded73472a6be1341dca4d7f8cdbceb",
      "parents": [
        "a04f57badca0a9211d45eb7bde44c1d1e8f159ff",
        "4b00d3415beb7a816a3b5948f43f3b2e4b856ea8"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 17 20:10:24 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 17 20:10:24 2015 +0000"
      },
      "message": "Merge \"Refactor some patching logic\""
    },
    {
      "commit": "3b359c71f2fb784589be113206932e76807787bb",
      "tree": "f50f1b98a2948668d2ffabc42ce0cd9a00cecd0c",
      "parents": [
        "a04f57badca0a9211d45eb7bde44c1d1e8f159ff"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 17 19:35:12 2015 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 17 19:35:12 2015 +0000"
      },
      "message": "ARM read barrier support for concurrent GC in Optimizing.\n\nThis first implementation uses slow paths to instrument heap\nreference loads and GC root loads for the concurrent copying\ncollector, respectively calling the artReadBarrierSlow and\nartReadBarrierForRootSlow runtime entry points.\n\nNotes:\n- This implementation does not instrument HInvokeVirtual\n  nor HInvokeInterface instructions (for class reference\n  loads), as the corresponding read barriers are not stricly\n  required with the current concurrent copying collector.\n- Intrinsics which may eventually call (on slow path) are\n  disabled when read barriers are enabled, as the current\n  slow path infrastructure does not support this case.\n- When read barriers are enabled, the code generated for a\n  HArraySet instruction always go into the array set slow\n  path for object arrays (delegating the operation to the\n  runtime), as we are lacking a mechanism to keep a\n  temporary register live accross a runtime call (needed for\n  the instrumentation of type checking code, which requires\n  two successive read barriers).\n\nBug: 12687968\nChange-Id: I92e8db414d029f952c07f3d3a98069e46dfdbc2a\n"
    },
    {
      "commit": "52503d83d057c66ea50eed491290e267b80e1fd3",
      "tree": "c55872ee898f67c7982deeadfb2b2820dde4b1bb",
      "parents": [
        "617bd9255bbdb9890e9d80462d293b94ba41c1f2"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Nov 11 16:58:31 2015 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Nov 17 18:47:43 2015 +0000"
      },
      "message": "Implement common super type in reference type propagation.\n\nCurrently only if both types are classes.\n\nChange-Id: I06e98211ead56875a42bd17f099e319b107a50d4\n"
    },
    {
      "commit": "a04f57badca0a9211d45eb7bde44c1d1e8f159ff",
      "tree": "49a3e42024120ca21165277abff8e7dc0949376d",
      "parents": [
        "9013bb031c1c3244e70ae246437604f2c094a671",
        "6dc01748c61a7ad41d4ab701d3e27897bd39a899"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 17 17:40:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 17 17:40:57 2015 +0000"
      },
      "message": "Merge \"Minor fixes and cleaning of arm64 static and direct calls code.\""
    },
    {
      "commit": "9013bb031c1c3244e70ae246437604f2c094a671",
      "tree": "079058c762fff0028e75a731880f2dcb7ce13814",
      "parents": [
        "3ce45f4e6abd725407a539521f69959a6ac5a9c1",
        "74974aba253bfee0a75c85166317a6a4e0da2eb1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 17 17:40:34 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 17 17:40:34 2015 +0000"
      },
      "message": "Merge \"ART: add kryo to a53 #835769 \u0026 #843419 erratum exception list\""
    },
    {
      "commit": "3ce45f4e6abd725407a539521f69959a6ac5a9c1",
      "tree": "b2d6c6289a07c2b8913ff47dc3184c1fb3e4cace",
      "parents": [
        "886d1040c99b521ca5a2d363242163c17a5776b1",
        "0debae7bc89eb05f7a2bf7dccd223318fad7c88d"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Nov 17 16:46:49 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 17 16:46:49 2015 +0000"
      },
      "message": "Merge \"ART: Refactor GenerateTestAndBranch\""
    },
    {
      "commit": "886d1040c99b521ca5a2d363242163c17a5776b1",
      "tree": "2a1119f3b647e0bc0c24dd53c20adeff3a9f8928",
      "parents": [
        "991842a5273d20695dd5f35eb9a9e28c386c5b4b",
        "7a16adb4e969e839d2f7ebb985e3c1fc9ec94ab6"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Nov 17 16:21:12 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 17 16:21:12 2015 +0000"
      },
      "message": "Merge \"Change roots view to \"rooted\".\""
    },
    {
      "commit": "0debae7bc89eb05f7a2bf7dccd223318fad7c88d",
      "tree": "3da9656dc77d271b12c1b02793e7d713ae3da790",
      "parents": [
        "991842a5273d20695dd5f35eb9a9e28c386c5b4b"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Nov 12 18:37:00 2015 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Nov 17 15:12:00 2015 +0000"
      },
      "message": "ART: Refactor GenerateTestAndBranch\n\nEach code generator implements a method for generating condition\nevaluation and branching to arbitrary labels. This patch refactors\nit for better clarity but also to generate fewer jumps when the true\nbranch is the fallthrough successor.\n\nThis is preliminary work for implementing HSelect.\n\nChange-Id: Iaa545a5ecbacb761c5aa241fa69140cf6eb5952f\n"
    },
    {
      "commit": "636b9252af8d8848dbf8f30b7e9638867b62c791",
      "tree": "ef2d3080fab4c51e320114e012bcde49aaa089e4",
      "parents": [
        "6bf6e438cd4746effce0b26d504c54100191c988"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Fri Jul 31 16:40:24 2015 -0700"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Nov 17 11:57:12 2015 +0100"
      },
      "message": "Support deoptimization only to set vreg\n\nThis CL removes the old API that was used to update vreg. We now rely\nexclusively on deoptimization to change the value of a vreg (mainly\nfrom the debugger). This allows to have only one mechanism working\nwith both Quick and Optimizing compilers. It also remove run-test\n455-set-vreg which was the only user of the old API.\n\nThis CL also renames StackVisitor::SetVReg[Pair]FromDebugger to\nStackVisitor::SetVReg[Pair] to reflect that change.\n\nBug: 25428216\nChange-Id: Ib09510185280dbd0f6d02c52549ae9671c187e32\n"
    },
    {
      "commit": "09687447764a4d5d810df3d02532e4b141e7f2cd",
      "tree": "4bd0305123a148911e15ca13fbaeb5380356de60",
      "parents": [
        "55a77ef5f99c2b056eb5f2820c1ff3b29c0ec270"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Nov 17 10:35:39 2015 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Nov 17 11:04:45 2015 +0100"
      },
      "message": "Fix StackVisitor::GetVReg for reference in shadow frame\n\nAlso fixes 457-regs run-test that used to pass an incorrect\nvreg kind.\n\nBug: 25428216\nChange-Id: Ic31b51ca0f72350db6325f23087b06e93055d750\n"
    },
    {
      "commit": "4b00d3415beb7a816a3b5948f43f3b2e4b856ea8",
      "tree": "a54f8c2704fbe9b9ffebdc0f1984a777beb80ac0",
      "parents": [
        "991842a5273d20695dd5f35eb9a9e28c386c5b4b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Nov 13 10:42:08 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 16 15:05:36 2015 -0800"
      },
      "message": "Refactor some patching logic\n\nReduce duplication since app images in-place relocation will require\nthis code also.\n\nBug: 22858531\nChange-Id: Ibb901b67267e27ef3bc2a0baff77189d4dcd018a\n"
    },
    {
      "commit": "991842a5273d20695dd5f35eb9a9e28c386c5b4b",
      "tree": "88c087c682dcdda3c0d8cf2d44f7afc9e123d302",
      "parents": [
        "a663d67500be03df7708afc059f135d2be76ef6e",
        "c07d66d816924bf97fa97192c23670010e775a3c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Nov 16 18:10:37 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 16 18:10:37 2015 +0000"
      },
      "message": "Merge \"Add ability to skip run-tests with ART_TEST_RUN_TEST_SKIP.\""
    },
    {
      "commit": "a663d67500be03df7708afc059f135d2be76ef6e",
      "tree": "5d4f6c39fccb64fe165055deee95ac831cae655f",
      "parents": [
        "a445f7afbe113186de97007891307065109a6b84",
        "617bd9255bbdb9890e9d80462d293b94ba41c1f2"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Nov 16 17:00:23 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 16 17:00:23 2015 +0000"
      },
      "message": "Merge \"Ignore NullConstants when computing the type for Phis.\""
    },
    {
      "commit": "a445f7afbe113186de97007891307065109a6b84",
      "tree": "8f0ba5ff60e26a4179039131c4c4aece2708bd82",
      "parents": [
        "72cc92918665acb262f69e56be984e24bd15a223",
        "3f382aea8f12695d2a871fc74e80793fa9a0f7eb"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Nov 16 16:41:21 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 16 16:41:21 2015 +0000"
      },
      "message": "Merge \"Implemented control of \"export only\" feature in dexdump.\""
    },
    {
      "commit": "72cc92918665acb262f69e56be984e24bd15a223",
      "tree": "f5ea130d926d72f15c6baeefd8f7d093d7a38ee2",
      "parents": [
        "3eb242c0c0d7e8327d2b1f515b463337e37c64ba",
        "1eab4a89db8eb223ac21369266eb29c113afa0aa"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Nov 16 16:09:48 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 16 16:09:48 2015 +0000"
      },
      "message": "Merge \"Mark kQuickReadBarrierForRootSlow as direct entry point on MIPS.\""
    },
    {
      "commit": "1eab4a89db8eb223ac21369266eb29c113afa0aa",
      "tree": "f5ea130d926d72f15c6baeefd8f7d093d7a38ee2",
      "parents": [
        "3eb242c0c0d7e8327d2b1f515b463337e37c64ba"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Nov 16 15:59:08 2015 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Nov 16 15:59:08 2015 +0000"
      },
      "message": "Mark kQuickReadBarrierForRootSlow as direct entry point on MIPS.\n\nChange-Id: I35caa32c9773646692706642188ab522237a68ac\n"
    },
    {
      "commit": "3eb242c0c0d7e8327d2b1f515b463337e37c64ba",
      "tree": "e52c0b501d1f117f651131fe952f88b1532eeb00",
      "parents": [
        "3610abea2fe09f519e20fa4212f116d9167b5d51",
        "0d5a281c671444bfa75d63caf1427a8c0e6e1177"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Nov 16 15:34:28 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 16 15:34:28 2015 +0000"
      },
      "message": "Merge \"x86/x86-64 read barrier support for concurrent GC in Optimizing.\""
    },
    {
      "commit": "3610abea2fe09f519e20fa4212f116d9167b5d51",
      "tree": "823dd1d0e0f72f773500288e038b362c432de4b6",
      "parents": [
        "dd4cbcc924c8ba2a578914a4a366996693bdcd74",
        "f83e733618066e3c672c9a7ee872a3bba8202e7f"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Nov 16 11:04:13 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 16 11:04:13 2015 +0000"
      },
      "message": "Merge \"Move the trace file out of the profiles folder.\""
    },
    {
      "commit": "0d5a281c671444bfa75d63caf1427a8c0e6e1177",
      "tree": "fd9bbe0f1c581bcc7c05bbfb2643ffe0b1fb014e",
      "parents": [
        "dd4cbcc924c8ba2a578914a4a366996693bdcd74"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Nov 13 10:07:31 2015 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Sun Nov 15 12:16:41 2015 +0000"
      },
      "message": "x86/x86-64 read barrier support for concurrent GC in Optimizing.\n\nThis first implementation uses slow paths to instrument heap\nreference loads and GC root loads for the concurrent copying\ncollector, respectively calling the artReadBarrierSlow and\nartReadBarrierForRootSlow (new) runtime entry points.\n\nNotes:\n- This implementation does not instrument HInvokeVirtual\n  nor HInvokeInterface instructions (for class reference\n  loads), as the corresponding read barriers are not stricly\n  required with the current concurrent copying collector.\n- Intrinsics which may eventually call (on slow path) are\n  disabled when read barriers are enabled, as the current\n  slow path infrastructure does not support this case.\n- When read barriers are enabled, the code generated for a\n  HArraySet instruction always go into the array set slow\n  path for object arrays (delegating the operation to the\n  runtime), as we are lacking a mechanism to keep a\n  temporary register live accross a runtime call (needed for\n  the instrumentation of type checking code, which requires\n  two successive read barriers).\n\nBug: 12687968\nChange-Id: I14cd6107233c326389120336f93955b28ffbb329\n"
    },
    {
      "commit": "dd4cbcc924c8ba2a578914a4a366996693bdcd74",
      "tree": "2fe66e258de36bcebc913d48e04468b7c639578f",
      "parents": [
        "0e06a0989f4fc53e0d281a5a2cb5b5a17feaea0c",
        "04302dbb106d590ff72c0dfecda23d85b6565059"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Sat Nov 14 02:15:09 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Nov 14 02:15:09 2015 +0000"
      },
      "message": "Merge \"Fix class unloading with the CC collector.\""
    },
    {
      "commit": "c07d66d816924bf97fa97192c23670010e775a3c",
      "tree": "42772dfe3e33b1a27f4f23b160503e755f75a3ac",
      "parents": [
        "63e310c5c3cd2341c1b2a60d25764c44ee066318"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Nov 13 10:51:10 2015 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Sat Nov 14 01:00:48 2015 +0000"
      },
      "message": "Add ability to skip run-tests with ART_TEST_RUN_TEST_SKIP.\n\nOne can skip running specific run-tests under any configuration by\nsetting the ART_TEST_RUN_TEST_SKIP variable to a list of the run-test\nnames to skip.\n\n    $ # None of the variants of 022-interfaces will be run.\n    $ ART_TEST_RUN_TEST_SKIP\u003d022-interface mm test-art-host-run-test\n\nChange-Id: I33f24dd7f1eb9f4d6dc407a4abc3c5919437d4fa\n"
    },
    {
      "commit": "04302dbb106d590ff72c0dfecda23d85b6565059",
      "tree": "2fe66e258de36bcebc913d48e04468b7c639578f",
      "parents": [
        "0e06a0989f4fc53e0d281a5a2cb5b5a17feaea0c"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Nov 11 23:45:34 2015 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Nov 13 15:21:29 2015 -0800"
      },
      "message": "Fix class unloading with the CC collector.\n\nAvoid unnecessarily decoding dex cache and class loader weak roots,\nwhich would trigger read barriers.\n\nRe-enable 141-class-unload with the CC collector.\n\nBug: 12687968\nBug: 24468364\nChange-Id: Ib4c19f25000873cab0e06047040442d135285745\n"
    },
    {
      "commit": "972d6d7b3b36c48ead6d95fa6a2a936390b868ac",
      "tree": "1f3a02753cf21ee4a09c2f445d6e202e0c97df16",
      "parents": [
        "0e06a0989f4fc53e0d281a5a2cb5b5a17feaea0c"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Tue Oct 20 11:29:12 2015 -0700"
      },
      "committer": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Fri Nov 13 12:51:28 2015 -0800"
      },
      "message": "MIPS64: Add java.lang.String.equals intrinsic.\n\nChange-Id: I71e41b20ebaf7640b2c72c590455eb0be4cbc5b7\n"
    },
    {
      "commit": "0e06a0989f4fc53e0d281a5a2cb5b5a17feaea0c",
      "tree": "be6bac2236a43d9a871f8a4174a47f99439ffb51",
      "parents": [
        "f6ebcd099aeaa694fada7ce4a77b1698488d8121",
        "9b0f516d3da1dfe10471ab760edc8206809ce829"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Nov 13 19:07:37 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 13 19:07:37 2015 +0000"
      },
      "message": "Merge \"Disable test 964 with gcstress since it often times out.\""
    },
    {
      "commit": "9b0f516d3da1dfe10471ab760edc8206809ce829",
      "tree": "279db61471320f6077b082bf031db76bcff95238",
      "parents": [
        "63e310c5c3cd2341c1b2a60d25764c44ee066318"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Nov 13 10:39:34 2015 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Nov 13 10:39:38 2015 -0800"
      },
      "message": "Disable test 964 with gcstress since it often times out.\n\nChange-Id: Ice9b25d373b849d4415f9189fe94d8ccd6d05cbe\n"
    },
    {
      "commit": "74974aba253bfee0a75c85166317a6a4e0da2eb1",
      "tree": "b0c2970a82ceb4d56d7f88bd594cd5f8db524c80",
      "parents": [
        "efca362e8c67d5b330dd4ebc312cd45cf2585964"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Thu Nov 12 14:28:58 2015 -0800"
      },
      "committer": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Fri Nov 13 10:38:59 2015 -0800"
      },
      "message": "ART: add kryo to a53 #835769 \u0026 #843419 erratum exception list\n\nKryo is custom-designed 64-bit ARM CPU and does not need this A53\nerratum handling.\n\nhttps://www.qualcomm.com/news/snapdragon/2015/09/02/snapdragon-820-and-kryo-cpu-heterogeneous-computing-and-role-custom\n\nChange-Id: Id8f6c616ab2ed19056fd1e3829b85b94a6e6eb84\n"
    },
    {
      "commit": "f6ebcd099aeaa694fada7ce4a77b1698488d8121",
      "tree": "a3360aa479144b23b988d3ca7f294eb19cfd22d2",
      "parents": [
        "2f49b0a90720fe9f4cab040c376aab5f387967e3",
        "04e983a83113d8321d45e1915f4aa9f4bd619647"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Nov 13 18:33:54 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 13 18:33:54 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Add missing null check to String::ToCharArray\"\"\""
    },
    {
      "commit": "3f382aea8f12695d2a871fc74e80793fa9a0f7eb",
      "tree": "04fe2e007d8788bf3b2154fd2da44dfe25318fda",
      "parents": [
        "2f49b0a90720fe9f4cab040c376aab5f387967e3"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Nov 13 10:06:01 2015 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Nov 13 10:24:35 2015 -0800"
      },
      "message": "Implemented control of \"export only\" feature in dexdump.\n\nRationale:\nExport only is now under explicit control of a new -e flag, and\ncan be used to control both -l xml and -l plain. The result is\nthat, by default, xml output now shows all items (old behavior\ncan be forced with -e -l xml). This solution feels a bit cleaner\nthan adding a flag to override export only when -l xml is given\n(old dexdump forced this tight relation).\n\nBug: 25673756 (feature request).\n\nChange-Id: I7cfd48bf91195d2a81d134936719d267fda399f5\n"
    },
    {
      "commit": "04e983a83113d8321d45e1915f4aa9f4bd619647",
      "tree": "a3360aa479144b23b988d3ca7f294eb19cfd22d2",
      "parents": [
        "2f49b0a90720fe9f4cab040c376aab5f387967e3"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Nov 13 08:36:59 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Nov 13 08:54:57 2015 -0800"
      },
      "message": "Revert \"Revert \"Add missing null check to String::ToCharArray\"\"\n\nFix flaky test.\n\nBug: 25641543\n\nThis reverts commit b52a39c76e0cb0638c92cdcf6b5c5aa551420e1a.\n\nChange-Id: I6b0d3087dba3680252e65af554530e2769cde55c\n"
    },
    {
      "commit": "2f49b0a90720fe9f4cab040c376aab5f387967e3",
      "tree": "c02fc1e89365b5fcc6bf792146a817e0ff4ff1b7",
      "parents": [
        "6aa0735c7b84061901a844270d22249cbb01004e",
        "b851b49eee0a77720347a4f777c07d4531302655"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Nov 13 15:53:30 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 13 15:53:30 2015 +0000"
      },
      "message": "Merge \"Stream DWARF debug section directly to disk.\""
    },
    {
      "commit": "6aa0735c7b84061901a844270d22249cbb01004e",
      "tree": "12c93d24433c1e480c485d0dfc91f03e8ba42a8d",
      "parents": [
        "dc9706dcea7c1384d2b2137485f9579db36ca328",
        "b52a39c76e0cb0638c92cdcf6b5c5aa551420e1a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 13 08:16:55 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 13 08:16:55 2015 +0000"
      },
      "message": "Merge \"Revert \"Add missing null check to String::ToCharArray\"\""
    },
    {
      "commit": "b52a39c76e0cb0638c92cdcf6b5c5aa551420e1a",
      "tree": "83130dcf8177578489aafca94a9aca1348a83b29",
      "parents": [
        "952d608062eec2d7f47f9b45dba935ad8b4d23e5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 13 08:16:23 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 13 08:16:23 2015 +0000"
      },
      "message": "Revert \"Add missing null check to String::ToCharArray\"\n\nDoes not work with the interpreter.\n\nBug: 25641543\n\nThis reverts commit 952d608062eec2d7f47f9b45dba935ad8b4d23e5.\n\nChange-Id: Ic112fa69c7ddd119cbccc5b65007b5ee4dfccd09\n"
    },
    {
      "commit": "dc9706dcea7c1384d2b2137485f9579db36ca328",
      "tree": "092f1b9c10b3720ac8e690dc4b4a901b22b89fb7",
      "parents": [
        "1227d627e0e0ef8b34a66f94714ed737953098ce",
        "952d608062eec2d7f47f9b45dba935ad8b4d23e5"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Nov 13 01:32:44 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 13 01:32:44 2015 +0000"
      },
      "message": "Merge \"Add missing null check to String::ToCharArray\""
    },
    {
      "commit": "952d608062eec2d7f47f9b45dba935ad8b4d23e5",
      "tree": "6acb2a889c38a76d70771d42c4dfe3ac53116424",
      "parents": [
        "efca362e8c67d5b330dd4ebc312cd45cf2585964"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 12 16:53:41 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 12 17:31:09 2015 -0800"
      },
      "message": "Add missing null check to String::ToCharArray\n\nAdded test.\n\nBug: 25641543\nChange-Id: Ic9a21ce8bc530dbedf14334ad47f5faa90ae4ddc\n"
    },
    {
      "commit": "1227d627e0e0ef8b34a66f94714ed737953098ce",
      "tree": "12c93d24433c1e480c485d0dfc91f03e8ba42a8d",
      "parents": [
        "efca362e8c67d5b330dd4ebc312cd45cf2585964",
        "6484b80d5024a079e700eb95ed79dec0c4815aa0"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Nov 13 00:50:11 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 13 00:50:11 2015 +0000"
      },
      "message": "Merge \"Fix bug with test 964.\""
    },
    {
      "commit": "6484b80d5024a079e700eb95ed79dec0c4815aa0",
      "tree": "a516095953ebc52efa915430006195f42b2346fc",
      "parents": [
        "63e310c5c3cd2341c1b2a60d25764c44ee066318"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Nov 12 15:38:24 2015 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Nov 12 16:34:29 2015 -0800"
      },
      "message": "Fix bug with test 964.\n\nAn indentation error meant that some test cases would not be\ngenerated. Also fixed run-test script since fixing this causes the\noutput to be larger than the default ulimit.\n\nChange-Id: I454f89078f8307f400b66627fdab13feaf492512\n"
    },
    {
      "commit": "efca362e8c67d5b330dd4ebc312cd45cf2585964",
      "tree": "83130dcf8177578489aafca94a9aca1348a83b29",
      "parents": [
        "cff81076cbb4bbe3841942f14326f4401fa3c8df",
        "b190d945459253c329062dab2440671828275767"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 12 19:19:36 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 12 19:19:36 2015 +0000"
      },
      "message": "Merge \"Add class loader argument to openDexFileNative\""
    },
    {
      "commit": "b190d945459253c329062dab2440671828275767",
      "tree": "83130dcf8177578489aafca94a9aca1348a83b29",
      "parents": [
        "cff81076cbb4bbe3841942f14326f4401fa3c8df"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 12 10:00:58 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 12 10:59:23 2015 -0800"
      },
      "message": "Add class loader argument to openDexFileNative\n\nBug: 22858531\nChange-Id: I315919d91822db0c73cf16b21d660d5870d5746f\n"
    },
    {
      "commit": "6dc01748c61a7ad41d4ab701d3e27897bd39a899",
      "tree": "4c536fc4ab19c3f99b8dddfa8bafbe11deaec0d7",
      "parents": [
        "cff81076cbb4bbe3841942f14326f4401fa3c8df"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Thu Nov 12 14:44:19 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 12 17:58:50 2015 +0000"
      },
      "message": "Minor fixes and cleaning of arm64 static and direct calls code.\n\nFixes:\nThe proper way to avoid the MacroAssembler to generate code before or\nafter an instruction is to block the pools (usually via\n`vixl::BlockPoolsScope`). Here we can use\n`vixl::SingleEmissionCheckScope`, that checks we generate only one\ninstruction and also blocks the pools.\nIn practice the current code would have worked fine because VIXL would\nnot have generated anything after `Bl()` or `Ldr()`, but that was not\nguaranteed.\n\nCleaning:\n- `XRegisterFrom()` returns an X register. Calling `.X()` is not\n  required.\n- Since we are sure (after the previous fixes) that nothing will be\n  emitted around the instructions we care about, update the code to\n  bind labels before the instructions for simplicity.\n\nChange-Id: I42d49976721e380e66bcd7a5b345f1777009434a\n"
    },
    {
      "commit": "cff81076cbb4bbe3841942f14326f4401fa3c8df",
      "tree": "f0a85a6059ff289ccb4b6e43b2b9b3924d481a31",
      "parents": [
        "fe0ec35c68d57205bd8fe13bd195ae0b5a3ed180",
        "0f7dca4ca0be8d2f8776794d35edf8b51b5bc997"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 12 15:20:08 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 12 15:20:08 2015 +0000"
      },
      "message": "Merge \"Optimizing/X86: PC-relative dex cache array addressing.\""
    },
    {
      "commit": "fe0ec35c68d57205bd8fe13bd195ae0b5a3ed180",
      "tree": "f232d1f06a50cf79c48ccb75b7314509432a276a",
      "parents": [
        "7a2f5c9459b492bd8550e437087191e52ca6324f",
        "13c86fdd2238ef158594182b31040533e1c92965"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 12 11:56:22 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 12 11:56:22 2015 +0000"
      },
      "message": "Merge \"Optimizing: Clean up constant location handling.\""
    },
    {
      "commit": "7a2f5c9459b492bd8550e437087191e52ca6324f",
      "tree": "3e7ad9ba456401c0fc88ba39778948612841c495",
      "parents": [
        "190c5f9f3b8aba5c8c7a26d4cfe0f45297bd875c",
        "0fd581232892a9b38bde759c67fefa9e79c4edbd"
      ],
      "author": {
        "name": "Tamas Berghammer",
        "email": "tberghammer@google.com",
        "time": "Thu Nov 12 11:06:38 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 12 11:06:38 2015 +0000"
      },
      "message": "Merge \"Revert \"Mark __jit_debug_register_code as a unique symbol\"\""
    },
    {
      "commit": "0fd581232892a9b38bde759c67fefa9e79c4edbd",
      "tree": "5da26d13991fe0c7d930bd6f87537d014569b227",
      "parents": [
        "e7132a9a5d98103fa52a750287476b063fa88863"
      ],
      "author": {
        "name": "Tamas Berghammer",
        "email": "tberghammer@google.com",
        "time": "Thu Nov 12 11:05:50 2015 +0000"
      },
      "committer": {
        "name": "Tamas Berghammer",
        "email": "tberghammer@google.com",
        "time": "Thu Nov 12 11:05:50 2015 +0000"
      },
      "message": "Revert \"Mark __jit_debug_register_code as a unique symbol\"\n\nThis reverts commit e7132a9a5d98103fa52a750287476b063fa88863.\n\nWe are still using ld on some targets instead of gold when compiling for ararch64. Revert until we figure out why.\n\nChange-Id: If09fac8d72485dc8adbc81e44a2af84ed91dcd91\n"
    },
    {
      "commit": "190c5f9f3b8aba5c8c7a26d4cfe0f45297bd875c",
      "tree": "57b80e06d50a8d6c891e664e4ee1a9c38f7dad09",
      "parents": [
        "e542fd0c04426c45ae6a04bc4ae79ac77b99d8c6",
        "0a97fc6613d525370d9300819a3579f706d6fc67"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Nov 12 11:00:38 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 12 11:00:38 2015 +0000"
      },
      "message": "Merge \"JDWP: default implementation of Method.IsObsolete\""
    },
    {
      "commit": "0f7dca4ca0be8d2f8776794d35edf8b51b5bc997",
      "tree": "cb2d99a0e9b7c50eb853a64b477268baaa77c11b",
      "parents": [
        "ce0f43b97ffb5e4d14c5df6607d8efb46a5dc9d2"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 02 14:36:43 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 12 10:43:47 2015 +0000"
      },
      "message": "Optimizing/X86: PC-relative dex cache array addressing.\n\nAdd PC-relative dex cache array addressing for X86 and use\nit for better invoke-static/-direct dispatch. Also delay\nthe initialization to the PC-relative base until needed.\n\nChange-Id: Ib8634d5edce4920cd70172fd13211809cf6948d1\n"
    },
    {
      "commit": "e542fd0c04426c45ae6a04bc4ae79ac77b99d8c6",
      "tree": "56f572154876342e6813e16219da80e29a843eed",
      "parents": [
        "772e3ab10292ad3ce4ca5e217c552ded4e26651a",
        "00580bdbbb119a354c94a9c19928c1dcbd14a8f4"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 12 10:43:30 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 12 10:43:30 2015 +0000"
      },
      "message": "Merge \"MIPS64: fix calling conventions in LoadClass and field accesses\""
    },
    {
      "commit": "772e3ab10292ad3ce4ca5e217c552ded4e26651a",
      "tree": "6a1d403f266a0085ca1208bf2902d5d4ce1923c2",
      "parents": [
        "9b71e9c702df1b65ea658cd5fc856e5a6d80669c",
        "e7132a9a5d98103fa52a750287476b063fa88863"
      ],
      "author": {
        "name": "Tamas Berghammer",
        "email": "tberghammer@google.com",
        "time": "Thu Nov 12 10:40:23 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 12 10:40:23 2015 +0000"
      },
      "message": "Merge \"Mark __jit_debug_register_code as a unique symbol\""
    },
    {
      "commit": "9b71e9c702df1b65ea658cd5fc856e5a6d80669c",
      "tree": "65e3df5b836d5bff9498d3a6c980075bc64653ee",
      "parents": [
        "11a4c96a7f8268a94cbdcbc2771d03bc4f2ce065",
        "fda043241caada72fbf1215ac8c6eb5ad1ad44e7"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 12 10:16:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 12 10:16:29 2015 +0000"
      },
      "message": "Merge \"ART: Add comments to Scoped-/ArenaAllocator.\""
    },
    {
      "commit": "de95c870993673b512009d94a931cd980df0e6b6",
      "tree": "6677d60453c2a2595f49dc07eb104b1149ed4d03",
      "parents": [
        "1b87033ed83ba03983b49237da89ce36d319b68e"
      ],
      "author": {
        "name": "lwang85",
        "email": "li.w.wang@intel.com",
        "time": "Tue Nov 10 17:26:31 2015 +0800"
      },
      "committer": {
        "name": "lwang85",
        "email": "li.w.wang@intel.com",
        "time": "Thu Nov 12 15:23:09 2015 +0800"
      },
      "message": "RosAlloc fast path inline in assembly for x86 32bit.\n\nPort patch https://android-review.googlesource.com/#/c/180014/ for\nx86 32bit.\nMeasurement:\nAndroidGCTest(ms, the lower the better): 73372-\u003e68165, 7.10% improvement.\n\nSigned-off-by: lwang85 \u003cli.w.wang@intel.com\u003e\nChange-Id: I9ac3fc56f98574c41fc070dbf12ce7474d6a3610\n"
    },
    {
      "commit": "11a4c96a7f8268a94cbdcbc2771d03bc4f2ce065",
      "tree": "adfbb7a6e8c8af90d3a87c6aba3cb44700db8e4e",
      "parents": [
        "2abe1f4a8d6b56ed95da0671091e4fe15f651bd6",
        "073b16c8429d302d5413e8ffc488b03b8f770780"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 12 03:23:54 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 12 03:23:54 2015 +0000"
      },
      "message": "Merge \"Image space cleanup for app images\""
    },
    {
      "commit": "073b16c8429d302d5413e8ffc488b03b8f770780",
      "tree": "a417fd8042df8c0a9621f9097643ecaede4deeab",
      "parents": [
        "5165b6ba1fda85d769c5092a65f07bcfffb0b3e7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 10 14:13:23 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 11 19:22:33 2015 -0800"
      },
      "message": "Image space cleanup for app images\n\nRemoved Heap::GetImageSpace, added Heap::GetBootImageSpace.\n\nGeneralized some logic in the class linker for image spaces.\n\nBug: 22858531\n\nChange-Id: Ib3e12bb061a247e232d3dc93b0d6b35eb3a34d25\n"
    },
    {
      "commit": "2abe1f4a8d6b56ed95da0671091e4fe15f651bd6",
      "tree": "843e9b7a71ff0875bf477cc052d921141a6828ef",
      "parents": [
        "5165b6ba1fda85d769c5092a65f07bcfffb0b3e7",
        "328c5dc0d178632125f5a05002051a6adc04766a"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Nov 12 02:51:20 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 12 02:51:20 2015 +0000"
      },
      "message": "Merge \"Get class loader to remember interrupts\""
    }
  ],
  "next": "328c5dc0d178632125f5a05002051a6adc04766a"
}
