)]}'
{
  "log": [
    {
      "commit": "85506c2ff34e930b4589568f78ee30f60d49d456",
      "tree": "c7e4b30a54046ed90a212e298f871a5df257c648",
      "parents": [
        "7598f145d4fd4219c14c6e2c8a03b34ce7943ffe",
        "eb7c144a6aff7da673ba53d501c46f00311d4d7f"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Oct 13 21:02:28 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 13 21:02:28 2015 +0000"
      },
      "message": "Merge \"Add initial default method support to Art\""
    },
    {
      "commit": "7598f145d4fd4219c14c6e2c8a03b34ce7943ffe",
      "tree": "7f88d382b86a90e95c3fb35fe52596b67005f3b0",
      "parents": [
        "98ae42010a6e6a0e4c5bcc4d6a357805eef3f4ff",
        "e58991b3b2282b5761f1a6023a16c803e1c4eb45"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 13 20:45:36 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 13 20:45:36 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Unload oat files\"\"\""
    },
    {
      "commit": "e58991b3b2282b5761f1a6023a16c803e1c4eb45",
      "tree": "5a6fac6c5d3cb6a463463b83b8a34a53b07a8ede",
      "parents": [
        "fb11bab9bc96ff05dcb12f43abf58df256b7c7aa"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 13 07:59:34 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 13 13:17:50 2015 -0700"
      },
      "message": "Revert \"Revert \"Unload oat files\"\"\n\nFixed a race where two threads calling OatFile::Open could both use\ndlopen on the host.\n\nBug: 22720414\n\nThis reverts commit 72da5e7461fec3b1e116050f2e6f233efb9c54f3.\n\nChange-Id: I1636045b724944d2a09417527280784967957095\n"
    },
    {
      "commit": "eb7c144a6aff7da673ba53d501c46f00311d4d7f",
      "tree": "feec33dd2e711800305477b092970500991a3993",
      "parents": [
        "98ae42010a6e6a0e4c5bcc4d6a357805eef3f4ff"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Aug 31 13:17:42 2015 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Oct 13 13:09:37 2015 -0700"
      },
      "message": "Add initial default method support to Art\n\nThis commit starts the process of adding default methods and their\nassociated pieces to ART.\n\nThis adds full support for calling default methods using\ninvoke-interface and invoke-virtual on objects implementing the\ninterfaces. Verifier is changed to allow this when the runtime is\nstarted with -Xexperimental:default-methods.\n\nThis also adds support for defining and calling static methods on\ninterface classes with invoke-static.\n\nDirectly calling overridden default methods using invoke-super is not\nyet supported.\n\nThis adds 5 new run-tests for this functionality.\n\nBug: 24618811\n\nChange-Id: I35ca800d99d3329348b277789b70ceeeba6e7f03\n"
    },
    {
      "commit": "6bec6b2a56970adf68201925330a84424892d5c9",
      "tree": "2539412bebac2938d06ff20fa71d1a02b3b4c946",
      "parents": [
        "f91b0e03d4b31bdb96757cf56cecc2cfeacbbbc4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 13 19:14:15 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 13 19:14:15 2015 +0100"
      },
      "message": "Fix braino in ArtCode refactoring.\n\nAssertPcIsWithinQuickCode is tricky. Will clean-up in\nnext changes.\n\nChange-Id: Ie97d3d4a54cb568ea33e645e7d6d9a0c337e9c6a\n"
    },
    {
      "commit": "f91b0e03d4b31bdb96757cf56cecc2cfeacbbbc4",
      "tree": "23f6bf2dfa361af44b9b759ab02bcc02d9b7a3e9",
      "parents": [
        "6b8dab3bd4ab5314c02e22b4d5348842f1735fc6",
        "9537ba21f77636ac2e2b21e0cc4f38823451b9d9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 13 16:40:37 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 13 16:40:37 2015 +0000"
      },
      "message": "Merge \"ART: Rewrite stub-test inline assembly\""
    },
    {
      "commit": "9537ba21f77636ac2e2b21e0cc4f38823451b9d9",
      "tree": "1e6e375b58dedb756ca04aae8aef790f55f1c766",
      "parents": [
        "b5c810e91d8e3da02c12a490850c68d5d9d563c3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 12 14:29:38 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 13 09:36:55 2015 -0700"
      },
      "message": "ART: Rewrite stub-test inline assembly\n\nRewrite the x86 and x86-64 inline assembly to spill and restore\nregisters manually. GCC outright rejected clobbering some registers,\nbut Clang silently ignored the problematic cases, which breaks,\nfor example, in ASAN builds.\n\nBug: 24294564\nChange-Id: Iab45da0d6082ad77435e75bdc41d547619443d47\n"
    },
    {
      "commit": "6b8dab3bd4ab5314c02e22b4d5348842f1735fc6",
      "tree": "203b2dda66b92d5f0f6febf0aebd596b0d27cf54",
      "parents": [
        "fb11bab9bc96ff05dcb12f43abf58df256b7c7aa",
        "2d096c94fbd3fd2470b8ac1a0da6f577b3f69f42"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 13 15:28:26 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 13 15:28:26 2015 +0000"
      },
      "message": "Merge \"Fix moving GC bugs in MonitorEnter and MonitorExit\""
    },
    {
      "commit": "2d096c94fbd3fd2470b8ac1a0da6f577b3f69f42",
      "tree": "b3b9fd96064c57a6e883ce2cb4996a08aab336ec",
      "parents": [
        "b2d2d6ae8ad3dcec77bbaf99589cd98a4797f4f3"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 12 16:18:20 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 13 08:14:46 2015 -0700"
      },
      "message": "Fix moving GC bugs in MonitorEnter and MonitorExit\n\nFixes test 088 with gcstress mode.\n\nChange-Id: Iaeb91f62f22233e403e97e954bfdc8dc367e63c8\n"
    },
    {
      "commit": "245c11ab2095cb12a7731a8ee38815fee964ba10",
      "tree": "6a9c44b7fd72ff78ec6d172e963b0bed1ef47366",
      "parents": [
        "df3456007702b0dea01ffd1adfa74244857712af"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 13 15:28:24 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 13 15:28:24 2015 +0100"
      },
      "message": "Fix mips64 build: Add missing \"\u003d\".\n\nChange-Id: I457732945ae8f554ed49943c913b8c4fcc2a4d18\n"
    },
    {
      "commit": "46bf13350316475ce4b787e9cbd8774e87d3dde6",
      "tree": "796b9bea3ee6549b70acec3fccf176ddd843edfc",
      "parents": [
        "7edef7441d28db1403fbc5641b56a26ecf355879",
        "6bc4374e3fa00e3ee5e832e1761c43e0b8a71558"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 13 12:33:02 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 13 12:33:02 2015 +0000"
      },
      "message": "Merge \"Add an abstraction over a compiled code.\""
    },
    {
      "commit": "6bc4374e3fa00e3ee5e832e1761c43e0b8a71558",
      "tree": "38118523aa6b9a92fbdcd7bf1d32ca6185a3d3f0",
      "parents": [
        "16065ce56394c73c87dcb78ead4164ddc80fddb3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 12 18:11:10 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 13 12:05:27 2015 +0100"
      },
      "message": "Add an abstraction over a compiled code.\n\nThat\u0027s just step 1, moving code-related functions of ArtMethod to\nanother class. That class is only a wrapper on an ArtMethod, but will\nbe changed to be a wrapper around compiled code.\n\nChange-Id: I6f35fc06d37220558dff61691e51ae20066b0dd6\n"
    },
    {
      "commit": "7edef7441d28db1403fbc5641b56a26ecf355879",
      "tree": "8dd65db0eb70e7a0524a3ea0a326db3c7e52f586",
      "parents": [
        "c1b4a1efcfb249651bc9ae34c9285a693ede2550",
        "b2feaafd89813af69c65da95e0b51b1a4cecaf0b"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Oct 13 09:58:38 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 13 09:58:38 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Fix instrumentation frame check with inlining\"\"\""
    },
    {
      "commit": "b30c3b2332c60261d54a3741f49f6c6461b23ea4",
      "tree": "9fff211ec149babe3f376b2615c67f3f7605ca41",
      "parents": [
        "b2d2d6ae8ad3dcec77bbaf99589cd98a4797f4f3",
        "72da5e7461fec3b1e116050f2e6f233efb9c54f3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 13 07:26:59 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 13 07:26:59 2015 +0000"
      },
      "message": "Merge \"Revert \"Unload oat files\"\""
    },
    {
      "commit": "72da5e7461fec3b1e116050f2e6f233efb9c54f3",
      "tree": "8b67f82fa1b8ffd6f272b267294cc71911a147f4",
      "parents": [
        "18656fefc7e68e2549a8fa93455074d359d1efa8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 13 07:26:45 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 13 07:26:45 2015 +0000"
      },
      "message": "Revert \"Unload oat files\"\n\nTentative, will monitor bots if flakiness is fixed.\n\nBug: 22720414\n\nThis reverts commit 18656fefc7e68e2549a8fa93455074d359d1efa8.\n\nChange-Id: I53b645b73207ccd21cad6ddac1de483bcc158794\n"
    },
    {
      "commit": "6cfc2c086c47342fd8f5cb09f565979333066473",
      "tree": "c30f4bae6bbd0d50151d3a7f2f1679d39b62de70",
      "parents": [
        "16065ce56394c73c87dcb78ead4164ddc80fddb3"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 12 15:06:16 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 12 15:16:05 2015 -0700"
      },
      "message": "Avoid visiting find array class cache as roots\n\nIf we visit the find array class cache as roots it will prevent\nunloading for any array classes in the cache. This is not ideal\nsince it may take a long time for the entries to get replaced.\n\nAlso added a missed exception check in getDeclaredClasses.\n\nBug: 22720414\n\nChange-Id: Id34557fd034b3e3967ef629301ee251931937849\n"
    },
    {
      "commit": "a9c9d6abf5a37588f4eb1de7d3a12042a9fb3f81",
      "tree": "9261034fd1b7aee95679024d29fba2761dbf2c1b",
      "parents": [
        "da458691d0d8023dee973f5b04633e243219c311",
        "18656fefc7e68e2549a8fa93455074d359d1efa8"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 12 18:26:42 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 12 18:26:42 2015 +0000"
      },
      "message": "Merge \"Unload oat files\""
    },
    {
      "commit": "18656fefc7e68e2549a8fa93455074d359d1efa8",
      "tree": "034cf3a36079c23c9c6ef2659a90a54e45456c90",
      "parents": [
        "b5c810e91d8e3da02c12a490850c68d5d9d563c3"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 09 16:05:31 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 12 11:12:02 2015 -0700"
      },
      "message": "Unload oat files\n\nUnregister and delete oat file when we call DexFile.closeDexFile if\nall of the dex files are no longer in use. We store the oat file as\nthe first element of the dex files array (cookie).\n\nAdded a test that reads the proc maps to ensure there are no\nunload-ex maps. Also some clean up.\n\nBug: 22720414\n\nChange-Id: I52ab84562d1045e94b9a37aafe57609a14f188f7\n"
    },
    {
      "commit": "da458691d0d8023dee973f5b04633e243219c311",
      "tree": "d5776d071548ab4ec4322f4315d9c513cadf7d90",
      "parents": [
        "02280e6d97e4ed51f149b9863a5e382111559442",
        "03ec930faded5bbfa096533ce60b6893847922db"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 12 18:02:51 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 12 18:02:51 2015 +0000"
      },
      "message": "Merge \"ART: Lock counting in the interpreter\""
    },
    {
      "commit": "b2feaafd89813af69c65da95e0b51b1a4cecaf0b",
      "tree": "fafb1cc4b764aface48448f0ccd906ffdff0afdc",
      "parents": [
        "34ce73a962379b7b844c605f1c4c80cf133009e3"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Oct 12 13:40:10 2015 +0000"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Oct 12 18:12:23 2015 +0200"
      },
      "message": "Revert \"Revert \"Fix instrumentation frame check with inlining\"\"\n\nThis reverts commit e3e2fe5ecc16184ba91018adb3bfbec1c5880c29.\n\nFixes an incorrect CHECK_GT into CHECK_GE in method\nInstrumentation::ComputeFrameId.\n\nBug: 22519499\nChange-Id: I0a11d378f3baa728b9176ff086fe4b835b30bb46\n"
    },
    {
      "commit": "98615e5b7e6f24e40ea5be41a83bdd5a1a0d44a4",
      "tree": "4c7cfcd5b15cf347a2e8f9d7cde9fc38d3d8a90f",
      "parents": [
        "439ffb8d4fa25b4ac7518a3bd5cbc3f3769ead48",
        "655e585073ac271cc9afa7c9d6ff5ab4dbe4b72e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 12 13:34:34 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 12 13:34:34 2015 +0000"
      },
      "message": "Merge \"Optimizing: Move GraphChecker memory allocations to arena.\""
    },
    {
      "commit": "439ffb8d4fa25b4ac7518a3bd5cbc3f3769ead48",
      "tree": "1c4957e89dcd48ac197d06c43e5ee0d9a77d5b5e",
      "parents": [
        "5021883b95d2637f9cc6b4f2c5cf305730e864df",
        "ee3cf0731d0ef0787bc2947c8e3ca432b513956b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 12 12:47:06 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 12 12:47:06 2015 +0000"
      },
      "message": "Merge \"Intrinsify System.arraycopy.\""
    },
    {
      "commit": "655e585073ac271cc9afa7c9d6ff5ab4dbe4b72e",
      "tree": "f02b64d048ae4cd7fa51774f220192ddeef42e1e",
      "parents": [
        "89792b9c5ed09dda2937944b69b1b2016807b6aa"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 12 10:38:28 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 12 13:24:31 2015 +0100"
      },
      "message": "Optimizing: Move GraphChecker memory allocations to arena.\n\nBug: 18120045\nChange-Id: I3934158e6ea4868d9baa1dfcc53b603ca6c521e2\n"
    },
    {
      "commit": "34ce73a962379b7b844c605f1c4c80cf133009e3",
      "tree": "3f45a15327e5bc7cb71e6c238ba75e87ae2e6058",
      "parents": [
        "89792b9c5ed09dda2937944b69b1b2016807b6aa",
        "e3e2fe5ecc16184ba91018adb3bfbec1c5880c29"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 12 11:20:55 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 12 11:20:55 2015 +0000"
      },
      "message": "Merge \"Revert \"Fix instrumentation frame check with inlining\"\""
    },
    {
      "commit": "e3e2fe5ecc16184ba91018adb3bfbec1c5880c29",
      "tree": "eebc82d0ab39506f48f2149e312fcd7065dab3f0",
      "parents": [
        "3079e28b00accd19aa1153929fb00497d00956d9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 12 11:20:24 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 12 11:20:24 2015 +0000"
      },
      "message": "Revert \"Fix instrumentation frame check with inlining\"\n\nTimes out on some run-tests.\n\nBug: 22519499\n\nThis reverts commit 3079e28b00accd19aa1153929fb00497d00956d9.\n\nChange-Id: I4c612a5af20e4481eb9865f90abd429f4a40ce57\n"
    },
    {
      "commit": "ee3cf0731d0ef0787bc2947c8e3ca432b513956b",
      "tree": "4146f2c830bdbacdad941e06a0f5979350fe05ad",
      "parents": [
        "5928931541e07b4c98e677cfca3088106b2b9e64"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 06 11:45:02 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 12 12:16:40 2015 +0100"
      },
      "message": "Intrinsify System.arraycopy.\n\nCurrently on x64, will do the other architectures in\ndifferent changes.\n\nChange-Id: I15fbbadb450dd21787809759a8b14b21b1e42624\n"
    },
    {
      "commit": "89792b9c5ed09dda2937944b69b1b2016807b6aa",
      "tree": "b17f003a121f0b1a27bd237dfbc83c2514538f99",
      "parents": [
        "296a7dc68449fb49d47bf2cb93f1ed469bc3228b",
        "3079e28b00accd19aa1153929fb00497d00956d9"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Oct 12 07:07:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 12 07:07:29 2015 +0000"
      },
      "message": "Merge \"Fix instrumentation frame check with inlining\""
    },
    {
      "commit": "03ec930faded5bbfa096533ce60b6893847922db",
      "tree": "085ec76235f72647cd2e083801f15d82394e038b",
      "parents": [
        "14412079e6eba4d16f40c0bdc5e94812e1c7f5bc"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 27 17:41:47 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 09 16:32:13 2015 -0700"
      },
      "message": "ART: Lock counting in the interpreter\n\nTo support structured locking when balanced-locking verification\nfailed, count lock and unlock operations in the verifier.\n\nBug: 23502994\nChange-Id: I2bb915da6e3d43c49723a943b42d4d5a7c939aa1\n"
    },
    {
      "commit": "f9c6fc610b27887f832e453a0da1789187293408",
      "tree": "3f45a15327e5bc7cb71e6c238ba75e87ae2e6058",
      "parents": [
        "793e6fbdefb092d1dab50bca5618aed110c7e037"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 07 11:44:05 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 09 12:57:53 2015 -0700"
      },
      "message": "Add OatFileManager\n\nTakes over a large amount of functionality from the class linker.\n\nChanged OatFile to loading the same OatFile multiple times. This is\nrequired for unloading OatFiles and moving dex caches to BSS since\nthese require a different OatFile for each dex cache and class\nloader.\n\nBug: 22720414\n\nChange-Id: I0321096723a294dc72949f21e66da82727b512fc\n"
    },
    {
      "commit": "1f49764f7d62b2f80ce3418234a5036a59b2b762",
      "tree": "7dfe677cdf802ae381484a525129024c44315dcb",
      "parents": [
        "80d3f4f00e2494f0311f04e8379497ec75376d46"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 05 20:34:42 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 09 12:31:35 2015 +0100"
      },
      "message": "ART: Use arena allocator with HashSet/HashMap.\n\nAllow passing ArenaAllocatorAdapter (or any other allocator)\nto HashSet/HashMap and create appropriate Arena- aliases.\nUse the ArenaHashMap in StackMapsStream.\n\nUpdate arena allocator adapters\u0027 construct()/destroy() to\nC++11 std::allocator\u003c\u003e API.\n\nChange-Id: I18544f718f84c6d6580228dd35297daf7f6afb5e\n"
    },
    {
      "commit": "80d3f4f00e2494f0311f04e8379497ec75376d46",
      "tree": "8eb007370d048e0f7133eff5e8946914c210994c",
      "parents": [
        "14412079e6eba4d16f40c0bdc5e94812e1c7f5bc",
        "4b1d4ec525448302556e4c2b601b4dbb8e5e294e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 09 03:06:37 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 09 03:06:37 2015 +0000"
      },
      "message": "Merge \"ART: Do not abort on exception in CreatePeer\""
    },
    {
      "commit": "14412079e6eba4d16f40c0bdc5e94812e1c7f5bc",
      "tree": "dda2e1759c10b05de64cd23b434d76d590469618",
      "parents": [
        "526ec078c7e4ace31193d7f49ded661ea0929292",
        "df1ccff0cf571076bed72e37492b000b08a7dd26"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Oct 08 22:25:50 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 08 22:25:50 2015 +0000"
      },
      "message": "Merge \"Revert \"Disable clang optimization to boot up on arm64.\"\""
    },
    {
      "commit": "df1ccff0cf571076bed72e37492b000b08a7dd26",
      "tree": "e373871d3b56a161eacd7a1d25846c2a39b0ad62",
      "parents": [
        "1675f2c5581c7b0b83c8823e2b4eb0ec62b28b7f"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Oct 08 21:00:10 2015 +0000"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Oct 08 21:48:30 2015 +0000"
      },
      "message": "Revert \"Disable clang optimization to boot up on arm64.\"\n\nThis reverts commit 1675f2c5581c7b0b83c8823e2b4eb0ec62b28b7f.\n\nWith latest Android source, now we can boot up without this workaround.\n\nBUG: 19180814\n\nChange-Id: I8a7852573856dbbe10a5f4823f7261b8ecc7490c\n"
    },
    {
      "commit": "4b1d4ec525448302556e4c2b601b4dbb8e5e294e",
      "tree": "5f87db96e8eb205b4880a923b7cd8c27a8073ea8",
      "parents": [
        "526ec078c7e4ace31193d7f49ded661ea0929292"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 01 16:47:26 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 08 11:16:06 2015 -0700"
      },
      "message": "ART: Do not abort on exception in CreatePeer\n\nDifferent parts of CreatePeer may throw an exception, especially\nthe Thread constructor. Do not abort in such a case, but return\nand report a failure to attach/create a thread.\n\nBug: 24200698\n\n(cherry picked from commit 2a196784553f4fd0c0f7d4b8aac87281db3a4748)\n\nChange-Id: I06f2c997f0451c71f791d1f12bea6f8ee65e8ab2\n"
    },
    {
      "commit": "ec7802a102d49ab5c17495118d4fe0bcc7287beb",
      "tree": "08649609604b9c96bc48ca071c48b0af5abb1a3f",
      "parents": [
        "b2e436ffcda1d7a87e7bf9133d8ed878388c73c2"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 01 20:57:57 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 08 11:10:18 2015 +0100"
      },
      "message": "Add DCHECKs to ArenaVector and ScopedArenaVector.\n\nImplement dchecked_vector\u003c\u003e template that DCHECK()s element\naccess and insert()/emplace()/erase() positions. Change the\nArenaVector\u003c\u003e and ScopedArenaVector\u003c\u003e aliases to use the new\ntemplate instead of std::vector\u003c\u003e. Remove DCHECK()s that\nhave now become unnecessary from the Optimizing compiler.\n\nChange-Id: Ib8506bd30d223f68f52bd4476c76d9991acacadc\n"
    },
    {
      "commit": "3079e28b00accd19aa1153929fb00497d00956d9",
      "tree": "73e5b45d3e242b9b6515ce7ecbb69e17993cfe07",
      "parents": [
        "35ef974da353b13938fb0f3272c03070ad728431"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Oct 06 15:28:44 2015 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Oct 08 08:42:58 2015 +0200"
      },
      "message": "Fix instrumentation frame check with inlining\n\nWhen instrumenting code compiled with inlining, we must compute\nframe IDs like instrumentation did for pushing instrumentation\nstack frames.\n\nBug: 22519499\nChange-Id: I4a72dbe9e4d2fd4985e49f8261b54c96df7c4a81\n"
    },
    {
      "commit": "80cd163575f3ca7b8f9885e47fdcc798336ab058",
      "tree": "04307f262c6d9b603a30c6c0f62ed4432f5ec087",
      "parents": [
        "9be16fe2cd19a555092512c16afde50f79e80e3d",
        "a6b1ead81603513fd40b77fd72f06d8cb1f35276"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 07 21:15:51 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 07 21:15:51 2015 +0000"
      },
      "message": "Merge \"Mark breakpoint roots\""
    },
    {
      "commit": "3cfa4d05afa76e19ca99ec964b535a15c73683f0",
      "tree": "28c4950dff3700f69e3d32fc496890a722cfc379",
      "parents": [
        "f4156986d1ba5b6dd7dfe89754c8562557cd1bc5"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 06 17:04:01 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 07 09:50:25 2015 -0700"
      },
      "message": "ART: Remove interpreter entrypoints\n\nThese are no longer used as entrypoints. Make them proper runtime\nfunctions local to the interpreter.\n\nBump oat version.\n\nChange-Id: Icdd92e20eafc5668b68eeebf55cf624560f462b3\n"
    },
    {
      "commit": "7bda3b600d74c9a5746840ebb8534443e486615a",
      "tree": "857e13b3bd5a0435b8f2bf8fc15654df7b21810a",
      "parents": [
        "5928931541e07b4c98e677cfca3088106b2b9e64"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 07 12:44:31 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 07 13:49:42 2015 +0100"
      },
      "message": "Revert \"Quick: Work around large frame sizes for x86_64.\"\n\nInstead, move the MEMORY_TOOL_MAKE_* calls out-of-line.\n\nBug: 24729377\n\nThis reverts commit d4cf1e4fe0624b99df22ed5556dc1d042b32a7e0.\n\nChange-Id: I9bccc8bd4a691a2d018b84de8b95bc68fafad4e1\n"
    },
    {
      "commit": "a6b1ead81603513fd40b77fd72f06d8cb1f35276",
      "tree": "3ba5add50b6b0034024e65c6de3aea1004ec5161",
      "parents": [
        "bcb71a2ce5bcb516f76fc9fe838b61b0c48e1210"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 06 10:32:38 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 06 13:24:20 2015 -0700"
      },
      "message": "Mark breakpoint roots\n\nUsed to prevent class unloading on methods that have breakpoints.\n\nBug: 22720414\nChange-Id: I9aee8bcbfdf253607e89dfc55a50ba3f11d99206\n"
    },
    {
      "commit": "8c812b71552a8a1b2bf06e430d355b12b7084807",
      "tree": "b94c289f567014ba56bcd4dec76066085819e90b",
      "parents": [
        "1e5d0cd1bec6c96add46a3b9ca907ec2c222203b",
        "4adeab196d160f70b4865fb8be048ddd2ac7ab82"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Oct 06 17:01:33 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 06 17:01:33 2015 +0000"
      },
      "message": "Merge \"Refactor the alloc entry point generation code.\""
    },
    {
      "commit": "3a3cc99714cddd9690dc40b86eb8173ea4d439a8",
      "tree": "bf2cfdd70fd4a42d27135a291adc41d987884f29",
      "parents": [
        "2a1a50c6cb96ad23734b03763b258a1630614ab4",
        "35ef974da353b13938fb0f3272c03070ad728431"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 06 12:58:33 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 06 12:58:33 2015 +0000"
      },
      "message": "am 35ef974d: Merge \"ART: Mark deallocated arena memory as inaccessible.\"\n\n* commit \u002735ef974da353b13938fb0f3272c03070ad728431\u0027:\n  ART: Mark deallocated arena memory as inaccessible.\n"
    },
    {
      "commit": "35ef974da353b13938fb0f3272c03070ad728431",
      "tree": "eebc82d0ab39506f48f2149e312fcd7065dab3f0",
      "parents": [
        "3b6b587934659bc4428557ac174ccce3731fd91a",
        "2a408a3bef330551818f9cec9a7c5aa7a3f1129e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 06 12:53:41 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 06 12:53:41 2015 +0000"
      },
      "message": "Merge \"ART: Mark deallocated arena memory as inaccessible.\""
    },
    {
      "commit": "f12088d32bb6426f10c856905c10997a67ee01a9",
      "tree": "eb04f23798214679c2ab5399c9998f3df7539a33",
      "parents": [
        "b4a83f15b651f1e75138fe6ff44a14ebb572155e",
        "7b5c395e9a50f988ca2275a429df17b6abbcc475"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Oct 06 10:52:32 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 06 10:52:32 2015 +0000"
      },
      "message": "am 7b5c395e: Merge \"Fix style issue in stub_test.\"\n\n* commit \u00277b5c395e9a50f988ca2275a429df17b6abbcc475\u0027:\n  Fix style issue in stub_test.\n"
    },
    {
      "commit": "7b5c395e9a50f988ca2275a429df17b6abbcc475",
      "tree": "1d0a0c771b9e5ee2c5fe69ef904893c7d7e40860",
      "parents": [
        "26aad174f2e369840a39e3142da3f5f0b7d0f950",
        "24cc1b32953c41fa5171f94487926560f8102741"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Oct 06 10:48:21 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 06 10:48:21 2015 +0000"
      },
      "message": "Merge \"Fix style issue in stub_test.\""
    },
    {
      "commit": "24cc1b32953c41fa5171f94487926560f8102741",
      "tree": "48eb1f5587d126d93f0a2306c0fa74732c08db47",
      "parents": [
        "6e399acb4479eec42131ba2922a9dd8e9df0348a"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Oct 06 11:46:58 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Oct 06 11:46:58 2015 +0100"
      },
      "message": "Fix style issue in stub_test.\n\nChange-Id: I8c338d48f479337b176039c9398d6ee2b44fe6fd\n"
    },
    {
      "commit": "19ea8a4ad583013dddcc4a9192700c6d093edfba",
      "tree": "eef7f7ed59caac3d82a87c11cc37126b527bbf4c",
      "parents": [
        "012318a98767c2004679b47667849f4d8d7f69d7",
        "bcb71a2ce5bcb516f76fc9fe838b61b0c48e1210"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 06 01:21:29 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 06 01:21:29 2015 +0000"
      },
      "message": "am bcb71a2c: Merge \"MIPS64r6 Assembler Tests\"\n\n* commit \u0027bcb71a2ce5bcb516f76fc9fe838b61b0c48e1210\u0027:\n  MIPS64r6 Assembler Tests\n"
    },
    {
      "commit": "bcb71a2ce5bcb516f76fc9fe838b61b0c48e1210",
      "tree": "21c100a084a6908217e2b833a27c424bfe212a01",
      "parents": [
        "0edc0bdb1dc8018ec0000702e6de60e99537b519",
        "dbce0d738e9d7956d2bd73e932a0fdd28f2229b4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 06 01:15:07 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 06 01:15:07 2015 +0000"
      },
      "message": "Merge \"MIPS64r6 Assembler Tests\""
    },
    {
      "commit": "012318a98767c2004679b47667849f4d8d7f69d7",
      "tree": "a7ceb413ac6ad99e638ec29ab5d3010d0c90359d",
      "parents": [
        "85d072f2d6f4433a5ff5d34bcf2633e886758996",
        "0edc0bdb1dc8018ec0000702e6de60e99537b519"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 06 01:14:38 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 06 01:14:38 2015 +0000"
      },
      "message": "am 0edc0bdb: Merge \"Disable class unloading when tracing is active\"\n\n* commit \u00270edc0bdb1dc8018ec0000702e6de60e99537b519\u0027:\n  Disable class unloading when tracing is active\n"
    },
    {
      "commit": "dbce0d738e9d7956d2bd73e932a0fdd28f2229b4",
      "tree": "336a92e522c4f20386f65f2a34534f982cf28089",
      "parents": [
        "002117f95896ffa5db74bee808ae61e876b6e8b0"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Thu Sep 17 13:34:00 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 05 18:12:30 2015 -0700"
      },
      "message": "MIPS64r6 Assembler Tests\n\nAssembler tests for:\n\n- SQRT.fmt    - ABS.fmt     - ROUND.L.fmt - ROUND.W.fmt\n- CEIL.L.fmt  - CEIL.W.fmt  - FLOOR.L.fmt - FLOOR.W.fmt\n- SEL.fmt     - RINT.fmt    - CLASS.fmt   - MIN.fmt\n- MAX.fmt     - cvt.d.l     - BITSWAP     - DBITSWAP\n- DSBH        - DSHD        - WSBH        - ROTR\n- SELEQZ      - SELNEZ      - CLZ         - CLO\n- DCLZ        - DCLO        - SC          - SCD\n- LL          - LLD\n\nThese are the assembler instructions which were added to support\nintrinsic functions on MIPS64. Tests for additional assembler\ninstructions will follow.\n\nSupport added to the testing infrastructure for:\n\n- Assembler instructions which use three registers; previously\n  instructions were limited to one, or two, registers.\n- Immediate values which have their sizes specified by the number of\n  bits required to store them rather than the number of bytes, in both\n  signed and unsigned versions.\n\nChange-Id: I38c07dcbf2539825b25bed13aac05a26fa594b0b\n"
    },
    {
      "commit": "7778b880b9cf46fe7a303b11477bd92b5cf65316",
      "tree": "0b7aaae7a090139f8060c7a5799ce02b019ebf3a",
      "parents": [
        "6639985f39a1983494fc7de2e4639fdc88e81228"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 05 16:41:10 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 05 18:05:31 2015 -0700"
      },
      "message": "Disable class unloading when tracing is active\n\nTracing keeps a lot of pointers to ArtMethods that could belong to\nclasses that we are going to unload. A quick fix for this is to\ndisable class unloading when tracing is active.\n\nBug: 24414774\nBug: 22720414\nChange-Id: Ia5619cbd7c9fd558eaa2a5000871d287213c4a76\n"
    },
    {
      "commit": "4adeab196d160f70b4865fb8be048ddd2ac7ab82",
      "tree": "a32c9b99285ab6cf98a0b8e5c6cd0b52d6494755",
      "parents": [
        "25217af2a7cae96b32ba566aaf697288f3374c99"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Oct 02 15:27:55 2015 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Oct 05 15:58:50 2015 -0700"
      },
      "message": "Refactor the alloc entry point generation code.\n\nMove the x86/x86-64 specific alloc entrypoint generation code to a macro\nGENERATE_ALLOC_ENTRYPOINTS_FOR_EACH_ALLOCATOR in a common file to remove\nduplication.\n\nThis will make it easier to selectively add more hand-written assembly\nallocation fast path code.\n\nRename RETURN_IF_RESULT_IS_NON_ZERO to\nRETURN_IF_RESULT_IS_NON_ZERO_OR_DELIVER in the x86/x86_64 files to match\nthe other architectures.\n\nBug: 9986565\nChange-Id: I56f33b790f94db68891db8a2f42e9231d1770eef\n"
    },
    {
      "commit": "779370939375d14923a63386f1e108e99f9c91e5",
      "tree": "9d4c8ea116aa3b11a360ce3ccb9d3fdedb5e24ea",
      "parents": [
        "e4a73b63b76d8bedf782d2c708695f8e4c99b0b9",
        "02706fcb35325ba11825d575eb7278e3b9d6dfac"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 05 20:03:33 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 05 20:03:33 2015 +0000"
      },
      "message": "am 02706fcb: Merge \"Delete DexFiles in closeDexFiles\"\n\n* commit \u002702706fcb35325ba11825d575eb7278e3b9d6dfac\u0027:\n  Delete DexFiles in closeDexFiles\n"
    },
    {
      "commit": "02706fcb35325ba11825d575eb7278e3b9d6dfac",
      "tree": "3e74e22b75e552f865f124f92cdba63ddf2f7a46",
      "parents": [
        "3a9122a5f9f057e9acb20083cd7e076f3bbf8577",
        "1d7d7f15f9fbb1111d4b7d79c1dab2f49a5960dc"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 05 19:57:21 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 05 19:57:21 2015 +0000"
      },
      "message": "Merge \"Delete DexFiles in closeDexFiles\""
    },
    {
      "commit": "e4a73b63b76d8bedf782d2c708695f8e4c99b0b9",
      "tree": "cfed65169f3f0cf2c249670062b47f3b18b3856b",
      "parents": [
        "c9888dcffd2af41f58be84106a11c45098c1f5ae",
        "3a9122a5f9f057e9acb20083cd7e076f3bbf8577"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 05 19:52:57 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 05 19:52:57 2015 +0000"
      },
      "message": "am 3a9122a5: Merge \"Add exclusion between instrumentation and GC\"\n\n* commit \u00273a9122a5f9f057e9acb20083cd7e076f3bbf8577\u0027:\n  Add exclusion between instrumentation and GC\n"
    },
    {
      "commit": "3a9122a5f9f057e9acb20083cd7e076f3bbf8577",
      "tree": "e2933664bf311e02d4a26ec6b26c38f9bdd96bfa",
      "parents": [
        "002117f95896ffa5db74bee808ae61e876b6e8b0",
        "aa5168291c46f9b418d989bccf2d8e09338a83e6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 05 19:48:24 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 05 19:48:24 2015 +0000"
      },
      "message": "Merge \"Add exclusion between instrumentation and GC\""
    },
    {
      "commit": "1d7d7f15f9fbb1111d4b7d79c1dab2f49a5960dc",
      "tree": "ba866ba1b7726993f31a4fca1ade5a1a8626b5cd",
      "parents": [
        "4b6d025b914e82652ca72e2917b70b2231ead13f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 25 16:48:57 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 05 11:52:26 2015 -0700"
      },
      "message": "Delete DexFiles in closeDexFiles\n\nTODO: Also unmap oat code.\n\nBug: 22720414\nChange-Id: I4d003d9b7f8c22890e7b40121a73081524e71f42\n"
    },
    {
      "commit": "aa5168291c46f9b418d989bccf2d8e09338a83e6",
      "tree": "bad4c44f503962fc5d74c3079f14f9af1ce7864d",
      "parents": [
        "1aba494df441c31836e5b7d4d8e408420a93cb8d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 02 15:53:37 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 05 11:50:18 2015 -0700"
      },
      "message": "Add exclusion between instrumentation and GC\n\nInstrumentation calls VisitClasses while exclusive holding the\nmutator lock. This can cause deadlocks since VisitClasses needs to\ndecode JNI weak globals. If the system weak slow path flag is set,\nthen we wait holding locks while exclusive holding the mutator lock.\nThis causes a deadlock since the GC cannot acquire the mutator lock\nto sweep system weaks.\n\nThis fixes a deadlock seen in one of the tracing tests.\n\nChange-Id: I580152118e068a70f309dcc19df4144afec835dd\n"
    },
    {
      "commit": "208b00c05f030fe93dc7560d3c15ad4f0caa33e9",
      "tree": "11fa52759c1177fc5c8cc0fe712778e042a2bdc5",
      "parents": [
        "8f0686e5295242be45f4587ce6a572510e552421",
        "4b6d025b914e82652ca72e2917b70b2231ead13f"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Oct 05 17:40:59 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 05 17:40:59 2015 +0000"
      },
      "message": "am 4b6d025b: Merge \"Make it possible to change the read barrier type as build config.\"\n\n* commit \u00274b6d025b914e82652ca72e2917b70b2231ead13f\u0027:\n  Make it possible to change the read barrier type as build config.\n"
    },
    {
      "commit": "4b6d025b914e82652ca72e2917b70b2231ead13f",
      "tree": "02c463709ef838a3c957f2e017ea972229dc98d8",
      "parents": [
        "0a051ef572327013fa30e68f3c1f9a7591316970",
        "2e287754fcc0f3ecd10fcc9623800d935618360a"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Oct 05 17:34:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 05 17:34:29 2015 +0000"
      },
      "message": "Merge \"Make it possible to change the read barrier type as build config.\""
    },
    {
      "commit": "419e5de0345e75fd2405372eb91b3d2951239912",
      "tree": "5924bda0595aa13fdadde76aafe24710b9baaed0",
      "parents": [
        "d472287a54e6925869432bfa282059440a750c0d",
        "adb6fbac5223873d99bdf19797cc070e3ca43758"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 05 16:29:34 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 05 16:29:34 2015 +0000"
      },
      "message": "am adb6fbac: Merge \"ART: Add CheckJNI lock checking\"\n\n* commit \u0027adb6fbac5223873d99bdf19797cc070e3ca43758\u0027:\n  ART: Add CheckJNI lock checking\n"
    },
    {
      "commit": "5f4a09a54eed55de89e194780214a2acfd2cb431",
      "tree": "20194da9f2963a98f0265a25172aa9a61b52c2c8",
      "parents": [
        "1aba494df441c31836e5b7d4d8e408420a93cb8d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 28 13:16:33 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 05 08:57:32 2015 -0700"
      },
      "message": "ART: Add CheckJNI lock checking\n\nJNI MonitorEnter and MonitorExit have similar rules to structured\nlocking. Count locks in CheckJNI mode.\n\nBug: 23502994\nChange-Id: Ie3f53d3aa669a6bd0c7153c50c168116b43764d9\n"
    },
    {
      "commit": "a7e2ac3f5744f59aa2503c04ff49410bc5a2af87",
      "tree": "38f40360e615301652b9d5d4b9a9e26e87d747ae",
      "parents": [
        "5114840251f9085e3316ccf54e2abee758e677a9",
        "8a50a4aa4636bdc3e0443ea94f5042db18c03ed2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 05 07:43:38 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 05 07:43:38 2015 +0000"
      },
      "message": "am 8a50a4aa: Merge \"Change IllegalAccess/IncompatibleClassChange order.\"\n\n* commit \u00278a50a4aa4636bdc3e0443ea94f5042db18c03ed2\u0027:\n  Change IllegalAccess/IncompatibleClassChange order.\n"
    },
    {
      "commit": "8a50a4aa4636bdc3e0443ea94f5042db18c03ed2",
      "tree": "c19e2e9fc4b2b4203c847332dfc29f2760495c9e",
      "parents": [
        "d4ca43bbdca1632eca6891758ad103305f2e7d32",
        "470d54fcd6be1aba56a4dc21f8b437168b779867"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 05 07:38:17 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 05 07:38:17 2015 +0000"
      },
      "message": "Merge \"Change IllegalAccess/IncompatibleClassChange order.\""
    },
    {
      "commit": "5114840251f9085e3316ccf54e2abee758e677a9",
      "tree": "7d491314d43e98f628cf71dc3e541697738cf93c",
      "parents": [
        "2cf28641b53d5c93fbb5b5c3bb5c1f585a1d3721",
        "d4ca43bbdca1632eca6891758ad103305f2e7d32"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Sat Oct 03 02:49:12 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Oct 03 02:49:12 2015 +0000"
      },
      "message": "am d4ca43bb: Merge \"Add aarch64 and mips64 support for testing 64 bit field set.\"\n\n* commit \u0027d4ca43bbdca1632eca6891758ad103305f2e7d32\u0027:\n  Add aarch64 and mips64 support for testing 64 bit field set.\n"
    },
    {
      "commit": "6e399acb4479eec42131ba2922a9dd8e9df0348a",
      "tree": "63b76569f4db435905077b0e2fcba5e1fcc50a0c",
      "parents": [
        "089fabf4d39e59016d92b20e930b86398892534b"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Oct 02 23:56:06 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Sat Oct 03 00:34:44 2015 +0100"
      },
      "message": "Add aarch64 and mips64 support for testing 64 bit field set.\n\nChange-Id: Ibc4a9aecca19a7c8bee5404730d64fbeda9bb2e2\n"
    },
    {
      "commit": "2cf28641b53d5c93fbb5b5c3bb5c1f585a1d3721",
      "tree": "3cc5aca5e58b6b37352b7fabae2821521628f7b6",
      "parents": [
        "29459d53f9475778a5aa27c943022aad1978696e",
        "089fabf4d39e59016d92b20e930b86398892534b"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Oct 02 21:46:12 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 02 21:46:12 2015 +0000"
      },
      "message": "am 089fabf4: Merge \"Move getPublicFieldRecursive to native JNI\"\n\n* commit \u0027089fabf4d39e59016d92b20e930b86398892534b\u0027:\n  Move getPublicFieldRecursive to native JNI\n"
    },
    {
      "commit": "089fabf4d39e59016d92b20e930b86398892534b",
      "tree": "89d13b04d28ee1b0e35dfef395f8011dcf24093c",
      "parents": [
        "a3ac4d4c39ad3b14392d8fc564cef71655250d1e",
        "72f9075e92cfc4632d6c50f282a0f6319b718882"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Oct 02 21:40:34 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 02 21:40:34 2015 +0000"
      },
      "message": "Merge \"Move getPublicFieldRecursive to native JNI\""
    },
    {
      "commit": "29459d53f9475778a5aa27c943022aad1978696e",
      "tree": "cd54c4322ab491908d7f96d5103b27098f32105a",
      "parents": [
        "baca767633e33ac731d9a39c0247ffd620274ce9",
        "a3ac4d4c39ad3b14392d8fc564cef71655250d1e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 02 21:01:41 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 02 21:01:41 2015 +0000"
      },
      "message": "am a3ac4d4c: Merge \"Perform write barrier on declaring class when adding instrumentation\"\n\n* commit \u0027a3ac4d4c39ad3b14392d8fc564cef71655250d1e\u0027:\n  Perform write barrier on declaring class when adding instrumentation\n"
    },
    {
      "commit": "9ccf0514278de9f43b44c859471d87ff2f31c751",
      "tree": "ed4a0fb167682ccc47c49add778fb94218c245f9",
      "parents": [
        "a5b63f2c46b1a5bf0452032dd51198adfb3aa309"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 02 13:08:39 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 02 13:49:47 2015 -0700"
      },
      "message": "Perform write barrier on declaring class when adding instrumentation\n\nSince the instrumentation is marked from the declaring class we need\nto mark the card so that mod-union tables and card rescanning know\nabout the update.\n\nThis fixes some moving GC crashes on eng builds.\n\nBug: 24133607\n\n(cherry picked from commit b5bba5966045258fd8b755fb65e381cd7fb9c311)\n\nChange-Id: Ibe8430e32e161d33ce0a6782e8dc252e5c86c8da\n"
    },
    {
      "commit": "2e287754fcc0f3ecd10fcc9623800d935618360a",
      "tree": "11841f17c86c076da7fc1a758d20c8841c3cb65c",
      "parents": [
        "42888b28d2a0f112187c906296d4b28674c8bee2"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Oct 02 13:41:34 2015 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Oct 02 13:41:34 2015 -0700"
      },
      "message": "Make it possible to change the read barrier type as build config.\n\nBug: 12687968\nChange-Id: Ib43dab4d4e68a5a962347fcc2163c3100cb5b760\n"
    },
    {
      "commit": "a6fa1724f4ac9d34f5b97b9ebfdbc9314b0a3a42",
      "tree": "fca9ed246705d7d2f9ab794ed3f5c40021527a72",
      "parents": [
        "0c4d22c7dbdb8e0a128cb45df97118ee18b34da6",
        "42888b28d2a0f112187c906296d4b28674c8bee2"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 02 16:45:51 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 02 16:45:51 2015 +0000"
      },
      "message": "am 42888b28: Merge \"Change DecodeWeakGlobal to DecodeJObject for class unloading\"\n\n* commit \u002742888b28d2a0f112187c906296d4b28674c8bee2\u0027:\n  Change DecodeWeakGlobal to DecodeJObject for class unloading\n"
    },
    {
      "commit": "42888b28d2a0f112187c906296d4b28674c8bee2",
      "tree": "cbbff057d777047e3f8053f3e3caf6ce3b77c42b",
      "parents": [
        "edbff6f51abc2bfb43be78b9a1beaa382c498a1f",
        "4843bd5a0ba1d85e73f6e0ed7a24fa4a344cccb0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 02 16:40:06 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 02 16:40:06 2015 +0000"
      },
      "message": "Merge \"Change DecodeWeakGlobal to DecodeJObject for class unloading\""
    },
    {
      "commit": "470d54fcd6be1aba56a4dc21f8b437168b779867",
      "tree": "623f0abf83d943cafd882b053ac7658c948b7b33",
      "parents": [
        "cc245eab2148547f9df37ddc5f767656dc033b81"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 02 17:14:53 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 02 17:14:53 2015 +0100"
      },
      "message": "Change IllegalAccess/IncompatibleClassChange order.\n\nThis is to have the same order as ClassLinker::ResolveMethod. In\na JIT environment, hitting the dex cache would not make it to the\nexpected IllegalAccessError and we would throw the wrong exception.\n\nChange-Id: Ifc70f1a93260a24e952fa7a659be1be5bdc666de\n"
    },
    {
      "commit": "99240effd42280db003c9c9325128c7b3ada4660",
      "tree": "b736dc9e4a47426cdd176c601973dfbe95a14f1d",
      "parents": [
        "8d960687dc5c5d8474450068afe7b64ffef3d3db",
        "d0abb39540aa85306647801ef75fcc5c35fab69a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 02 10:40:43 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 02 10:40:43 2015 +0000"
      },
      "message": "am d0abb395: Merge \"Do more inlining when JITting.\"\n\n* commit \u0027d0abb39540aa85306647801ef75fcc5c35fab69a\u0027:\n  Do more inlining when JITting.\n"
    },
    {
      "commit": "d0abb39540aa85306647801ef75fcc5c35fab69a",
      "tree": "0ca2d30ea4d8e54ab92e9e82679528fac650daa5",
      "parents": [
        "230033ba185ef83f7be84a4839d4d2e195ab50f4",
        "ccc61972ca31bbb3bf82cdc30656c13bebfbe6a9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 02 10:34:17 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 02 10:34:17 2015 +0000"
      },
      "message": "Merge \"Do more inlining when JITting.\""
    },
    {
      "commit": "8d960687dc5c5d8474450068afe7b64ffef3d3db",
      "tree": "2cd0914ac26a65daffd885a7d463143e1369c178",
      "parents": [
        "4e7e84fe4816805caf65381cec11585381abd9bc",
        "230033ba185ef83f7be84a4839d4d2e195ab50f4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 02 09:00:46 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 02 09:00:46 2015 +0000"
      },
      "message": "am 230033ba: Merge \"Don\\\u0027t force the boot image to using quick.\"\n\n* commit \u0027230033ba185ef83f7be84a4839d4d2e195ab50f4\u0027:\n  Don\u0027t force the boot image to using quick.\n"
    },
    {
      "commit": "ccc61972ca31bbb3bf82cdc30656c13bebfbe6a9",
      "tree": "2d04de6996ec6273a36ac485f0297a3a2771152e",
      "parents": [
        "6387821209a03c5d873cf9dc6fd11434918bbdf4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 01 14:34:20 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 02 09:58:48 2015 +0100"
      },
      "message": "Do more inlining when JITting.\n\nWe now check the verification status of the class.\n\nThis triggered a bug when an inlined method was not compiled\n(typically in a JIT configuration), and the path for deopting in\nStackVisitor was using the wrong ArtMethod in order to know the\ncompiler that compiled the current frame.\n\nChange-Id: I81d3ca0cf5cd3864b83b63dd954c58e1f2adaad4\n"
    },
    {
      "commit": "230033ba185ef83f7be84a4839d4d2e195ab50f4",
      "tree": "591a35e7df157addd2edf3ef8748e1796a44b706",
      "parents": [
        "1604cb973e96ede4af275e676f0f35af46641f03",
        "409e80901468f6c746eeae5c6e93ceedf1d8c711"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 02 08:01:09 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 02 08:01:09 2015 +0000"
      },
      "message": "Merge \"Don\u0027t force the boot image to using quick.\""
    },
    {
      "commit": "4e7e84fe4816805caf65381cec11585381abd9bc",
      "tree": "2ef811e08c39bbff42225db3ed4891b086d2caf1",
      "parents": [
        "84fdbd74586478ae0dfcaa5f4cf2554a12a49810",
        "1604cb973e96ede4af275e676f0f35af46641f03"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Oct 02 06:45:04 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 02 06:45:04 2015 +0000"
      },
      "message": "am 1604cb97: Merge \"Fix x86_64 gtest.\"\n\n* commit \u00271604cb973e96ede4af275e676f0f35af46641f03\u0027:\n  Fix x86_64 gtest.\n"
    },
    {
      "commit": "1604cb973e96ede4af275e676f0f35af46641f03",
      "tree": "0024a67158fa20f15d18ea2aced893070f15af83",
      "parents": [
        "77189602d7bd291a7de87967b87b9b5a9b2eb68a",
        "872ab3fd665feaeef20d473d8c983b44282aee40"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Oct 02 06:40:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 02 06:40:57 2015 +0000"
      },
      "message": "Merge \"Fix x86_64 gtest.\""
    },
    {
      "commit": "872ab3fd665feaeef20d473d8c983b44282aee40",
      "tree": "e9b0c6874d8b0054f6fc2c569cb02543f247ec64",
      "parents": [
        "07380a2d6cb9feee02facc81f699eed5cb670cd5"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Oct 02 07:27:51 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Oct 02 07:27:51 2015 +0100"
      },
      "message": "Fix x86_64 gtest.\n\nCalling convention for setting a 64bit field changed.\nThe CL fixes the test for x86_64 and disable it for other arches.\n\nChange-Id: Iea3df0965f65b10c59ed975f91ca8069fde6e13c\n"
    },
    {
      "commit": "92db65c19545bb56571ec8bdcd51430f264fb7ac",
      "tree": "0944015e5b47f66af16bb4ae62ec7757b217cd79",
      "parents": [
        "96d6adb12439327d33099c24189ccff138af3c47",
        "487e7b3aca83d6e7d52f86b73eaa359f23993fcb"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Oct 02 01:56:37 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 02 01:56:37 2015 +0000"
      },
      "message": "am 487e7b3a: Merge \"Revert \"Revert \"Support unresolved fields in optimizing\"\"\n\n* commit \u0027487e7b3aca83d6e7d52f86b73eaa359f23993fcb\u0027:\n  Revert \"Revert \"Support unresolved fields in optimizing\"\n"
    },
    {
      "commit": "487e7b3aca83d6e7d52f86b73eaa359f23993fcb",
      "tree": "6ea080bc15c72894e06343664ff5221c75cfb431",
      "parents": [
        "2a09e92a87ff788479ba481b3b216609424aabdc",
        "e460d1df1f789c7c8bb97024a8efbd713ac175e9"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Oct 02 01:52:46 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 02 01:52:46 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Support unresolved fields in optimizing\"\""
    },
    {
      "commit": "96d6adb12439327d33099c24189ccff138af3c47",
      "tree": "b2feb37ab4f09d7e38c2aca2867db80f37b37176",
      "parents": [
        "b3419d8658b1a089e2ef0c51e51ec532995dccf8",
        "2a09e92a87ff788479ba481b3b216609424aabdc"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 02 01:29:16 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 02 01:29:16 2015 +0000"
      },
      "message": "am 2a09e92a: Merge \"Make SetStateUnsafe run checkpoints before going to suspended\"\n\n* commit \u00272a09e92a87ff788479ba481b3b216609424aabdc\u0027:\n  Make SetStateUnsafe run checkpoints before going to suspended\n"
    },
    {
      "commit": "e460d1df1f789c7c8bb97024a8efbd713ac175e9",
      "tree": "3511036fb18828dd0ee140d33a8bcd0535ebeab6",
      "parents": [
        "25217af2a7cae96b32ba566aaf697288f3374c99"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Sep 29 04:52:17 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Oct 02 02:25:18 2015 +0100"
      },
      "message": "Revert \"Revert \"Support unresolved fields in optimizing\"\n\nThe CL also changes the calling convetion for 64bit static field set\nto use kArg2 instead of kArg1. This allows optimizing to keep\nthe asumptions:\n- arm pairs are always of form (even_reg, odd_reg)\n- ecx_edx is not used as a register on x86.\n\nThis reverts commit e6f49b47b6a4dc9c7684e4483757872cfc7ff1a1.\n\nChange-Id: I93159917565824084abc96775f31be1a4249f2f3\n"
    },
    {
      "commit": "2a09e92a87ff788479ba481b3b216609424aabdc",
      "tree": "a4f049cb8a64f276df61e841bc0472a512eca0aa",
      "parents": [
        "c448024b005bb2debb851f4de1b7fb5e544c3a80",
        "8ac9c91cfa2408cf8d27bcf12785a60923aab775"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 02 01:23:04 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 02 01:23:04 2015 +0000"
      },
      "message": "Merge \"Make SetStateUnsafe run checkpoints before going to suspended\""
    },
    {
      "commit": "8ac9c91cfa2408cf8d27bcf12785a60923aab775",
      "tree": "fec6ebbdf2031aa648fa3699b3511048d64e0656",
      "parents": [
        "25217af2a7cae96b32ba566aaf697288f3374c99"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 01 15:58:41 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 01 18:06:22 2015 -0700"
      },
      "message": "Make SetStateUnsafe run checkpoints before going to suspended\n\nThis prevents cases where we can get a checkpoint request in runnable\nand then unsafe set to suspended. This was bad behavior since the\ncheckpoint may not be run in a timely manner.\n\nBug: 24191051\nChange-Id: I73605c1a1154f67699f3902141f3232ab064793f\n"
    },
    {
      "commit": "b3419d8658b1a089e2ef0c51e51ec532995dccf8",
      "tree": "ea06b6044f9f3b5fedb09fe7c8863cc7b4f33288",
      "parents": [
        "1213fb1c80ce6088e9bae84120ffd5469828628f",
        "c448024b005bb2debb851f4de1b7fb5e544c3a80"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Oct 02 01:05:15 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 02 01:05:15 2015 +0000"
      },
      "message": "am c448024b: Merge \"Improvements for table lookup read barriers.\"\n\n* commit \u0027c448024b005bb2debb851f4de1b7fb5e544c3a80\u0027:\n  Improvements for table lookup read barriers.\n"
    },
    {
      "commit": "c448024b005bb2debb851f4de1b7fb5e544c3a80",
      "tree": "de0059ffe4cd435bdfc906b6589c177118520ae0",
      "parents": [
        "25217af2a7cae96b32ba566aaf697288f3374c99",
        "fa75518907c2b997770ced9adb34df7c3c4665c4"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Oct 02 01:01:25 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 02 01:01:25 2015 +0000"
      },
      "message": "Merge \"Improvements for table lookup read barriers.\""
    },
    {
      "commit": "fa75518907c2b997770ced9adb34df7c3c4665c4",
      "tree": "392101a978d0b4512cbc51bc3fd9b11dc4f4c0a1",
      "parents": [
        "3a447ded48925f3ec65553fcf56c55da23777003"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Sep 30 20:12:11 2015 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Oct 01 17:39:29 2015 -0700"
      },
      "message": "Improvements for table lookup read barriers.\n\n- Implement fast paths for the GC root read barrier routines.\n- Avoid unnecessary CAS operations.\n\nBug: 12687968\nChange-Id: Iceef44e253062af5bf2295a521a9c64403deafe1\n"
    },
    {
      "commit": "4843bd5a0ba1d85e73f6e0ed7a24fa4a344cccb0",
      "tree": "0ab2126275b298ba877440dd6b556381af587ce1",
      "parents": [
        "25217af2a7cae96b32ba566aaf697288f3374c99"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 01 17:08:44 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 01 17:32:08 2015 -0700"
      },
      "message": "Change DecodeWeakGlobal to DecodeJObject for class unloading\n\nDecodeWeakGlobal returns the sentinel object for cleared JNI weak\nglobals. This was causing a memory leak since it wouldn\u0027t delete\nclass tables and linear allocs due to never returning null. The bug\nwas found by yamauchi.\n\nBug: 22720414\n\nChange-Id: Iff4681495232b9a9756dbdb51d10ea72691a85dd\n"
    },
    {
      "commit": "72f9075e92cfc4632d6c50f282a0f6319b718882",
      "tree": "59da1347488e2298af46017992d0ab9f44c5966a",
      "parents": [
        "9b29f3ef7df18c84d922634709e38a1913709ad7"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Oct 01 13:35:09 2015 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Oct 01 16:58:42 2015 -0700"
      },
      "message": "Move getPublicFieldRecursive to native JNI\n\nBenchmark: libcore/benchmarks/src/benchmarks/regression/ReflectionBenchmark.java\n\nPrevious benchmarks:\n    Class_getField           814.26 ns; σ\u003d6.44 ns @ 3 trials\n    GetInterfaceStaticField 1552.28 ns; σ\u003d38.22 ns @ 10 trials\n    GetSuperClassField       939.85 ns; σ\u003d2.94 ns @ 3 trials\n\nNew benchmarks:\n    Class_getField           735.97 ns; σ\u003d0.98 ns @ 3 trials\n    GetInterfaceStaticField 1178.98 ns; σ\u003d6.14 ns @ 3 trials\n    GetSuperClassField       853.76 ns; σ\u003d16.86 ns @ 10 trials\n\nBug: 24209213\n\nChange-Id: I08073cb36b007ac33af010dab917a6f1e51107c0\n"
    },
    {
      "commit": "1213fb1c80ce6088e9bae84120ffd5469828628f",
      "tree": "99d7ec49d33e36ab3f0a7efc43b5410494059570",
      "parents": [
        "e2ef7b5043acea15c5fca36e8419030d4da41231",
        "25217af2a7cae96b32ba566aaf697288f3374c99"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 01 22:16:26 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 01 22:16:26 2015 +0000"
      },
      "message": "am 25217af2: Merge \"Add more error printing to TransitionFromSuspendedToRunnable\"\n\n* commit \u002725217af2a7cae96b32ba566aaf697288f3374c99\u0027:\n  Add more error printing to TransitionFromSuspendedToRunnable\n"
    },
    {
      "commit": "e2ef7b5043acea15c5fca36e8419030d4da41231",
      "tree": "4c391a4615ab63aba3e0c2d50194391cd1a87a2a",
      "parents": [
        "de6e73d8068d4614e5406d212efc9cb43cbda6cd",
        "506b08cbd5e44bedc32f31ea74ddcc921c98ec99"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 01 22:11:39 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 01 22:11:39 2015 +0000"
      },
      "message": "am 506b08cb: Merge \"Revert \"Revert \"ART: Remove unnecessary SHARED_REQUIRES in ArtMethod\"\"\"\n\n* commit \u0027506b08cbd5e44bedc32f31ea74ddcc921c98ec99\u0027:\n  Revert \"Revert \"ART: Remove unnecessary SHARED_REQUIRES in ArtMethod\"\"\n"
    },
    {
      "commit": "25217af2a7cae96b32ba566aaf697288f3374c99",
      "tree": "a09ae9cb725f45ad97c6b74dda36f678cfa732cd",
      "parents": [
        "506b08cbd5e44bedc32f31ea74ddcc921c98ec99",
        "dabdccc816309ff29b39d13696c58c8543450739"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 01 22:08:56 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 01 22:08:56 2015 +0000"
      },
      "message": "Merge \"Add more error printing to TransitionFromSuspendedToRunnable\""
    },
    {
      "commit": "506b08cbd5e44bedc32f31ea74ddcc921c98ec99",
      "tree": "7798e0394b72abd1accbd48b16b42617ffcaa061",
      "parents": [
        "9b29f3ef7df18c84d922634709e38a1913709ad7",
        "cbc96b802f505ebcc71bb505c9a069ebec66df49"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 01 22:05:49 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 01 22:05:49 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"ART: Remove unnecessary SHARED_REQUIRES in ArtMethod\"\"\""
    },
    {
      "commit": "dabdccc816309ff29b39d13696c58c8543450739",
      "tree": "efa1d1e76a8de568c66496c09f6158cf9f010903",
      "parents": [
        "d1169045e978c8c9dde98315612c488c6bb153f4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 01 14:46:29 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 01 14:46:29 2015 -0700"
      },
      "message": "Add more error printing to TransitionFromSuspendedToRunnable\n\nBug: 24191051\nChange-Id: I5c66ba5c76bf86e8d603110989b9da883ca4ca65\n"
    },
    {
      "commit": "de6e73d8068d4614e5406d212efc9cb43cbda6cd",
      "tree": "74f3701866275d0fbd5eaa234d418cd1c07de293",
      "parents": [
        "a7c8f538824ff710cb5dbb4fc8ba0df07178c878",
        "9b29f3ef7df18c84d922634709e38a1913709ad7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 01 21:05:46 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 01 21:05:46 2015 +0000"
      },
      "message": "am 9b29f3ef: Merge \"MIPS64: Implement intrinsic java.lang.Thread.currentThread()\"\n\n* commit \u00279b29f3ef7df18c84d922634709e38a1913709ad7\u0027:\n  MIPS64: Implement intrinsic java.lang.Thread.currentThread()\n"
    },
    {
      "commit": "9b29f3ef7df18c84d922634709e38a1913709ad7",
      "tree": "64d8c0fd2300992d57d2581a6fbedd569a35beef",
      "parents": [
        "8446ed412d3a4ca2c70737d6f40c4129b0ee8ab1",
        "49e553927a70704cd6a29c7c8b96861e63808470"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 01 20:29:43 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 01 20:29:43 2015 +0000"
      },
      "message": "Merge \"MIPS64: Implement intrinsic java.lang.Thread.currentThread()\""
    }
  ],
  "next": "409e80901468f6c746eeae5c6e93ceedf1d8c711"
}
