)]}'
{
  "log": [
    {
      "commit": "a1ff30fcb3c23b855872ef83b87e6ee19f03cb8e",
      "tree": "43d6533d594bc898ffeb016bc8895bd8da3efe1e",
      "parents": [
        "5065b09332328477d489b8ce26c3a1381e6f8d49"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 27 12:19:45 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 10 14:29:26 2016 -0700"
      },
      "message": "ART: Switch to name-based IMT hashing\n\nUse a hash scheme based on the name. This keeps IMT slots stable\nwhen dex tables change.\n\nThis incurs a severe performance penalty for computing the slot.\nMeasurements on host degraded from 30ns to an average of 85mus.\nHowever, calls in compiled code will not incur this overhead.\n\nAdded a test comparing similar interfaces in similar dex files.\n\nBug: 31594153\nTest: test-art-host\nChange-Id: Ibb86679ee94bec561984ea25826e56b1a7964cd0\n"
    },
    {
      "commit": "5065b09332328477d489b8ce26c3a1381e6f8d49",
      "tree": "264447b18c9fd4122c2df4da52e2123ac6a6e43b",
      "parents": [
        "f361a29848d3b88a3074e4ca25be62d77dab6a75",
        "0a748b511404836e732c73779a26d1bd87911313"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 10 08:34:17 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 10 08:34:17 2016 +0000"
      },
      "message": "Merge \"MIPS64: Fix art_quick_aput_obj stubs\""
    },
    {
      "commit": "f361a29848d3b88a3074e4ca25be62d77dab6a75",
      "tree": "a00d0adfe64c0da40b726a1f8799b774b18514c4",
      "parents": [
        "0d7398fd5407938aba75c50bd323af27e83ccb9f",
        "0353698431883d11600e57c9367607a7455b3fb4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 07 19:45:02 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 07 19:45:03 2016 +0000"
      },
      "message": "Merge \"Use word copying for CopyObject\""
    },
    {
      "commit": "0353698431883d11600e57c9367607a7455b3fb4",
      "tree": "a00d0adfe64c0da40b726a1f8799b774b18514c4",
      "parents": [
        "0d7398fd5407938aba75c50bd323af27e83ccb9f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 07 10:51:53 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 07 10:57:39 2016 -0700"
      },
      "message": "Use word copying for CopyObject\n\nPrevent word tearing.\n\nBug: 32012820\n\nTest: test-art-host\n\nChange-Id: Ie3d5817f3bdf49e0d949caeccd7cd3512d61bdf7\n"
    },
    {
      "commit": "0d7398fd5407938aba75c50bd323af27e83ccb9f",
      "tree": "26385b4bf370a52535258cbf1603c478ba8e4167",
      "parents": [
        "6ed8fc7a68910ebfe9df7cc080c9a9fc835c658a",
        "a058fdf0cf7435a13a6e8cae5e3a9bfa1513828d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 07 16:57:40 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 07 16:57:41 2016 +0000"
      },
      "message": "Merge \"Move mirror::Object setters to ObjPtr\""
    },
    {
      "commit": "6ed8fc7a68910ebfe9df7cc080c9a9fc835c658a",
      "tree": "c45da31d70ab476836ad97b27f5b57812807c842",
      "parents": [
        "f13f84fd9fb6151c382b1f14062d6ff8c9c3b51e",
        "8c4a8542ff5f899f430a65feaa114d6288077224"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 07 16:51:06 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 07 16:51:07 2016 +0000"
      },
      "message": "Merge \"Improved and simplified loop optimizations.\""
    },
    {
      "commit": "0a748b511404836e732c73779a26d1bd87911313",
      "tree": "9b1321867fc81bb54daef2b828ab094528a72d59",
      "parents": [
        "f13f84fd9fb6151c382b1f14062d6ff8c9c3b51e"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Fri Oct 07 17:03:28 2016 +0200"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Fri Oct 07 17:35:08 2016 +0200"
      },
      "message": "MIPS64: Fix art_quick_aput_obj stubs\n\nPrevent situations where $gp is calculated and saved twice in a row\nwithout restoring it. When restored in the end, its value was wrong.\n\nThis fixes test failure in stub_test.APutObj.\n\nTest: mma test-art-target-gtest-stub_test64 on QEMU\n\nChange-Id: I63b37ecee8d3576c57c0f6862d00bc03965b042d\n"
    },
    {
      "commit": "8c4a8542ff5f899f430a65feaa114d6288077224",
      "tree": "8582d2cbab0dcab323b984caa164f4c3bc65613d",
      "parents": [
        "78c6fefdb9008cb6dc9f0014d4616b457009c6c8"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Oct 06 11:36:57 2016 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Oct 07 08:16:16 2016 -0700"
      },
      "message": "Improved and simplified loop optimizations.\n\nRationale:\nThis CL merges some common cases into one, thereby simplifying\nthe code quite a bit. It also prepares for more general induction\ncycles (rather than the simple phi-add currently used). Finally,\nit generalizes the closed form elimination with empty loops.\nAs a result of the latter, elaborate but weird code like:\n\n  private static int waterFall() {\n    int i \u003d 0;\n    for (; i \u003c 10; i++);\n    for (; i \u003c 20; i++);\n    for (; i \u003c 30; i++);\n    for (; i \u003c 40; i++);\n    for (; i \u003c 50; i++);\n    return i;\n  }\n\nnow becomes just this (on x86)!\n\n    mov eax, 50\n    ret\n\nChange-Id: I8d22ce63ce9696918f57bb90f64d9a9303a4791d\nTest: m test-art-host\n"
    },
    {
      "commit": "f13f84fd9fb6151c382b1f14062d6ff8c9c3b51e",
      "tree": "b75b08fdb05b6a62e8887e1b1e13e4dc428af76e",
      "parents": [
        "2dacb1da034c72f1d0854f200716260722369a5d",
        "d1e44e27126c8ba20f868a8f70c37633386303c5"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Oct 07 15:10:06 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 07 15:10:07 2016 +0000"
      },
      "message": "Merge \"Add \"fixups\" for ids referenced in code\""
    },
    {
      "commit": "2dacb1da034c72f1d0854f200716260722369a5d",
      "tree": "0837ad99969c4727e098c3eaefa38d4a226edd84",
      "parents": [
        "81ca05d930c0e7d504bd3a5f7576c10616c208aa",
        "fec2bdfbdcad4bd8938d958ae6c9dbfe37556a96"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 07 08:41:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 07 08:41:37 2016 +0000"
      },
      "message": "Merge \"Blacklist test 903.\""
    },
    {
      "commit": "fec2bdfbdcad4bd8938d958ae6c9dbfe37556a96",
      "tree": "0837ad99969c4727e098c3eaefa38d4a226edd84",
      "parents": [
        "81ca05d930c0e7d504bd3a5f7576c10616c208aa"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 07 09:29:20 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 07 09:32:11 2016 +0100"
      },
      "message": "Blacklist test 903.\n\nbug:31681198\nChange-Id: I2d5578242d594be791aedd99266263ec53182d77\n"
    },
    {
      "commit": "81ca05d930c0e7d504bd3a5f7576c10616c208aa",
      "tree": "ec391ef8a14279fb2abcbf277e28c1fc0069ee9e",
      "parents": [
        "a2dca22534f367c82518430b713538ad758f0f2d",
        "c4f3925490a73da8dc74884a1deb965d4ecaf14e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 07 00:31:27 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 07 00:31:27 2016 +0000"
      },
      "message": "Merge \"Move remaining jobject related functions to use ObjPtr\""
    },
    {
      "commit": "d1e44e27126c8ba20f868a8f70c37633386303c5",
      "tree": "9bebd64b3f516aef7476e089a423a80ec94116b8",
      "parents": [
        "54aaba2420c4ee7c6580293b092b7f38f3b9438c"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Oct 06 17:09:32 2016 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Oct 06 17:09:32 2016 -0700"
      },
      "message": "Add \"fixups\" for ids referenced in code\n\nAllow better visualization by determining which type_id, string_id,\nmethod_id, and field_id values are used by code_items.\n\nBug: 29921113\nChange-Id: Ia6ff72064104cd5c0868e972ca65536dbeb37b09\nTest: dexlayout -s {some favorite apks}\n"
    },
    {
      "commit": "a058fdf0cf7435a13a6e8cae5e3a9bfa1513828d",
      "tree": "85de1316f29f661372841d5feee16c370375fc16",
      "parents": [
        "c4f3925490a73da8dc74884a1deb965d4ecaf14e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 06 15:13:58 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 06 15:53:58 2016 -0700"
      },
      "message": "Move mirror::Object setters to ObjPtr\n\nBug: 31113334\n\nTest: test-art-host\n\nChange-Id: I2c4c84645e194c3c435a4a6fd670176b0e98671f\n"
    },
    {
      "commit": "a2dca22534f367c82518430b713538ad758f0f2d",
      "tree": "65b736e7c7282caa8f6bf007a1225838e09b8ebd",
      "parents": [
        "2b31c0ac03f9295fbbae5aa5036c47c7b6a8b7a4",
        "e08a2be1438e639a24b0c79df62363bf74072a6b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 06 22:26:42 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 06 22:26:42 2016 +0000"
      },
      "message": "Merge \"ART: Register object tagging table\""
    },
    {
      "commit": "c4f3925490a73da8dc74884a1deb965d4ecaf14e",
      "tree": "7fe566827f8ab903af1acb5697c86a6efe3187b3",
      "parents": [
        "18f7de841fee3ca6f0c04e7caa57c3ce76b36231"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 05 18:32:08 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 06 13:55:58 2016 -0700"
      },
      "message": "Move remaining jobject related functions to use ObjPtr\n\nAlso added ObjPtr::DownCast.\n\nBug: 31113334\n\nTest: test-art-host\n\nChange-Id: I59c253211dc435579ffdfd49f856861ab13d262c\n"
    },
    {
      "commit": "e08a2be1438e639a24b0c79df62363bf74072a6b",
      "tree": "078a3d096af7e99f3c4ca8c6bd44058bff6e7ae2",
      "parents": [
        "18f7de841fee3ca6f0c04e7caa57c3ce76b36231"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 06 13:13:30 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 06 13:13:30 2016 -0700"
      },
      "message": "ART: Register object tagging table\n\nActually register object tagging table with the runtime so it\ngets swept properly.\n\nBug: 31385027\nTest: m test-art-host\nTest: m ART_USE_READ_BARRIER\u003dtrue test-art-host\nChange-Id: I4364458ece2893e6a85fe7518df39fb838199f20\n"
    },
    {
      "commit": "2b31c0ac03f9295fbbae5aa5036c47c7b6a8b7a4",
      "tree": "ff5e6a40168b676752e9083db4c1f0df878fef3a",
      "parents": [
        "18f7de841fee3ca6f0c04e7caa57c3ce76b36231",
        "4229811dde9ff81ec3b963a22db558509a4e8e5c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 06 19:27:59 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 06 19:28:00 2016 +0000"
      },
      "message": "Merge \"test: Fix jni_compiler_test for const correctness\""
    },
    {
      "commit": "18f7de841fee3ca6f0c04e7caa57c3ce76b36231",
      "tree": "b1cfc982706e78b70bac215a4a7643374f5ace5e",
      "parents": [
        "83805a2c02289a4e234fa6cbbc6766fbfabbc308",
        "3f386d55f7e37eaefa828a55c8aa8c4f8788e6cf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 06 18:24:19 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 06 18:24:19 2016 +0000"
      },
      "message": "Merge \"Allow early abort logging\""
    },
    {
      "commit": "83805a2c02289a4e234fa6cbbc6766fbfabbc308",
      "tree": "c04136483bc684ecf84c4782d4284dc3a8eaeefe",
      "parents": [
        "db8eed0fa5aaa3b7b278b59b6f18543701865374",
        "6dee92eb2ebddbea7e147c7a82b193e113b6421f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 06 18:24:03 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 06 18:24:03 2016 +0000"
      },
      "message": "Merge \"ART: Support object tagging\""
    },
    {
      "commit": "db8eed0fa5aaa3b7b278b59b6f18543701865374",
      "tree": "068f3ceb05e477b5684fdfd4e21fb171646270cd",
      "parents": [
        "54aaba2420c4ee7c6580293b092b7f38f3b9438c",
        "f8ac97f94aad9ce2d324c2c7c21dde3abf13315b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 06 18:22:32 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 06 18:22:32 2016 +0000"
      },
      "message": "Merge \"ObjPtr misc cleanup\""
    },
    {
      "commit": "4229811dde9ff81ec3b963a22db558509a4e8e5c",
      "tree": "b478a7b8baea57c9093934c651e56e0a58f2efb3",
      "parents": [
        "a51d8b77a8b0d2466e8d931bd5de552465fb6961"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Oct 06 10:51:11 2016 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Oct 06 10:52:08 2016 -0700"
      },
      "message": "test: Fix jni_compiler_test for const correctness\n\nChange-Id: Id0ea8f18f8fac3cf884a43a2ae6448bb0221209a\n"
    },
    {
      "commit": "54aaba2420c4ee7c6580293b092b7f38f3b9438c",
      "tree": "888adc9dbd96978f9a7f06d659b871b2a89a109a",
      "parents": [
        "6e9854e4df95de62e9d7bea4be770603077faf22",
        "a10ae7865a140d45fc01e934a44ba5c8781b4a52"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Oct 06 17:19:17 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 06 17:19:18 2016 +0000"
      },
      "message": "Merge \"Temporarily add debug logging for b/31357497\""
    },
    {
      "commit": "6e9854e4df95de62e9d7bea4be770603077faf22",
      "tree": "6eefdf9edc206052eabb03ba2fb3d8b001ed19be",
      "parents": [
        "81c6c8e6ded6d19c6196205a1b19fafa77993850",
        "8d935de32499048fe8023e0d86910b2f005afec4"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Oct 06 08:55:03 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 06 08:55:03 2016 +0000"
      },
      "message": "Merge \"Revert \"Blacklist flaky test.\"\""
    },
    {
      "commit": "8d935de32499048fe8023e0d86910b2f005afec4",
      "tree": "b53a39fa7118eb34f2541caf9e1ede75a2ed17e0",
      "parents": [
        "71ceb721240d50d396ea1a61a2bf2832be345007"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Oct 06 08:40:07 2016 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Oct 06 08:54:26 2016 +0000"
      },
      "message": "Revert \"Blacklist flaky test.\"\n\nReverts the blacklisting of NetworkSecurityPolicyTest\n#testCleartextTrafficPolicyWithJarHttpURLConnection.\n\nThis reverts commit 71ceb721240d50d396ea1a61a2bf2832be345007.\n\nBug: 31944681\nChange-Id: Ib0f13cfec021e258ceba480c43cced59c554b3f5\n"
    },
    {
      "commit": "81c6c8e6ded6d19c6196205a1b19fafa77993850",
      "tree": "c1e7fb8317e2075c437b65dce5323956a3d3a0d6",
      "parents": [
        "765dee21f34e8c191c247506cf8bc73a3c3fed36",
        "02e7f1a46d8dbb277d045182cd1fa4b058d55162"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 06 02:57:57 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 06 02:57:58 2016 +0000"
      },
      "message": "Merge \"Fix a deadlock between thread flip and suspend request.\""
    },
    {
      "commit": "3f386d55f7e37eaefa828a55c8aa8c4f8788e6cf",
      "tree": "0606c2468df283260d56efa6d10cd6ffcb28173b",
      "parents": [
        "78c6fefdb9008cb6dc9f0014d4616b457009c6c8"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 05 14:12:45 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 05 18:23:58 2016 -0700"
      },
      "message": "Allow early abort logging\n\nPrint unattached threads with native stack traces for early abort.\n\nBug: 31855501\n\nTest: test-art-host -j32\nTest: thread_list_-\u003eDump in Runtime::Start.\nChange-Id: I5364625e798356c4fa1f88a8c646e374e59d93b0\n"
    },
    {
      "commit": "a10ae7865a140d45fc01e934a44ba5c8781b4a52",
      "tree": "fd5408e5c9316dd199083361ab305a91f221cade",
      "parents": [
        "78c6fefdb9008cb6dc9f0014d4616b457009c6c8"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Oct 05 18:13:23 2016 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Oct 05 18:16:21 2016 -0700"
      },
      "message": "Temporarily add debug logging for b/31357497\n\nNote the check can\u0027t be a DCHECK because 103-string-append runs with the\nnon-debug build (libart.so).\n\nBug: 31357497\nBug: 12687968\nTest: run-test 103-string-append on N9.\nChange-Id: I30ebe9111fa6c42796dcafa182ae066214805173\n"
    },
    {
      "commit": "765dee21f34e8c191c247506cf8bc73a3c3fed36",
      "tree": "603531ca5ba0a31b7aed9a4a900ed2a5c40b4b96",
      "parents": [
        "30267ea0427af6521a69213b72807c4e3928da58",
        "a86210038524cecd0d96d6ba6f8f116da348a25c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 06 01:12:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 06 01:12:24 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Add dex file writer to dexlayout tool.\"\"\""
    },
    {
      "commit": "02e7f1a46d8dbb277d045182cd1fa4b058d55162",
      "tree": "bd14cec6d5c4a545c2b9081d72b6e1b49ec7ef1e",
      "parents": [
        "d1224dce59eb0019507e41da5e10f12dda66bee4"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Oct 03 15:32:01 2016 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Oct 05 17:52:29 2016 -0700"
      },
      "message": "Fix a deadlock between thread flip and suspend request.\n\nSee 31683379#9 for the deadlock scenario.\n\nMake ModifySuspendCount(+1) retry if the thread flip function is set.\n\nBug: 31683379\nBug: 12687968\nTest: test-art, N9 libartd boot, Ritz EAAC with CC.\nTest: 129-GetThreadId with gcstress and CC.\nChange-Id: Id5cdfcd90a08a2ff497f9f0e2842fa4c613549bc\n"
    },
    {
      "commit": "30267ea0427af6521a69213b72807c4e3928da58",
      "tree": "08004a7697830f035f0d50d939844a291d4f0233",
      "parents": [
        "6206a5d523af2b5497148b8858f2ebbd41c98acc",
        "a51d8b77a8b0d2466e8d931bd5de552465fb6961"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 05 23:41:27 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 05 23:41:28 2016 +0000"
      },
      "message": "Merge \"jni: Test that pushed handle scopes are popped after JNI transitions\""
    },
    {
      "commit": "6206a5d523af2b5497148b8858f2ebbd41c98acc",
      "tree": "cb09ffa4dec7cd106e82fe630ed2941f49e8b566",
      "parents": [
        "463a67dd60ab0341e56713426a34c3c0a0749a35",
        "299958fc681f591fee7ff9ae0d81bd3adfebdd2b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 05 23:32:05 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 05 23:32:05 2016 +0000"
      },
      "message": "Merge \"Change java_lang_reflect_Field.cc to use ObjPtr\""
    },
    {
      "commit": "f8ac97f94aad9ce2d324c2c7c21dde3abf13315b",
      "tree": "9359680f07a65531898113dd335020db33b9b6e6",
      "parents": [
        "299958fc681f591fee7ff9ae0d81bd3adfebdd2b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 05 15:56:52 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 05 15:59:57 2016 -0700"
      },
      "message": "ObjPtr misc cleanup\n\nCheck for subtypes in constructor.\n\nRemove various calls to MakeObjPtr and ObjPtr::Ptr.\n\nBug: 31113334\n\nTest: test-art-host\nChange-Id: I8d680d514ea52cd64fc4f7c2e988926bc726174e\n"
    },
    {
      "commit": "299958fc681f591fee7ff9ae0d81bd3adfebdd2b",
      "tree": "cb09ffa4dec7cd106e82fe630ed2941f49e8b566",
      "parents": [
        "463a67dd60ab0341e56713426a34c3c0a0749a35"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 05 13:48:41 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 05 15:59:57 2016 -0700"
      },
      "message": "Change java_lang_reflect_Field.cc to use ObjPtr\n\nAlso deleted some calls to ObjPtr::Ptr and fixed formatting.\n\nBug: 31113334\n\nTest: test-art-host\nChange-Id: I951b80886b723e1beff4783f28ee7c928cb10650\n"
    },
    {
      "commit": "463a67dd60ab0341e56713426a34c3c0a0749a35",
      "tree": "a6644661cffbd5ea89b7215eb37ef261ee9dcff8",
      "parents": [
        "78c6fefdb9008cb6dc9f0014d4616b457009c6c8",
        "8778c521de4f686118549ef7b20ae497e53b9e93"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 05 21:55:20 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 05 21:55:21 2016 +0000"
      },
      "message": "Merge \"Change indirect reference table to use ObjPtr\""
    },
    {
      "commit": "a51d8b77a8b0d2466e8d931bd5de552465fb6961",
      "tree": "e791ee8f74d3e91802615c00451b9e85e376e2ae",
      "parents": [
        "4aa6a93c46a959df1ab71ee7a68ad345338046ef"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Oct 05 14:33:30 2016 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Oct 05 14:33:30 2016 -0700"
      },
      "message": "jni: Test that pushed handle scopes are popped after JNI transitions\n\nThere was previously a bug in generic JNI for @CriticalNative where new\nhandle scopes were pushed, but then not popped after the native call\nwas done. This caused a bug with stale pointers being found by GC.\n\nBug: 31933313\nChange-Id: I423f9e7a7d391ba3a4771c830691931f0025b354\n"
    },
    {
      "commit": "78c6fefdb9008cb6dc9f0014d4616b457009c6c8",
      "tree": "aecbe9fe31d94ffbad4166c92b8fe81cd4219b0d",
      "parents": [
        "7638651be29f117ef651841fbb9ffda76921ae1b",
        "9620230700d4b451097c2163faa70627c9d8088a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 05 20:29:58 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 05 20:29:58 2016 +0000"
      },
      "message": "Merge \"Refactoring of graph linearization and linear order.\""
    },
    {
      "commit": "8778c521de4f686118549ef7b20ae497e53b9e93",
      "tree": "18e82a5860cf7c7d388f314615ba66e9a3ac4521",
      "parents": [
        "2f61867045ffbd0c38a4ecec5f59632004f7efff"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 04 19:06:30 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 05 13:02:53 2016 -0700"
      },
      "message": "Change indirect reference table to use ObjPtr\n\nBug: 31113334\n\nTest: test-art-host\n\nChange-Id: I340fdf430897ebd790ea4e35f94bcee776e98445\n"
    },
    {
      "commit": "7638651be29f117ef651841fbb9ffda76921ae1b",
      "tree": "5354cc999cc64dd2bfe78d60bef994059fcca2ba",
      "parents": [
        "cf42ad62df2dda8b5a39cab50669a9446a880b41",
        "6c60d8420e51fda65ad247ae04b5a823c88c26b6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 05 19:59:08 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 05 19:59:09 2016 +0000"
      },
      "message": "Merge \"Initialize dex cache while holding dex_lock\""
    },
    {
      "commit": "6dee92eb2ebddbea7e147c7a82b193e113b6421f",
      "tree": "24975672d085f9f2b459af6081f4536be194fdb6",
      "parents": [
        "cf42ad62df2dda8b5a39cab50669a9446a880b41"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 12 19:58:13 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 05 12:54:03 2016 -0700"
      },
      "message": "ART: Support object tagging\n\nAdd support for tagging in the JVMTI plugin.\n\nBug: 31385027\nTest: m test-art-host\nChange-Id: I4d8fb12cd23ca60dc0b0ce9051d1c77e5eb18aa9\n"
    },
    {
      "commit": "9620230700d4b451097c2163faa70627c9d8088a",
      "tree": "695b96b9efeaa4c2cb3816e51904e19540fe3883",
      "parents": [
        "4aa6a93c46a959df1ab71ee7a68ad345338046ef"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Oct 04 17:33:56 2016 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Oct 05 11:50:42 2016 -0700"
      },
      "message": "Refactoring of graph linearization and linear order.\n\nRationale:\nOwnership of graph\u0027s linear order and iterators was\na bit unclear now that other phases are using it.\nNew approach allows phases to compute their own\norder, while ssa_liveness is sole owner for graph\n(since it is not mutated afterwards).\n\nAlso shortens lifetime of loop\u0027s arena.\n\nTest: test-art-host\nChange-Id: Ib7137d1203a1e0a12db49868f4117d48a4277f30\n"
    },
    {
      "commit": "cf42ad62df2dda8b5a39cab50669a9446a880b41",
      "tree": "b3a31ce408e65ad5e47cd8d9b344f1a8e57920af",
      "parents": [
        "2f61867045ffbd0c38a4ecec5f59632004f7efff",
        "1432a5bb0608a920e7281b38ee5f6e8dfcfae5ef"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 05 18:19:36 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 05 18:19:37 2016 +0000"
      },
      "message": "Merge \"Don\u0027t push handle scope for critical native generic JNI\""
    },
    {
      "commit": "2f61867045ffbd0c38a4ecec5f59632004f7efff",
      "tree": "c7b4393d7cd7cbcd3272ff83d8424be02828251a",
      "parents": [
        "4aa6a93c46a959df1ab71ee7a68ad345338046ef",
        "97d7e1cd7f733cb33a0e238bec6d7ed525638cd1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 05 17:00:41 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 05 17:00:41 2016 +0000"
      },
      "message": "Merge \"Remove #include \"oat_file.h\" from class_linker.h .\""
    },
    {
      "commit": "1432a5bb0608a920e7281b38ee5f6e8dfcfae5ef",
      "tree": "804b9e78fa9d2705a1e58571944af7381858a5b0",
      "parents": [
        "4aa6a93c46a959df1ab71ee7a68ad345338046ef"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 04 15:41:42 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 05 09:43:15 2016 -0700"
      },
      "message": "Don\u0027t push handle scope for critical native generic JNI\n\nLeaving a stale handle scope causes problems for the GC the next\ntime roots are visited. At this point the stack will have other\ncontents and the GC will attempt to mark many invalid roots.\n\nBug: 31933313\n\nTest: non preopt eng build booting.\nTest: test-art-host\n\n(cherry picked from commit 92879f9bbcfc034660ed1ff5ef741d7f2bcb116f)\n\nChange-Id: I7d57964ccd2b59a05bb06f67062f646362ce1204\n"
    },
    {
      "commit": "6c60d8420e51fda65ad247ae04b5a823c88c26b6",
      "tree": "8c4222eadad97235b5f6d860fb63ab8a749d111a",
      "parents": [
        "c13fbeb2201dc0bf783670d4548a49f03b1cb33e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Sep 15 10:24:43 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 05 09:39:07 2016 -0700"
      },
      "message": "Initialize dex cache while holding dex_lock\n\nFixes multiple threads calling RegisterDexFile occasionally getting\nDCHECK failures due to the arrays not being null since the BSS ones\nis per dex file.\n\nBug: 31369621\n\nTest: test-art-host, no DCHECK failure during debug booting\n\nChange-Id: I7b6e4cd03460dd1213eb4e044bdcf5f6103fd5f9\n"
    },
    {
      "commit": "4aa6a93c46a959df1ab71ee7a68ad345338046ef",
      "tree": "30fe24096f6c3dcf3e0eecfb56a9372be49fef72",
      "parents": [
        "99ce62c3475765821024616b1223d37576e327dc",
        "5ed20f90acd05e1f8697340f11113f0c61c22492"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 05 16:03:30 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 05 16:03:30 2016 +0000"
      },
      "message": "Merge \"Make it possible to pass an arena allocator to HLoopOptimization.\""
    },
    {
      "commit": "99ce62c3475765821024616b1223d37576e327dc",
      "tree": "bc74a75d6c307c98a7a4ff71f365c06bf95bec25",
      "parents": [
        "8ee0b085bed13105c2ecc9caeb025eb758bcb27d",
        "adc2ef25244645a650111560d252e32b3e22f463"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Oct 05 13:46:49 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 05 13:46:50 2016 +0000"
      },
      "message": "Merge \"Temporarily blacklist 955-method-handles-smali.\""
    },
    {
      "commit": "adc2ef25244645a650111560d252e32b3e22f463",
      "tree": "bc74a75d6c307c98a7a4ff71f365c06bf95bec25",
      "parents": [
        "8ee0b085bed13105c2ecc9caeb025eb758bcb27d"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Oct 05 14:15:01 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Oct 05 14:26:27 2016 +0100"
      },
      "message": "Temporarily blacklist 955-method-handles-smali.\n\nNeeds a companion smali change 7b348e4f323f44a7c44282.\n\nTest: make test-art-host\n\nChange-Id: Id245d9ead8467315c97cfe07103da2b406b08c49\n"
    },
    {
      "commit": "5ed20f90acd05e1f8697340f11113f0c61c22492",
      "tree": "470b26b33054a2398bdf115f6592777b1b7698bd",
      "parents": [
        "d3a9ce9d30a59587413310e66ea51c8f7adb0a1d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 05 13:49:44 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 05 13:49:44 2016 +0100"
      },
      "message": "Make it possible to pass an arena allocator to HLoopOptimization.\n\nloop_optimization_test uses memory from HLoopOptimization\u0027s\nallocator, which is scoped by the Run method.\n\nFix is to pass custom allocator.\n\ntest: m test-art-host-gtest\nChange-Id: I359330e22202519f400a26da5403eeb00f0b2db4\n"
    },
    {
      "commit": "97d7e1cd7f733cb33a0e238bec6d7ed525638cd1",
      "tree": "d2f02420f82d76d10dc0d80f431c9f4aba03ac82",
      "parents": [
        "eebe142e935e9444c7c947d02246e7fbe88b2cc4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 04 14:44:28 2016 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 05 13:21:44 2016 +0100"
      },
      "message": "Remove #include \"oat_file.h\" from class_linker.h .\n\nRefactor the OatClass and OatMethod related functions from\nClassLinker to OatFile and ArtMethod, respectively. Refactor\nthe remaining ClassLinker dependencies on OatFile to break\nthe #include dependency and reduce incremental build times.\n\nTest: m test-art-host\nChange-Id: Iebc5b9f81b48fbcf79821cc827a5d7c4a0261bf6\n"
    },
    {
      "commit": "8ee0b085bed13105c2ecc9caeb025eb758bcb27d",
      "tree": "2e53573d42f50baa32fa63a23734ff4ed662023d",
      "parents": [
        "d3a9ce9d30a59587413310e66ea51c8f7adb0a1d",
        "9823e788ed3368ecf826c44bfa16ccabfcbe32f8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 05 12:19:30 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 05 12:19:30 2016 +0000"
      },
      "message": "Merge \"Basic implementation of invoke / invoke-polymorphic.\""
    },
    {
      "commit": "d3a9ce9d30a59587413310e66ea51c8f7adb0a1d",
      "tree": "60bb0084030cadfed694261c36c5722f4f945869",
      "parents": [
        "2a5c5160771ad528bc9b3ac36ac5785a184c956d",
        "ebe167422f6197b9df0698bbeb944a0e4eea5f2d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 05 10:30:14 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 05 10:30:15 2016 +0000"
      },
      "message": "Merge \"Properly scope HLoopOptimization\u0027s allocator.\""
    },
    {
      "commit": "9823e788ed3368ecf826c44bfa16ccabfcbe32f8",
      "tree": "59dee92dfd7518a98905c8313bdcb0a2ca2946cb",
      "parents": [
        "82d4838d6bb3480cd25327cedc5179fb2d86881c"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Aug 03 12:46:58 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Oct 05 10:34:59 2016 +0100"
      },
      "message": "Basic implementation of invoke / invoke-polymorphic.\n\nBasic switch interpreter support for invoke-polymorphic. This change\nallows for virtual/interface and static invokes on method handles.\n\nSupport for direct invokes (including constructors) and field\ngetters and setters will be added in follow up changes.\n\nBug: 30550796\nTest: make test-art-host\n\nChange-Id: Ieb3a991d974060d930d56467908d5c7c11d0e38e\n"
    },
    {
      "commit": "ebe167422f6197b9df0698bbeb944a0e4eea5f2d",
      "tree": "60bb0084030cadfed694261c36c5722f4f945869",
      "parents": [
        "2a5c5160771ad528bc9b3ac36ac5785a184c956d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 05 09:55:42 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 05 09:55:42 2016 +0100"
      },
      "message": "Properly scope HLoopOptimization\u0027s allocator.\n\nHOptimization classes do not get their destructor called,\nas they are arena objects. So the scope for the optimization\nallocator needs to be the Run method.\n\nAlso anticipate bisection search breakage by adding\nHLoopOptimization to the list of recognized optimizations.\n\nChange-Id: I7770989c39d5700a3b6b0a20af5d4b874dfde111\n"
    },
    {
      "commit": "2a5c5160771ad528bc9b3ac36ac5785a184c956d",
      "tree": "339f4a8a4baf75720bedf6756a514d8a69652d32",
      "parents": [
        "3601e4a5c52fcf6197fe57498a28d66f3fac076c",
        "e919b074dbbc5feea4e68d9ee0bbd1a3e248c738"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 05 03:55:28 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 05 03:55:29 2016 +0000"
      },
      "message": "Merge \"MIPS32: Fix GenerateVirtualCall in the presence of intrinsics\""
    },
    {
      "commit": "3601e4a5c52fcf6197fe57498a28d66f3fac076c",
      "tree": "c2eb87153d8af5342bac453fe1dbedb150d8485d",
      "parents": [
        "c13fbeb2201dc0bf783670d4548a49f03b1cb33e",
        "a82a1aca396cb9dca1f13aa284dbec5d428b82a1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Oct 05 01:38:09 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 05 01:38:09 2016 +0000"
      },
      "message": "Merge \"Revert \"Compute PPID at ninja time\"\""
    },
    {
      "commit": "c13fbeb2201dc0bf783670d4548a49f03b1cb33e",
      "tree": "8531ef73e7495c073d5780d8999952609f9e404c",
      "parents": [
        "556c9a2f182c4fcb9eba9dc4937095665f314a2b",
        "b3ef69168ffa71cb101e0bd418e70c5816881db6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 05 00:54:38 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 05 00:54:39 2016 +0000"
      },
      "message": "Merge \"Fix build break from merge conflict\""
    },
    {
      "commit": "b3ef69168ffa71cb101e0bd418e70c5816881db6",
      "tree": "8531ef73e7495c073d5780d8999952609f9e404c",
      "parents": [
        "556c9a2f182c4fcb9eba9dc4937095665f314a2b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 04 17:48:45 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 04 17:49:49 2016 -0700"
      },
      "message": "Fix build break from merge conflict\n\nBug: 31113334\n\nTest: mm -j32\n\nChange-Id: I5643a0ec22cf03a54671a5c7fa0ebda41cc9a8c3\n"
    },
    {
      "commit": "556c9a2f182c4fcb9eba9dc4937095665f314a2b",
      "tree": "ffe6d3711b565330fb883953144ddd7603356804",
      "parents": [
        "e793bbb4a8a832423e7d6150b6a8fad75d63d36e",
        "1cc62e4ea24828fdb3f3da0b8603f0b107d09a04"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 05 00:39:07 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 05 00:39:08 2016 +0000"
      },
      "message": "Merge \"Rename ObjPtr::Decode to ObjPtr::Ptr\""
    },
    {
      "commit": "e793bbb4a8a832423e7d6150b6a8fad75d63d36e",
      "tree": "c7686f357164f9347a6fd424eef8ec8d21f58b47",
      "parents": [
        "29a7fd300a7d462ddf07987272383390c176a1c8",
        "7b08ae49a134458504367c3e9fa5fe080db3b89c"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Oct 05 00:27:46 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 05 00:27:46 2016 +0000"
      },
      "message": "Merge \"Fix a CC crash with ThreadStress.\""
    },
    {
      "commit": "a82a1aca396cb9dca1f13aa284dbec5d428b82a1",
      "tree": "fa3eb3207fc9116eed461b8462fbdf9628c7e267",
      "parents": [
        "b1c17bb080ccf41b30909c0401df59e6f3a1ebb1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Oct 04 23:06:16 2016 +0000"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Oct 04 23:07:06 2016 +0000"
      },
      "message": "Revert \"Compute PPID at ninja time\"\n\nThis reverts commit b1c17bb080ccf41b30909c0401df59e6f3a1ebb1.\n\nIt breaks make test-art-host when /bin/sh is not bash, as \n/bin/sh -c /bin/bash -c echo $PPID \nreturns the pid of /bin/sh, not the pid of ninja.\n\nTest: none\nChange-Id: Ia4e5f76ea4c5f5b5c102ce54ae03c3fccb23a49f\n"
    },
    {
      "commit": "7b08ae49a134458504367c3e9fa5fe080db3b89c",
      "tree": "f8431c8cb026a66784c1d61d92a8e2fb1af9daea",
      "parents": [
        "d74bd3a9a48d34d7321f7de7a6f8e1d3467be58a"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Oct 04 15:20:36 2016 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Oct 04 15:21:58 2016 -0700"
      },
      "message": "Fix a CC crash with ThreadStress.\n\nAdd a read barrier on the locked object in Monitor::DescribeWait().\n\nBug: 31848261\nBug: 12687968\nTest: test-art-host with CC and N9 libartd boot.\nChange-Id: I569e1499c2aadf54d9074a8a790e5d512c2dad4f\n"
    },
    {
      "commit": "29a7fd300a7d462ddf07987272383390c176a1c8",
      "tree": "a675561b30bc77b910b99c66e9d469e00bc8ba58",
      "parents": [
        "091f6754c353f5825129deff74d860caf28f78de",
        "5d9c6d6f654a3803269cee0c637c3385704bff93"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 04 21:59:14 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 04 21:59:14 2016 +0000"
      },
      "message": "Merge \"Fix build breakage.\""
    },
    {
      "commit": "5d9c6d6f654a3803269cee0c637c3385704bff93",
      "tree": "a675561b30bc77b910b99c66e9d469e00bc8ba58",
      "parents": [
        "091f6754c353f5825129deff74d860caf28f78de"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 04 22:56:35 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 04 22:56:35 2016 +0100"
      },
      "message": "Fix build breakage.\n\nRevert did not apply cleanly.\n\ntest: make test-art-host\nChange-Id: Id94d377d19dc80237951ad40fd5e01f8fec67a47\n"
    },
    {
      "commit": "091f6754c353f5825129deff74d860caf28f78de",
      "tree": "bc259b45bc292523e7a486569ac696e33204c10b",
      "parents": [
        "26705cca4643385931f3b3568b6b82525400b52b",
        "38f250fd3cb36fac27bad7cac8eefacdf8a6e41e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 04 21:45:24 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 04 21:45:24 2016 +0000"
      },
      "message": "Merge \"Revert \"Remove dead code from compiler driver.\"\""
    },
    {
      "commit": "38f250fd3cb36fac27bad7cac8eefacdf8a6e41e",
      "tree": "6a3a28dd28ceebdef5edb0bacdb8c4aad2c03a40",
      "parents": [
        "44b3da25191052acc18528d8ade9cf3038505180"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 04 21:44:45 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 04 21:44:45 2016 +0000"
      },
      "message": "Revert \"Remove dead code from compiler driver.\"\n\nThis reverts commit 44b3da25191052acc18528d8ade9cf3038505180.\n\nChange-Id: I0cf049ed967bcaf8dfd89fc88288d992c63a4939\n"
    },
    {
      "commit": "a86210038524cecd0d96d6ba6f8f116da348a25c",
      "tree": "3c5c243a9530f3cd64ca12b94ea2e2a4ada34260",
      "parents": [
        "b4f0076e7faca1382e0b2f68557b71b11ac34a9d"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Oct 04 18:13:44 2016 +0000"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Oct 04 14:21:13 2016 -0700"
      },
      "message": "Revert \"Revert \"Add dex file writer to dexlayout tool.\"\"\n\nThis reverts commit fd1a6c2a08ca3e2476b7424b9b0fa58e73b29e87.\n\nFixed output being clobbered during DexLayoutTest.DexFileOutput.\nOption added to put dex output file in scratch directory.\n\nBug: 29921113\nTest: mm test-art-host-gtest-dexlayout_test\n\nChange-Id: I9e6b139cf06aaa39c83ad1e74329db266464a8e4\n"
    },
    {
      "commit": "26705cca4643385931f3b3568b6b82525400b52b",
      "tree": "433a9e1189ffccc70291e08b51ecec36a59cfc87",
      "parents": [
        "d74bd3a9a48d34d7321f7de7a6f8e1d3467be58a",
        "281c681a0852c10f5ca99b351650b244e878aea3"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Oct 04 20:40:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 04 20:40:24 2016 +0000"
      },
      "message": "Merge \"A first implementation of a loop optimization framework.\""
    },
    {
      "commit": "d74bd3a9a48d34d7321f7de7a6f8e1d3467be58a",
      "tree": "4f643819c8e960b015a8211d7e09558cb84f4412",
      "parents": [
        "129fc43ff9d820fa782111e3fdb11fa8d4d7d239",
        "90a32b16feb58d4edf932fdcb6a070be3418e365"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 04 19:08:14 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 04 19:08:14 2016 +0000"
      },
      "message": "Merge changes I65bc7769,Ib24c7060\n\n* changes:\n  ART: Reprint long messages on abort\n  ART: Clean up IRT-related abort messaging\n"
    },
    {
      "commit": "129fc43ff9d820fa782111e3fdb11fa8d4d7d239",
      "tree": "73c12091af2d2aa8aec1aa8ae82c1824a581d7be",
      "parents": [
        "b4f0076e7faca1382e0b2f68557b71b11ac34a9d",
        "aad75c6d5bfab2dc8e30fc99fafe8cd2dc8b74d8"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 04 19:00:30 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 04 19:00:30 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Store resolved Strings for AOT code in .bss.\"\"\""
    },
    {
      "commit": "b4f0076e7faca1382e0b2f68557b71b11ac34a9d",
      "tree": "1c29e986405c23285771a31250c5f26857f41046",
      "parents": [
        "82d4838d6bb3480cd25327cedc5179fb2d86881c",
        "cdcfde74ccd72c60dc9456013e32d8b00fefdee6"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Tue Oct 04 18:06:48 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 04 18:06:48 2016 +0000"
      },
      "message": "Merge \"Option to gnuplot dex layout\""
    },
    {
      "commit": "cdcfde74ccd72c60dc9456013e32d8b00fefdee6",
      "tree": "1c29e986405c23285771a31250c5f26857f41046",
      "parents": [
        "82d4838d6bb3480cd25327cedc5179fb2d86881c"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Sep 26 07:44:04 2016 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Tue Oct 04 10:47:24 2016 -0700"
      },
      "message": "Option to gnuplot dex layout\n\nDisplay the portions of the dex file that are accessed by the classes in\nthe dex file.  Optionally limit the display to only those classes that\nare present in a runtime profile.\n\nBug: 29921113\nChange-Id: I2a998fba448fec6c23941d3b4358531b1336e1b3\nTest: dexlayout test\n"
    },
    {
      "commit": "1cc62e4ea24828fdb3f3da0b8603f0b107d09a04",
      "tree": "718e322f3d05ac095770d4dc2a68b824bf3974a7",
      "parents": [
        "82d4838d6bb3480cd25327cedc5179fb2d86881c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 03 18:01:28 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 04 10:46:16 2016 -0700"
      },
      "message": "Rename ObjPtr::Decode to ObjPtr::Ptr\n\nDone to prevent ambiguity with ScopedObjectAccess::Decode.\n\nBug: 31113334\n\nTest: test-art-host\nChange-Id: I07a2497cc9cf66386311798933547471987fc316\n"
    },
    {
      "commit": "aad75c6d5bfab2dc8e30fc99fafe8cd2dc8b74d8",
      "tree": "c1b9e1eabcf35c5cbb5b4f46313a4e062f2d5d51",
      "parents": [
        "82d4838d6bb3480cd25327cedc5179fb2d86881c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 03 08:46:48 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 04 17:51:46 2016 +0100"
      },
      "message": "Revert \"Revert \"Store resolved Strings for AOT code in .bss.\"\"\n\nFixed oat_test to keep dex files alive. Fixed mips build.\nRewritten the .bss GC root visiting and added write barrier\nto the artResolveStringFromCode().\n\nTest: build aosp_mips-eng\nTest: m ART_DEFAULT_GC_TYPE\u003dSS test-art-target-host-gtest-oat_test\nTest: Run ART test suite on host and Nexus 9.\nBug: 20323084\nBug: 30627598\n\nThis reverts commit 5f926055cb88089d8ca27243f35a9dfd89d981f0.\n\nChange-Id: I07fa2278d82b8eb64964c9a4b66cb93726ccda6b\n"
    },
    {
      "commit": "82d4838d6bb3480cd25327cedc5179fb2d86881c",
      "tree": "2393b0ac0b1eee455c63e472fa0cdc4d74ab215f",
      "parents": [
        "eebe142e935e9444c7c947d02246e7fbe88b2cc4",
        "b1c17bb080ccf41b30909c0401df59e6f3a1ebb1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Oct 04 16:45:44 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 04 16:45:45 2016 +0000"
      },
      "message": "Merge \"Compute PPID at ninja time\""
    },
    {
      "commit": "eebe142e935e9444c7c947d02246e7fbe88b2cc4",
      "tree": "c79e234a4302a865ce6af3bdff73588d2ef286db",
      "parents": [
        "148768f51e01523f0cc2554eb5b2293945106a38",
        "44b3da25191052acc18528d8ade9cf3038505180"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 04 14:08:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 04 14:08:11 2016 +0000"
      },
      "message": "Merge \"Remove dead code from compiler driver.\""
    },
    {
      "commit": "44b3da25191052acc18528d8ade9cf3038505180",
      "tree": "c79e234a4302a865ce6af3bdff73588d2ef286db",
      "parents": [
        "148768f51e01523f0cc2554eb5b2293945106a38"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 03 15:09:25 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 04 13:28:15 2016 +0100"
      },
      "message": "Remove dead code from compiler driver.\n\ntest: m test-art-host\nChange-Id: Ie4b6a4c371fff6c9c213d8d6604eb09a5e71d595\n"
    },
    {
      "commit": "148768f51e01523f0cc2554eb5b2293945106a38",
      "tree": "6a3a28dd28ceebdef5edb0bacdb8c4aad2c03a40",
      "parents": [
        "f12831352ce7a697a7efed9ccecaf664acefe7af",
        "fd1a6c2a08ca3e2476b7424b9b0fa58e73b29e87"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 04 11:01:53 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 04 11:01:53 2016 +0000"
      },
      "message": "Merge \"Revert \"Add dex file writer to dexlayout tool.\"\""
    },
    {
      "commit": "fd1a6c2a08ca3e2476b7424b9b0fa58e73b29e87",
      "tree": "1f3e846a8cf6eef30683dcad63c4dc3ce39c7058",
      "parents": [
        "69b58cf399c3507ca3debf9ec9b2db3c5a0fe7f2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 04 11:01:17 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 04 11:01:17 2016 +0000"
      },
      "message": "Revert \"Add dex file writer to dexlayout tool.\"\n\nBug: 29921113\n\nThis reverts commit 69b58cf399c3507ca3debf9ec9b2db3c5a0fe7f2.\n\nChange-Id: I8bf9b1222d99489059e45f47d220396a853170a4\n"
    },
    {
      "commit": "e919b074dbbc5feea4e68d9ee0bbd1a3e248c738",
      "tree": "f5eacb1d1dfa59c4b734ff297441e6aa8a4e9a18",
      "parents": [
        "f12831352ce7a697a7efed9ccecaf664acefe7af"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Tue Oct 04 10:17:34 2016 +0200"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Tue Oct 04 12:28:51 2016 +0200"
      },
      "message": "MIPS32: Fix GenerateVirtualCall in the presence of intrinsics\n\nFix GenerateVirtualCall like it is done in the\nI0ed88a48b313a8d28bc39fae40631123aadb13ef for all other architectures.\n\nTest: mma -j2 test-art-target-run-test-optimizing on CI20\nChange-Id: Ie55c62701b20c4f40badc95563b2aef9e83807de\n"
    },
    {
      "commit": "f12831352ce7a697a7efed9ccecaf664acefe7af",
      "tree": "9ff5fb25306941787b83c1da1b6fcd65ed4ed5f4",
      "parents": [
        "8c2983be6c276f5d5f9cf606f3a06c47f41da6d1",
        "370423d7b2ed357f79b704ff369008cef3ac4772"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Oct 04 08:35:13 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 04 08:35:14 2016 +0000"
      },
      "message": "Merge \"interpreter: Remove unnecessary template arg from DoCallCommon.\""
    },
    {
      "commit": "370423d7b2ed357f79b704ff369008cef3ac4772",
      "tree": "9ff5fb25306941787b83c1da1b6fcd65ed4ed5f4",
      "parents": [
        "8c2983be6c276f5d5f9cf606f3a06c47f41da6d1"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 03 16:51:22 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Oct 04 08:35:00 2016 +0000"
      },
      "message": "interpreter: Remove unnecessary template arg from DoCallCommon.\n\nThe function was always called with a fixed size array so there\u0027s\nno real advantage in templatizing it this way.\n\nTest: make build-art-host\n\nChange-Id: I782e113225f1c97877f2bcb5afe8df9ae8efd26e\n"
    },
    {
      "commit": "8c2983be6c276f5d5f9cf606f3a06c47f41da6d1",
      "tree": "c7557393f7f8cef7971d431a1af05e4cba07f5d1",
      "parents": [
        "5075b0e5e2cb942d3cb929a9fe7e1abe66beb562",
        "0715c0b7c047053c54212ae247868675710fb29c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 04 08:02:59 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 04 08:02:59 2016 +0000"
      },
      "message": "Merge \"Add handle wrapper for interpreter field get/set\""
    },
    {
      "commit": "0715c0b7c047053c54212ae247868675710fb29c",
      "tree": "c7557393f7f8cef7971d431a1af05e4cba07f5d1",
      "parents": [
        "5075b0e5e2cb942d3cb929a9fe7e1abe66beb562"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 03 22:49:46 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 03 22:51:00 2016 -0700"
      },
      "message": "Add handle wrapper for interpreter field get/set\n\nThe listeners have thread suspension for jdwp tests.\n\nBug: 31113334\n\nTest: tools/run-jdwp-tests.sh \u0027--mode\u003dhost\u0027 \u0027--variant\u003dX32\u0027 --no-jit --debug\n\nChange-Id: I08f17432cc0c79ee9a0163eb88d4d6355f6851ca\n"
    },
    {
      "commit": "90a32b16feb58d4edf932fdcb6a070be3418e365",
      "tree": "dadbf8759551c67cdb54851027459a542d4d10f4",
      "parents": [
        "f1e8630fe8eab89e61e9f0a97135ae7c9d38ce23"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 03 19:47:08 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 03 19:47:08 2016 -0700"
      },
      "message": "ART: Reprint long messages on abort\n\nAdd an abort message parameter to Runtime::Abort. In case the message\nis multiline (and will thus not be completely preserved in the\nAndroid abort reason), reprint the message after all threads have\nbeen dumped.\n\nBug: 31893081\nTest: m test-art-host\nChange-Id: I65bc77691fec79f7c868a90d6132805fcc91e473\n"
    },
    {
      "commit": "f1e8630fe8eab89e61e9f0a97135ae7c9d38ce23",
      "tree": "632a4d503db0ef6da572c195a82ba5950b2bf44b",
      "parents": [
        "d295618ac764b334424b0bc7a592337edef19783"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 03 11:42:31 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 03 19:18:50 2016 -0700"
      },
      "message": "ART: Clean up IRT-related abort messaging\n\nChange AbortIfNoCheckJNI to take the abort message as a parameter.\nThis way it can be passed down.\n\nBug: 31893081\nTest: m test-art-host\nChange-Id: Ib24c7060f1b32c9613ab84e6c1966082c866bc14\n"
    },
    {
      "commit": "5075b0e5e2cb942d3cb929a9fe7e1abe66beb562",
      "tree": "efc2dca0555e20a1bacb33728bf91d272fce133a",
      "parents": [
        "3ee94eea2a713df6e6b74f6e53ef1999d6adf460",
        "b890130a66e167404a9a60cf0893a015538778ca"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 04 01:06:05 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 04 01:06:05 2016 +0000"
      },
      "message": "Merge changes I50493bca,I8b266ad0\n\n* changes:\n  Use ObjPtr for ResolvedFieldAccessTest and ResolvedMethodAccessTest\n  Move ArtField to ObjPtr\n"
    },
    {
      "commit": "b1c17bb080ccf41b30909c0401df59e6f3a1ebb1",
      "tree": "ff647a196aeb299fe70e5dbafa6a505f076d46ce",
      "parents": [
        "6ba406580e73c69434d4d73ef5e5ccf47168854f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Oct 03 16:40:13 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Oct 03 17:55:48 2016 -0700"
      },
      "message": "Compute PPID at ninja time\n\nUsing $(shell $$PPID) to compute PPID will return the pid of kati, which\nwill be the same for multiple sequential runs of make without changing\nany makefiles.  Replace it with a bash subshell command to return the pid\nof ninja, which will be different for every call to make.\n\nART_HOST_TEST_DIR now contains $ that need to propagate to the final\nbash command, and must be evaluated exactly once.  Escape the $ in\n${ART_HOST_TEST_DIR} in define-test-art-run-test so that\n${ART_HOST_TEST_DIR} is not substituted in the function call to prevent\nevaluating its contents in the $(eval) that wraps it, which would\nsubstitute out the necessary $.\n\nTest: m -j test-art-host\nChange-Id: I3303805481cc1c77d1a321674e8c7c003043a7c4\n"
    },
    {
      "commit": "3ee94eea2a713df6e6b74f6e53ef1999d6adf460",
      "tree": "bfb4778acd24a5ac4c1cd45f43c0efbfb8f61cad",
      "parents": [
        "bd590cbd0eed646ea1333e56ede7ba8bf0f26b34",
        "69b58cf399c3507ca3debf9ec9b2db3c5a0fe7f2"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Oct 04 00:46:26 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 04 00:46:27 2016 +0000"
      },
      "message": "Merge \"Add dex file writer to dexlayout tool.\""
    },
    {
      "commit": "bd590cbd0eed646ea1333e56ede7ba8bf0f26b34",
      "tree": "d9828467ebcf368520f3a30406ed7f0e4ee40f37",
      "parents": [
        "6ba406580e73c69434d4d73ef5e5ccf47168854f",
        "0ad6c8fe441019980b1eeaf3047949e6601cdd7f"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Oct 03 23:02:27 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 03 23:02:28 2016 +0000"
      },
      "message": "Merge \"art: Replace cutils/log.h with android/log.h\""
    },
    {
      "commit": "b890130a66e167404a9a60cf0893a015538778ca",
      "tree": "e50899e754132f3281c932c31203f8c34c8ca85f",
      "parents": [
        "3398c7874e002beaa6c2b2fadf183e7d1ddad23a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 30 10:27:43 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 03 16:00:55 2016 -0700"
      },
      "message": "Use ObjPtr for ResolvedFieldAccessTest and ResolvedMethodAccessTest\n\nAlso added LookupResolvedType that is guaranteed to not do thread\nsuspension but deals with multidex since GetResolvedType will\nreturn null if the type was resolved in another dex file.\n\nAdded test.\n\nBug: 31113334\n\nTest: test-art-host CC baker\n\nChange-Id: I50493bca7d8ce9760546c3116b717484c62c47a4\n"
    },
    {
      "commit": "281c681a0852c10f5ca99b351650b244e878aea3",
      "tree": "33036cbfb76ee497eedf60e0e5785a2267c9dd02",
      "parents": [
        "a845d07bbd57f8beaea8b4fb47192a3382ef25b2"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Aug 26 11:31:48 2016 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Oct 03 15:15:27 2016 -0700"
      },
      "message": "A first implementation of a loop optimization framework.\n\nRationale:\nWe are planning to add more and more loop related optimizations\nand this framework provides the basis to do so. For starters,\nthe framework optimizes dead induction, induction that can be\nreplaced with a simpler closed-form, and eliminates dead loops\ncompletely (either pre-existing or as a result of induction\nremoval).\n\nSpeedup on e.g. Benchpress Loop is 73x (17.5us. -\u003e 0.24us.)\n[with the potential for more exploiting outer loop too]\n\nTest: 618-checker-induction et al.\n\nChange-Id: If80a809acf943539bf6726b0030dcabd50c9babc\n"
    },
    {
      "commit": "69b58cf399c3507ca3debf9ec9b2db3c5a0fe7f2",
      "tree": "eeea96181b252426bc7d9363c62cf22c9aac100a",
      "parents": [
        "d295618ac764b334424b0bc7a592337edef19783"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Sep 22 18:02:49 2016 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Oct 03 14:33:25 2016 -0700"
      },
      "message": "Add dex file writer to dexlayout tool.\n\nAll sections are being written out properly.\nThere is one small difference:\n  - unindexed string data is not written out\n\nBug: 29921113\nTest: mm test-art-host-gtest-dexlayout_test\nChange-Id: I3872327526a350f33f0f851516a389622c1a54ae\n"
    },
    {
      "commit": "6ba406580e73c69434d4d73ef5e5ccf47168854f",
      "tree": "fa3eb3207fc9116eed461b8462fbdf9628c7e267",
      "parents": [
        "a845d07bbd57f8beaea8b4fb47192a3382ef25b2",
        "5219fdc038ccf5b41ff51ef984891debad75265f"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Oct 03 21:29:19 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 03 21:29:20 2016 +0000"
      },
      "message": "Merge \"Run dexfuzz in bisection-search mode\""
    },
    {
      "commit": "3398c7874e002beaa6c2b2fadf183e7d1ddad23a",
      "tree": "7db754b5b0c3a6c68bc1f91d7cb2477f534d2ad3",
      "parents": [
        "462e21cc8d28a4d48342cf0f634bd1ecc63647d7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 30 10:27:43 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 03 14:06:27 2016 -0700"
      },
      "message": "Move ArtField to ObjPtr\n\nAdded EXPECT_OBJ_PTR_EQ and variants to gtests.\n\nFixed moving GC bugs in:\nClassLinker::CreatePathClassLoader\nClassLinkerTest: StaticFields\n\nObjPtr Decode call sites: 186 -\u003e 181.\n\nSome tests fail due to ResolvedFieldAccessTest, will fix in follow\nup CL.\n\nBug: 31113334\n\nTest: test-art-host CC baker\n\nChange-Id: I8b266ad00f3c20c8cbe7cfdf280d175083df0b88\n"
    },
    {
      "commit": "5219fdc038ccf5b41ff51ef984891debad75265f",
      "tree": "fa3eb3207fc9116eed461b8462fbdf9628c7e267",
      "parents": [
        "a845d07bbd57f8beaea8b4fb47192a3382ef25b2"
      ],
      "author": {
        "name": "Wojciech Staszkiewicz",
        "email": "staszkiewicz@google.com",
        "time": "Thu Sep 29 15:12:48 2016 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Oct 03 19:47:53 2016 +0000"
      },
      "message": "Run dexfuzz in bisection-search mode\n\nCall dexfuzz with --bisection-search switch to automatically bisect\ndiscovered divergences.\n\nTest: ./run_dex_fuzz_test.py\nChange-Id: I87af8b45675b464e984a05e06eac24cad3650d2b\n"
    },
    {
      "commit": "a845d07bbd57f8beaea8b4fb47192a3382ef25b2",
      "tree": "bff5bd721f867e9e2d87c1a9607f94ecd6f4872c",
      "parents": [
        "462e21cc8d28a4d48342cf0f634bd1ecc63647d7",
        "f5658b42d5225853d06defa84815b7d398761cd8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 03 19:39:28 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 03 19:39:28 2016 +0000"
      },
      "message": "Merge \"benchmark: Add a build target that\u0027s not Android-dependent\""
    },
    {
      "commit": "0ad6c8fe441019980b1eeaf3047949e6601cdd7f",
      "tree": "89db2672821b60881bc9672cdec937284514b4de",
      "parents": [
        "462e21cc8d28a4d48342cf0f634bd1ecc63647d7"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Sep 28 15:29:14 2016 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Oct 03 11:29:34 2016 -0700"
      },
      "message": "art: Replace cutils/log.h with android/log.h\n\nTest: compile\nBug: 26552300\nBug: 31289077\nChange-Id: Ie5720d9e1388047856392e8635895895c22f3112\n"
    },
    {
      "commit": "462e21cc8d28a4d48342cf0f634bd1ecc63647d7",
      "tree": "1d8d3f78a6fa74de6b18b07063fa9b8886ca1095",
      "parents": [
        "ce0db6fb7b5a732b0ce046e753e46b7c0895f7dc",
        "2f8eebb10545dc08d27535a4c86f3ae089087d0d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 03 18:27:26 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 03 18:27:26 2016 +0000"
      },
      "message": "Merge \"Delete some unused bitmap walking code\""
    },
    {
      "commit": "f5658b42d5225853d06defa84815b7d398761cd8",
      "tree": "b7a69951ca0ac81abc30751bc222443139f75e60",
      "parents": [
        "4c226593625b48b7338e6b090f5285f0eca716fc"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Sep 30 14:12:14 2016 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Oct 03 18:04:06 2016 +0000"
      },
      "message": "benchmark: Add a build target that\u0027s not Android-dependent\n\nAllow building the micronative portion of libartbenchmark as pure JNI without any android\nlibrary dependencies.\n\nBug: 31401609\nChange-Id: I99f1466fb668a9ae5dd2f7229dca44d3bb064e15\n"
    }
  ],
  "next": "ce0db6fb7b5a732b0ce046e753e46b7c0895f7dc"
}
