)]}'
{
  "log": [
    {
      "commit": "da24650d142883ea9962eaedd479547bfe44bbf4",
      "tree": "74e7c0396a10bc8cdefab158414c56d407cf1ea6",
      "parents": [
        "dfe3ce6edaf65a11f35a0ba043fbc17fab7e0bad"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Oct 20 18:39:22 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 24 11:19:41 2016 +0100"
      },
      "message": "method_handles: Minor refactor of PerformArgumentConversions.\n\nSeparate out a method that can perform a single argument conversion.\nUseful for Field setters and also for future use in transforming handles\nwhere the input source will not be a stack frame.\n\nAlso remove unnecessary JValue* argument.\n\nbug: 30550796\nTest: make test-art-host\nChange-Id: I75a63800839dbf1016a2c362169e138c83f34e4c\n"
    },
    {
      "commit": "dfe3ce6edaf65a11f35a0ba043fbc17fab7e0bad",
      "tree": "7237a79c79147bb2ce6eb057d31284e4a152831a",
      "parents": [
        "dfa8f188a0f3fc09b5af8beb73dcbd15a36afb7a",
        "ec78c78508fa5ef6bac78ee2face0d30e67cf913"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 24 07:20:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 24 07:20:23 2016 +0000"
      },
      "message": "Merge \"Add support for proguard deobfuscation.\""
    },
    {
      "commit": "dfa8f188a0f3fc09b5af8beb73dcbd15a36afb7a",
      "tree": "cd1336c0c5e7ab001e42b22610f13e48d4b35616",
      "parents": [
        "f22361397e8c20ada0eb564d66f2df66cf35d9dc",
        "e54eee1024cdad6def14cde7e858e85cc0fdc465"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Oct 22 17:09:44 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 22 17:09:45 2016 +0000"
      },
      "message": "Merge \"ART: Switch tagging table to a map\""
    },
    {
      "commit": "f22361397e8c20ada0eb564d66f2df66cf35d9dc",
      "tree": "a3ad2c6aeb0909f0a343e07686bd76cc7bffb781",
      "parents": [
        "776e473ec7ff0dd426a648ae7f996f3b69fd6925",
        "ec32b91cfa1061b2608838d41e6d7d70fdf681dc"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Sat Oct 22 13:25:43 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 22 13:25:43 2016 +0000"
      },
      "message": "Merge \"Remove read barrier in UnstartedUnsafeCompareAndSwapLong.\""
    },
    {
      "commit": "e54eee1024cdad6def14cde7e858e85cc0fdc465",
      "tree": "bcef520fb0e78747d202477a243d5566533c0996",
      "parents": [
        "77cd3d861fcf723ba0a37833c223eeb08cfd7d8c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 20 19:03:58 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 21 15:32:07 2016 -0700"
      },
      "message": "ART: Switch tagging table to a map\n\nPerformance is critical. A map involves overhead for moving GC,\nbut has much faster lookup for the common case.\n\nMake test 905 robust against unstable ordering.\n\nBug: 31385027\nTest: m test-art-host\nTest: m ART_USE_READ_BARRIER\u003dtrue test-art-host\nChange-Id: Ica3ff603fc78168759fccfe79c97860279ce9036\n"
    },
    {
      "commit": "776e473ec7ff0dd426a648ae7f996f3b69fd6925",
      "tree": "b64a804ff4661eda0e81aee70303ffbc09e1a7b9",
      "parents": [
        "65e3e8da22ebb08db22d8c29dfbccef60473745b",
        "f8f830cbe72ebe4d9a650c0599b0cec80052c65f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 21 21:58:20 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 21 21:58:20 2016 +0000"
      },
      "message": "Merge \"Reduce the number of dumps in 130-hprof.\""
    },
    {
      "commit": "f8f830cbe72ebe4d9a650c0599b0cec80052c65f",
      "tree": "e42185a7aa9f3bb627b72eeffeec562b44b2e6a6",
      "parents": [
        "2a1019d34a75e74af65d09b26b99a3647f9cc901"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Oct 21 13:07:18 2016 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Oct 21 13:07:18 2016 -0700"
      },
      "message": "Reduce the number of dumps in 130-hprof.\n\nTo avoid timeouts.\n\nTest: test-art-host with ART_TEST_TRACE\u003dtrue.\nChange-Id: I849007b94341f4851c11a8896889f9e2ce851a86\n"
    },
    {
      "commit": "65e3e8da22ebb08db22d8c29dfbccef60473745b",
      "tree": "40cb2adaab3ea965bae96616310a3c6a102b783d",
      "parents": [
        "2a1019d34a75e74af65d09b26b99a3647f9cc901",
        "f0af906728a87e559edd90157b082e4b962af134"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 21 19:42:55 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 21 19:42:55 2016 +0000"
      },
      "message": "Merge \"Add missing shared library\""
    },
    {
      "commit": "f0af906728a87e559edd90157b082e4b962af134",
      "tree": "2c375423f28c972f9d44d27c2ec794991a0f2ed4",
      "parents": [
        "fc5fbfc13fd6873d42fe82c308ee68a685258b4c"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Oct 21 10:50:31 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Oct 21 10:56:52 2016 -0700"
      },
      "message": "Add missing shared library\n\nHost builds were compiling without -Wl,--no-undefined.  Add missing\nshared library so that -Wl,--no-undefined can be added again.\n\nTest: m -j host\nBug: 32305815\nChange-Id: I39456a95c37b64b6ac65c0b3220d4816ce34e5c6\n"
    },
    {
      "commit": "2a1019d34a75e74af65d09b26b99a3647f9cc901",
      "tree": "8f0bc756d2d5708ddc9e8ac1c126cc5a4ebdfc20",
      "parents": [
        "77cd3d861fcf723ba0a37833c223eeb08cfd7d8c",
        "12393f3aa99eb2148d22af5244511b8f9dfe08e2"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 21 16:38:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 21 16:38:19 2016 +0000"
      },
      "message": "Merge \"Don\u0027t dump loaded but unresolved classes in hprof\""
    },
    {
      "commit": "77cd3d861fcf723ba0a37833c223eeb08cfd7d8c",
      "tree": "e4cd7833fe8fec4e4b216e156312a323f23e8f02",
      "parents": [
        "6c42676b466c4f08cfa6ca43da65bc74f48dc063",
        "f42eb2c7801dbb45a6ba20a372d5ba4712ebefba"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Oct 21 15:30:22 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 21 15:30:22 2016 +0000"
      },
      "message": "Merge \"Remove mutex dependency on art::Runtime\""
    },
    {
      "commit": "ec78c78508fa5ef6bac78ee2face0d30e67cf913",
      "tree": "f9959d9b691d35af9d4940703750523b7b5bd26e",
      "parents": [
        "a8188191477b7b5b01a3c4426c51c48cd55f6678"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri May 13 14:19:37 2016 -0700"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri Oct 21 16:24:07 2016 +0100"
      },
      "message": "Add support for proguard deobfuscation.\n\nTest: m ahat-test, with obfuscation of test-dump.hprof added.\nBug: 25812772\nChange-Id: I0f257432da570aa146e6bb5c549f014aecc0c326\n"
    },
    {
      "commit": "ec32b91cfa1061b2608838d41e6d7d70fdf681dc",
      "tree": "31d69c22423faf20aa72915f5c26fa7dc3213242",
      "parents": [
        "6c42676b466c4f08cfa6ca43da65bc74f48dc063"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Oct 21 14:47:26 2016 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Oct 21 15:09:06 2016 +0100"
      },
      "message": "Remove read barrier in UnstartedUnsafeCompareAndSwapLong.\n\nart::interpreter::UnstartedRuntime::UnstartedUnsafeCompareAndSwapLong\nmanipulates a long field and does not need a read barrier\n(read barriers are only required when loading an object\nreference from the heap).\n\nTest: ART_USE_READ_BARRIER\u003dtrue make test-art-host\nBug: 12687968\nChange-Id: Ia46590e649a7bb46ca4b3c90bab03fb3a836563d\n"
    },
    {
      "commit": "6c42676b466c4f08cfa6ca43da65bc74f48dc063",
      "tree": "969ba7fdc4ca5902e31afa6252ee6649ae07fe9a",
      "parents": [
        "d681d9b1060e660b39de1286c336b5e38870a799",
        "b55fdbb30b3bc4e334c241153b98c0a6ea4a4a2b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 21 12:27:16 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 21 12:27:17 2016 +0000"
      },
      "message": "Merge \"Disable kBssEntry LoadString sharpening.\""
    },
    {
      "commit": "d681d9b1060e660b39de1286c336b5e38870a799",
      "tree": "5d5c68ed44665bf781385fba4a15efc2aa186323",
      "parents": [
        "a550ad9fe83872996eeeb59a3b01f008e326f0ba",
        "674b9ee50c812d684a27a28cf09098195f068f3d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 21 12:26:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 21 12:26:18 2016 +0000"
      },
      "message": "Merge \"MIPS32: Implement HSelect\""
    },
    {
      "commit": "a550ad9fe83872996eeeb59a3b01f008e326f0ba",
      "tree": "eed799c4db2df3548e666a5694a798f309f98c22",
      "parents": [
        "a8188191477b7b5b01a3c4426c51c48cd55f6678",
        "28d06c1f3d3613bfbe071161331a62446b3f67b1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 21 10:33:58 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 21 10:33:58 2016 +0000"
      },
      "message": "Merge \"MIPS32R6: Fix floating point compares in mterp.\""
    },
    {
      "commit": "b55fdbb30b3bc4e334c241153b98c0a6ea4a4a2b",
      "tree": "f174d35625d63806e3a391ec317db6683e0f6662",
      "parents": [
        "a8188191477b7b5b01a3c4426c51c48cd55f6678"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 21 10:22:45 2016 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 21 10:54:21 2016 +0100"
      },
      "message": "Disable kBssEntry LoadString sharpening.\n\nWe seem to fail to visit the BSS GC roots sometimes.\n\nBug: 32124939\nTest: m test-art-host\nChange-Id: I4724ced649042cbeb170cac9e8da8c5db168c8fc\n"
    },
    {
      "commit": "28d06c1f3d3613bfbe071161331a62446b3f67b1",
      "tree": "dceb4932a482d58bec4247b816742a8ab8046abe",
      "parents": [
        "c6c5f6ce1c9cc44f859bbbc447478e4934be0fee"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Thu Oct 20 21:50:05 2016 -0700"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Thu Oct 20 22:19:18 2016 -0700"
      },
      "message": "MIPS32R6: Fix floating point compares in mterp.\n\nThis fixes failures in the following tests:\n003-omnibus-opcodes\n082-inline-execute\n083-compiler-regressions\n107-int-math2\n422-type-conversion\n570-checker-select\n\nTest: \u0027run-test --interpreter \u003ctests above\u003e\u0027\n      in QEMU for MIPS64R6/MIPS32R6\n\nChange-Id: I11b4f1df7c212932c92d41fbc98c00465d03e850\n"
    },
    {
      "commit": "12393f3aa99eb2148d22af5244511b8f9dfe08e2",
      "tree": "41346822de64ebb6014d8ca38f4b58e57dc8eb18",
      "parents": [
        "c89f9776a107ca20d0146c16fa881db91c4f8266"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 20 17:11:23 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 20 17:44:31 2016 -0700"
      },
      "message": "Don\u0027t dump loaded but unresolved classes in hprof\n\nIf a class is loaded but not yet resolved, it will cause failed\nDCHECK when reading static fields.\n\nBug: 32008990\n\nTest: test/run-test --host 130\n\nChange-Id: I05f549cb2b70c75b06ed23d3405373d15ad7707b\n"
    },
    {
      "commit": "a8188191477b7b5b01a3c4426c51c48cd55f6678",
      "tree": "794ab1f6abf125263589acc037f01e8ba97004ef",
      "parents": [
        "6494dae35b15cc5b771daa7871e4621e6dec1744",
        "639cc8c7bbb7d8c341173bcf24604ccb4328acb8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 20 22:50:12 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 20 22:50:12 2016 +0000"
      },
      "message": "Merge \"Improve recognition of select-based period induction.\""
    },
    {
      "commit": "674b9ee50c812d684a27a28cf09098195f068f3d",
      "tree": "9b109adff71b48aa531628bf07644bccfc580fa3",
      "parents": [
        "c6c5f6ce1c9cc44f859bbbc447478e4934be0fee"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Tue Sep 20 14:54:15 2016 -0700"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Thu Oct 20 15:03:43 2016 -0700"
      },
      "message": "MIPS32: Implement HSelect\n\nTest: booted MIPS32R2 in QEMU\nTest: test-art-target-run-test-optimizing (MIPS32R2) on CI20\nTest: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU\nTest: test-art-target-run-test-optimizing (MIPS32R6) in QEMU\nTest: test-art-host-gtest\n\nChange-Id: I8a8127d8d29cb5df84ed6f4fd4478f8d889e5cb7\n"
    },
    {
      "commit": "639cc8c7bbb7d8c341173bcf24604ccb4328acb8",
      "tree": "ae8181b94ddd145edaff141a2b351478161f1559",
      "parents": [
        "3941c882ea7b54772dec36a9a1b33e0b8a7474f7"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Oct 18 13:03:31 2016 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Oct 20 14:14:17 2016 -0700"
      },
      "message": "Improve recognition of select-based period induction.\n\nRationale:\nSimilar to the previous CL, this helps to eliminate more dead induction.\nNow, CaffeineLogic, when compiled with dx (rather than jack) improves\nby a 1.5 speedup (9000us -\u003e 6000us).\n\nNote:\nWe need to run the simplifier before induction analysis to trigger\nthe select simplification first. Although a bit of a compile-time hit,\nit seems a good idea to run a simplifier here again anyway.\n\nTest: test-art-host\nChange-Id: I93b91ca40a4d64385c64393028e8d213f0c904a8\n"
    },
    {
      "commit": "6494dae35b15cc5b771daa7871e4621e6dec1744",
      "tree": "02ac6d90fdeec5b453692adb8e5703033f2d4742",
      "parents": [
        "fc5fbfc13fd6873d42fe82c308ee68a685258b4c",
        "a34efacf93ecb3313abb74df7033c74f3129cf93"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Oct 20 21:10:57 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 20 21:10:58 2016 +0000"
      },
      "message": "Merge \"Test for the CC RegionSpace::WalkInternal crash.\""
    },
    {
      "commit": "f42eb2c7801dbb45a6ba20a372d5ba4712ebefba",
      "tree": "62939df36e0d113aab0307f75ab728de72b80953",
      "parents": [
        "fc5fbfc13fd6873d42fe82c308ee68a685258b4c"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Oct 19 13:20:45 2016 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Oct 20 13:40:56 2016 -0700"
      },
      "message": "Remove mutex dependency on art::Runtime\n\nBreaks the cyclic dependency between mutex and the runtime.  This allows\nthe use of mutexes without instantiating a runtime.\n\nBug: 22322814\nTest: test-art\nChange-Id: Ia642e515937068d385e5bb1e10bbd3e50a6e36d2\n"
    },
    {
      "commit": "fc5fbfc13fd6873d42fe82c308ee68a685258b4c",
      "tree": "d68edb92308bc83f8097a2fd8ef651500f183fa9",
      "parents": [
        "eb6b620b8e3366fbe5e26ad6fe7651f0585e9686",
        "c7a420c95376953ecb3bd84b0ac2e245e90d827c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 20 18:50:24 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 20 18:50:25 2016 +0000"
      },
      "message": "Merge \"Ensure that overrides work in presence of package-private methods.\""
    },
    {
      "commit": "eb6b620b8e3366fbe5e26ad6fe7651f0585e9686",
      "tree": "44fc6f902810fb26cbcad4fb9ec034010350efd5",
      "parents": [
        "024662a3102df92fabf4f40d9ec40976f8e20c5d",
        "58deb865a8d3b80f49d71dfa468cd6241bb0f038"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Oct 20 14:57:15 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 20 14:57:16 2016 +0000"
      },
      "message": "Merge \"Disable 151-OpenFileLimit test.\""
    },
    {
      "commit": "58deb865a8d3b80f49d71dfa468cd6241bb0f038",
      "tree": "44fc6f902810fb26cbcad4fb9ec034010350efd5",
      "parents": [
        "024662a3102df92fabf4f40d9ec40976f8e20c5d"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Oct 20 15:41:21 2016 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Oct 20 15:45:14 2016 +0100"
      },
      "message": "Disable 151-OpenFileLimit test.\n\nUntil we can track down all the crashes it leads to.\n\nBug: 32302133\nTest: mma -j32 ART_TEST_JIT\u003dtrue ART_TEST_INTERPRETER\u003dtrue test-art-host-run-test-151-OpenFileLimit\nChange-Id: I515a5175b4cefe49a8e270d354879050b1f616f9\n"
    },
    {
      "commit": "024662a3102df92fabf4f40d9ec40976f8e20c5d",
      "tree": "248a072ebfa8e3a7897ad08f819456f28e47c0bc",
      "parents": [
        "4a4ff643b629b268787fb97648116e1ac391f53b",
        "af1e2990cd1406a0fb7cba1d2e208208e950e413"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Oct 20 14:41:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 20 14:41:18 2016 +0000"
      },
      "message": "Merge changes I16f8b7ec,I075bbf55\n\n* changes:\n  jni: Support @FastNative methods that return objects\n  Revert \"jni: Disable FastNative path for methods returning objects\"\n"
    },
    {
      "commit": "4a4ff643b629b268787fb97648116e1ac391f53b",
      "tree": "23b03fcdacbb8d2fa589aef597a6ff633916ef8c",
      "parents": [
        "2f2533f686f759ccd29d2712da2c7610382fb59f",
        "9bdaeebe6aca491b11a44999f571f0122ad87499"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Oct 20 14:39:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 20 14:39:10 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Interpreter: Add support for direct handle invokes on methods.\"\"\""
    },
    {
      "commit": "2f2533f686f759ccd29d2712da2c7610382fb59f",
      "tree": "b4853d93d2427928bbf28aac135b939017360c9e",
      "parents": [
        "fc7a96464c58f2e3432cba2a3cfb19d84b033fdf",
        "a7812ae7939b199392f874b24a52454bbd0c13f2"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Oct 20 11:59:42 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 20 11:59:43 2016 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Pass initial ART tests with new code generator.\""
    },
    {
      "commit": "fc7a96464c58f2e3432cba2a3cfb19d84b033fdf",
      "tree": "601abe2957e3af6c9aff3a8d1be917cc186ff882",
      "parents": [
        "3bbfcb794f5f81f4aa76ac0fb4c811d260e69d3b",
        "d08e39b6f02368aaa668b5aae6b6077b3eb44d9c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 20 11:59:27 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 20 11:59:27 2016 +0000"
      },
      "message": "Merge \"DexCache: Add support for updating MethodType references during GC.\""
    },
    {
      "commit": "3bbfcb794f5f81f4aa76ac0fb4c811d260e69d3b",
      "tree": "79be0f3361730ea7796f370a38b2c039108322eb",
      "parents": [
        "d985a5a81a45595f5cb4d12da81eec760801c92c",
        "da0a69edb24122d3d35ce1483c5ab94de919d714"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 20 11:45:05 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 20 11:45:06 2016 +0000"
      },
      "message": "Merge \"Return error message if IndirectReferenceTable construction fails.\""
    },
    {
      "commit": "9bdaeebe6aca491b11a44999f571f0122ad87499",
      "tree": "23ae0638ba1f82fa2b9e01a03307e2c596b29dce",
      "parents": [
        "d08e39b6f02368aaa668b5aae6b6077b3eb44d9c"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Oct 20 10:57:45 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Oct 20 11:14:53 2016 +0100"
      },
      "message": "Revert \"Revert \"Interpreter: Add support for direct handle invokes on methods.\"\"\n\nThis reverts commit cfa61ad52077df66a448b84c360b12bc6f0e3f51.\n\nTest flakiness in 956-methodhandles is fixed by\nd08e39b6f02368aaa668b5aae6b6077b3eb44d9c.\n\nTest: make test-art-host\n\nChange-Id: I56e02e9a5bbc2b992cf746a92fd95ea77d32456c\n"
    },
    {
      "commit": "d08e39b6f02368aaa668b5aae6b6077b3eb44d9c",
      "tree": "0b2d011f11b6c462512341292f949871a51c8900",
      "parents": [
        "d985a5a81a45595f5cb4d12da81eec760801c92c"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Oct 19 14:16:35 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Oct 20 11:02:14 2016 +0100"
      },
      "message": "DexCache: Add support for updating MethodType references during GC.\n\nFixes flakiness in 956-methodhandles\n\nTest: make test-art-host\nbug: 30550796\nChange-Id: Ia5359390d59e65fc6efc16cc55c11bc65029104d\n"
    },
    {
      "commit": "d985a5a81a45595f5cb4d12da81eec760801c92c",
      "tree": "3d49d34870ddb439596321e6e6577845e97c61ac",
      "parents": [
        "b5706dd4e86c3687153a02fdda715e40f69c55d1",
        "94ce9c2f41ea198f5fdcfc09c48b9984c95a9c61"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 20 09:24:03 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 20 09:24:03 2016 +0000"
      },
      "message": "Merge \"Change pResolveString entrypoint to kSaveEverything.\""
    },
    {
      "commit": "b5706dd4e86c3687153a02fdda715e40f69c55d1",
      "tree": "a3b994b90b6cadd7b68301626cb13bf31b80328b",
      "parents": [
        "4b11c29b5ce581b6ce85f05495a62ee28f7ca541",
        "f808786a543a157f4d00167c5e4fb9f7de1c5833"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Oct 20 07:49:22 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 20 07:49:23 2016 +0000"
      },
      "message": "Merge \"Build: Avoid using ppid to generate temporary directory name.\""
    },
    {
      "commit": "4b11c29b5ce581b6ce85f05495a62ee28f7ca541",
      "tree": "a71ee1508ae19268fafac602c78ef8696fbf4883",
      "parents": [
        "08172e05dd9bf55502a71e8d6ef5169e616ca338",
        "bed6dafdeeb13a5abcff45e8da44aad12cd1c452"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 20 03:26:21 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 20 03:26:23 2016 +0000"
      },
      "message": "Merge \"ART: Harden dex-file verifier wrt/ LEB128\""
    },
    {
      "commit": "08172e05dd9bf55502a71e8d6ef5169e616ca338",
      "tree": "83462bf2096305d2a33fe7cb59def75c1cd60003",
      "parents": [
        "c6c5f6ce1c9cc44f859bbbc447478e4934be0fee",
        "7ec38dcb84d61f6172bbb5a303bd5ab7139f7409"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 20 00:25:39 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 20 00:25:39 2016 +0000"
      },
      "message": "Merge \"Persistent bitmap for region space\""
    },
    {
      "commit": "bed6dafdeeb13a5abcff45e8da44aad12cd1c452",
      "tree": "3f2c250cf4f6b1aa729495f9027cffc326c68232",
      "parents": [
        "c6c5f6ce1c9cc44f859bbbc447478e4934be0fee"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Sep 02 18:12:00 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 19 16:53:45 2016 -0700"
      },
      "message": "ART: Harden dex-file verifier wrt/ LEB128\n\nUse out-of-bounds checks when decoding (U)LEB128.\n\nBug: 31252966\nTest: m test-art-host\nChange-Id: Id6dbbceb37c4d8d698e7685c61bf31912e3bf69e\n"
    },
    {
      "commit": "c7a420c95376953ecb3bd84b0ac2e245e90d827c",
      "tree": "4b93651dec8dac89adc355fb60da59ef903f1638",
      "parents": [
        "c6c5f6ce1c9cc44f859bbbc447478e4934be0fee"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Oct 18 14:33:18 2016 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Oct 19 14:54:34 2016 -0700"
      },
      "message": "Ensure that overrides work in presence of package-private methods.\n\nIt was possible that methods with the same signature \u0026 name of\npackage-private methods could fail to be correctly overridden causing\nsurprising behavior and DCHECK failures.\n\nBug: 32193118\nTest: mma test-art-host\nTest: ART_TEST_RUN_TEST_NDEBUG\u003dtrue ART_TEST_RUN_TEST_NO_PREBUILD\u003dtrue mma test-art-host-run-test-300-package-override\nChange-Id: I8f53a830cd8d4210f60e9827e525c779a0696e04\n"
    },
    {
      "commit": "7ec38dcb84d61f6172bbb5a303bd5ab7139f7409",
      "tree": "9facc157658bcc2d3d0beeefd9fe055c10598051",
      "parents": [
        "c89f9776a107ca20d0146c16fa881db91c4f8266"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 07 15:24:46 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 19 13:22:41 2016 -0700"
      },
      "message": "Persistent bitmap for region space\n\nFix bug where region space was not safely walkable due to holes\nin the unevac regions possibly having dangling class pointers.\n\nNo preformance change, RAM overhead 1.1-1.2% .Heap (non LOS).\n\nTest: test-art-host\nTest: https://android-review.googlesource.com/#/c/288907/\n\nBug: 31522820\n\nChange-Id: Ic4f8b7175e117689cb1ce3e28b082cf63f1f7b5a\n"
    },
    {
      "commit": "c6c5f6ce1c9cc44f859bbbc447478e4934be0fee",
      "tree": "2aee9ac6c17cbc9c907da1704ae3ccca9a47b8dd",
      "parents": [
        "3941c882ea7b54772dec36a9a1b33e0b8a7474f7",
        "28357fab628bd9b91749988b554977398caf9963"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 19 19:35:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 19 19:35:55 2016 +0000"
      },
      "message": "Merge \"Move most of class linker to ObjPtr\""
    },
    {
      "commit": "3941c882ea7b54772dec36a9a1b33e0b8a7474f7",
      "tree": "cf15e5c6a1e693075a1243512b1c44800fc0a699",
      "parents": [
        "b0d2fe854b78865484608d07ed774fe5a0b996c5",
        "12a1060d7cf3947b5bf540a9803878985b21587f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 19 18:53:06 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 19 18:53:06 2016 +0000"
      },
      "message": "Merge \"Fix bug in dynamic BCE. With regression test.\""
    },
    {
      "commit": "af1e2990cd1406a0fb7cba1d2e208208e950e413",
      "tree": "07e80e4dcc31931003a87be7884134ea42ceec07",
      "parents": [
        "3f699ae23266b2c4adc98958dcbd80c71c2c3284"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Oct 12 17:44:50 2016 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Oct 19 11:38:54 2016 -0700"
      },
      "message": "jni: Support @FastNative methods that return objects\n\nBug: 32088975\nChange-Id: I16f8b7ec6b251812af60ab25f2153d9b72f37044\n"
    },
    {
      "commit": "3f699ae23266b2c4adc98958dcbd80c71c2c3284",
      "tree": "0b0aff9f690c74818f5b1da056e46f448d71681f",
      "parents": [
        "b0d2fe854b78865484608d07ed774fe5a0b996c5"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Oct 13 15:12:20 2016 +0000"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Oct 19 11:33:33 2016 -0700"
      },
      "message": "Revert \"jni: Disable FastNative path for methods returning objects\"\n\nThis reverts commit 6f029d9cfae142f318e3986331b04695f3ea524a.\n\nChange-Id: I075bbf55a07565118b8fa529a397bb42490e6e51\n"
    },
    {
      "commit": "12a1060d7cf3947b5bf540a9803878985b21587f",
      "tree": "14e7f263e4a3bf0f10e11fdfd4a982000fe14786",
      "parents": [
        "63104356aac6511791cf0d7c18b628a558f357e1"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Oct 18 11:35:22 2016 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Oct 19 10:30:35 2016 -0700"
      },
      "message": "Fix bug in dynamic BCE. With regression test.\n\nRationale:\nWe implicitly assumed anything on a fixed offset to a suitable\ncandidate could be picked for codegen. Although this is usually\ntrue, the scanner found an exception (on types). So, it is best\nto make the test explicit. Note: some type implications are TBD.\n\nBug:32193474\n\nTest: test-art-host and offending APKs\nChange-Id: I664a2caa97a7f231509f8832b940dd72da11a372\n"
    },
    {
      "commit": "28357fab628bd9b91749988b554977398caf9963",
      "tree": "957fac3c1003713c349e0e216762836138c596a7",
      "parents": [
        "c89f9776a107ca20d0146c16fa881db91c4f8266"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 18 16:27:40 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 19 10:04:37 2016 -0700"
      },
      "message": "Move most of class linker to ObjPtr\n\nReturn values are still mirror pointer. Fix some failing asserts in\ncompiler driver and tests.\n\nBug: 31113334\n\nTest: test-art-host\n\nChange-Id: I4450bf9dfb2541749496b8388616e8aae8488919\n"
    },
    {
      "commit": "94ce9c2f41ea198f5fdcfc09c48b9984c95a9c61",
      "tree": "8dcaf27e8b34f51f5849b1e8d4366968f9bae849",
      "parents": [
        "2f61867045ffbd0c38a4ecec5f59632004f7efff"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 30 14:50:51 2016 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 19 18:02:48 2016 +0100"
      },
      "message": "Change pResolveString entrypoint to kSaveEverything.\n\nTest: Run ART test suite including gcstress on host and Nexus 9.\nTest: Run ART test suite including gcstress with baker CC on host and Nexus 9.\nBug: 20323084\nChange-Id: I63c21a7d3be8ff7a5765b5003c85b5317635efe6\n"
    },
    {
      "commit": "b0d2fe854b78865484608d07ed774fe5a0b996c5",
      "tree": "cd5754e360fadc0cf43dbf36b69001b0824b7f08",
      "parents": [
        "c89f9776a107ca20d0146c16fa881db91c4f8266",
        "58a4c6198a71973ea589edebe0b3f17c72d55e29"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 19 17:01:02 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 19 17:01:02 2016 +0000"
      },
      "message": "Merge \"Delete unused blocked_register_pairs_ in code generators\""
    },
    {
      "commit": "c89f9776a107ca20d0146c16fa881db91c4f8266",
      "tree": "f77bd4525e69c4874c52183878ae642fd5a2201c",
      "parents": [
        "58b99c78d0bba093fddebab0dcad45bbcf5c55d9",
        "709b070044354d9f47641f273edacaeeb0240ab7"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Oct 19 16:18:50 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 19 16:18:51 2016 +0000"
      },
      "message": "Merge \"Remove mirror:: and ArtMethod deps in utils.{h,cc}\""
    },
    {
      "commit": "da0a69edb24122d3d35ce1483c5ab94de919d714",
      "tree": "7216e6a19b1a9f3ca9da28d61c717ad9086d994e",
      "parents": [
        "278ec18934045477f0340b4aa6564f003a1e190d"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Oct 11 15:06:38 2016 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Oct 19 16:37:47 2016 +0100"
      },
      "message": "Return error message if IndirectReferenceTable construction fails.\n\nPreviously if there was an error when constructing the\nIndirectReferenceTable, the error message was lost. Now expose and\ninclude the error message when throwing an exception related to\nfailures to construct the IndirectReferenceTable.\n\nThe error message is propagated through JVMEnvExt, JavaVMExt, and\nRuntime::Init as well.\n\nBug: 32013594\nTest: Added new 151-OpenFileLimit runtest.\nTest: m test-art-host, m test-art-target\n\nChange-Id: I3692f6928c9570358571bce634569d6f14cdeb05\n"
    },
    {
      "commit": "58b99c78d0bba093fddebab0dcad45bbcf5c55d9",
      "tree": "e55236c0008d3d8a637460f1ef83d892765ec0e0",
      "parents": [
        "278ec18934045477f0340b4aa6564f003a1e190d",
        "cfa61ad52077df66a448b84c360b12bc6f0e3f51"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 19 14:55:34 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 19 14:55:35 2016 +0000"
      },
      "message": "Merge \"Revert \"Interpreter: Add support for direct handle invokes on methods.\"\""
    },
    {
      "commit": "f808786a543a157f4d00167c5e4fb9f7de1c5833",
      "tree": "b1cdeb7ebc7890e27f85018a9eeeb85eeb872ab6",
      "parents": [
        "8e92b9c4b5009af14da1dc1a82f87229f56f18fe"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Oct 19 11:05:04 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Oct 19 14:30:55 2016 +0100"
      },
      "message": "Build: Avoid using ppid to generate temporary directory name.\n\nWhen TMPDIR is left unset, use the BSD checksum of\n$(ANDROID_BUILD_TOP)-$(USER) instead of the PPID to construct a root\ndirectory for all test runs. This workaround lets us run tests from\nmultiple repos at the same time, and will also avoid having to deal\nwith path length issues on the build bots.\n\nThis is a hacky workaround, but the only proper fix is stop using a\ntest runner built on top of make.\n\nBug: 32165422\nTest: test-art-host\n\nChange-Id: I61bc1eb3cf57d498f910573926d826a36020067a\n"
    },
    {
      "commit": "cfa61ad52077df66a448b84c360b12bc6f0e3f51",
      "tree": "ded76e4b27698af197581354b1a24316a05d8918",
      "parents": [
        "e5cd2cd7d0f8e1332f25edfd2798d84fec871f10"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Oct 19 13:21:59 2016 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Oct 19 13:22:28 2016 +0000"
      },
      "message": "Revert \"Interpreter: Add support for direct handle invokes on methods.\"\n\nThis reverts commit e5cd2cd7d0f8e1332f25edfd2798d84fec871f10.\n\nReverting due to flakiness in 956-methodhandles. Flakiness will be\nfixed by 67f0929710a4489e3603383e57c9d236920654aa but might take time\nto submit.\n\nChange-Id: Ifdda5d3caca62d16d21cefaab7742fb2e8ca6969\n"
    },
    {
      "commit": "278ec18934045477f0340b4aa6564f003a1e190d",
      "tree": "9aed835eb6fe47f82be960a4b3a101793efc342e",
      "parents": [
        "82c8cdc24a139b8ac62b50e1b73fe9cafcb76305",
        "72e7055efcabb016fe7f52bcc45cba7972f80847"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Oct 19 12:19:03 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 19 12:19:04 2016 +0000"
      },
      "message": "Merge \"Remove libcore tests failures expectations for the concurrent collector.\""
    },
    {
      "commit": "82c8cdc24a139b8ac62b50e1b73fe9cafcb76305",
      "tree": "71a638b61af32106a07a556e3e68402dcea152f7",
      "parents": [
        "8e92b9c4b5009af14da1dc1a82f87229f56f18fe",
        "9c9883bb03de05783d3e24dfc00dee4d03786fe3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 19 11:32:59 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 19 11:32:59 2016 +0000"
      },
      "message": "Merge \"Fix string compression, add tests.\""
    },
    {
      "commit": "8e92b9c4b5009af14da1dc1a82f87229f56f18fe",
      "tree": "1326c5e4f9656a675256fbbb3bb1ccfc787381a2",
      "parents": [
        "ab955ff6cb4982cce8e0f1cd58f06864e158236e",
        "e5cd2cd7d0f8e1332f25edfd2798d84fec871f10"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Oct 19 10:30:57 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 19 10:30:58 2016 +0000"
      },
      "message": "Merge \"Interpreter: Add support for direct handle invokes on methods.\""
    },
    {
      "commit": "ab955ff6cb4982cce8e0f1cd58f06864e158236e",
      "tree": "f5ed4e10cbc8921e8877d857712f74b9074b6a59",
      "parents": [
        "fc7798ba8201ae44c5c11384232be7c51afd3727",
        "c2fe8919ae78c09b5a084e7d073c3c8b5d3019ea"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 19 10:04:50 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 19 10:04:50 2016 +0000"
      },
      "message": "Merge \"Blacklist test that has been flaky for days.\""
    },
    {
      "commit": "9c9883bb03de05783d3e24dfc00dee4d03786fe3",
      "tree": "d765d341d46ad88c9bb8effdcfad9493dc9adb27",
      "parents": [
        "fc7798ba8201ae44c5c11384232be7c51afd3727"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 17 14:45:29 2016 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 19 10:47:51 2016 +0100"
      },
      "message": "Fix string compression, add tests.\n\nFix String.compareTo() for interpreter; memcmp() does not\nreturn the required result (only the right sign).\nFix x86-64 stub where the assembler silently accepted and\ngenerated bad code for out-of-range JECXZ.\nAdd extensive tests for String.equals(), String.compareTo()\nand String.indexOf().\n\nBug: 31040547\nTest: Run ART test suite including interpreter tests on host and Nexus 9.\nTest: Ditto with string compression enabled.\nChange-Id: I21b7a74da8a577c8fbaf8d9225f048550236d414\n"
    },
    {
      "commit": "fc7798ba8201ae44c5c11384232be7c51afd3727",
      "tree": "45bf5c36adc90ba87da351ef441c33ceadd1461f",
      "parents": [
        "cc7880d2e881bf94f854e3e576567137f346fd92",
        "e087f1fe7f471242a6582eca77e2b72d2326ca09"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 19 09:29:36 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 19 09:29:37 2016 +0000"
      },
      "message": "Merge \"Release version 0.8 of ahat.\""
    },
    {
      "commit": "c2fe8919ae78c09b5a084e7d073c3c8b5d3019ea",
      "tree": "dea32aeb756c8a02f80be91f78e69624f67b6fec",
      "parents": [
        "cc7880d2e881bf94f854e3e576567137f346fd92"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 19 09:32:10 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 19 09:32:10 2016 +0100"
      },
      "message": "Blacklist test that has been flaky for days.\n\nChange-Id: Ic3f4a10568b03f02c2173fd18e7642bb9ae4e2b3\n"
    },
    {
      "commit": "cc7880d2e881bf94f854e3e576567137f346fd92",
      "tree": "5ed18624695d397766f0078c44772427b9c84d61",
      "parents": [
        "1a4de6a2453a3ad0310aca1a44e7e2d3b6f53bc1",
        "a8e3b8622565089ff7eb86363a18214b9b2b7da8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 19 02:00:08 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 19 02:00:08 2016 +0000"
      },
      "message": "Merge \"ART: Remove IRT cruft\""
    },
    {
      "commit": "709b070044354d9f47641f273edacaeeb0240ab7",
      "tree": "3a8ac051d7c35076303984d0d892cdd396b60427",
      "parents": [
        "1a4de6a2453a3ad0310aca1a44e7e2d3b6f53bc1"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Oct 13 09:12:37 2016 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Tue Oct 18 14:10:04 2016 -0700"
      },
      "message": "Remove mirror:: and ArtMethod deps in utils.{h,cc}\n\nThe latest chapter in the ongoing saga of attempting to dump a DEX\nfile without having to start a whole runtime instance.  This episode\nfinds us removing references to ArtMethod/ArtField/mirror.\n\nOne aspect of this change that I would like to call out specfically\nis that the utils versions of the \"Pretty*\" functions all were written\nto accept nullptr as an argument.  I have split these functions up as\nfollows:\n1) an instance method, such as PrettyClass that obviously requires\nthis !\u003d nullptr.\n2) a static method, that behaves the same way as the util method, but\ncalls the instance method if p !\u003d nullptr.\nThis requires using a full class qualifier for the static methods,\nwhich isn\u0027t exactly beautiful.  I have tried to remove as many cases\nas possible where it was clear p !\u003d nullptr.\n\nBug: 22322814\nTest: test-art-host\nChange-Id: I21adee3614aa697aa580cd1b86b72d9206e1cb24\n"
    },
    {
      "commit": "58a4c6198a71973ea589edebe0b3f17c72d55e29",
      "tree": "f8ae9138190383bfd73cba141e751f67ce2391d5",
      "parents": [
        "d203296000f18dd582702eebe6a6e9c5b0182397"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 18 13:24:05 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 18 13:39:52 2016 -0700"
      },
      "message": "Delete unused blocked_register_pairs_ in code generators\n\nLegacy code for compatibility with quick?\n\nTest: test-art-host CC\nChange-Id: I9de261daea67dfd9bd3df89826ba9d10f135e29e\n"
    },
    {
      "commit": "1a4de6a2453a3ad0310aca1a44e7e2d3b6f53bc1",
      "tree": "4e77a3c70cb326ded7ea70e55a12812d7bc3dee7",
      "parents": [
        "63104356aac6511791cf0d7c18b628a558f357e1",
        "c93f71263555642006d28beb1e8f671309971655"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 18 20:39:28 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 18 20:39:29 2016 +0000"
      },
      "message": "Merge \"Update the Begin() of LargeObjectMapSpace\""
    },
    {
      "commit": "72e7055efcabb016fe7f52bcc45cba7972f80847",
      "tree": "e0e10e46c42dc172d3f7911a7b856740518a2657",
      "parents": [
        "63104356aac6511791cf0d7c18b628a558f357e1"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Oct 18 19:07:49 2016 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Oct 18 19:08:16 2016 +0100"
      },
      "message": "Remove libcore tests failures expectations for the concurrent collector.\n\nTest: art/tools/run-libcore-tests.sh --mode\u003dhost --variant\u003dX32 --debug (with ART_USE_READ_BARRIER\u003dtrue)\nBug: 12687968\nChange-Id: I470f11d0bc6e38011c5b8f3797f2c0e9ec1e56cc\n"
    },
    {
      "commit": "63104356aac6511791cf0d7c18b628a558f357e1",
      "tree": "d5e6792c7b575982a51085ed0f1ababe2c575cfc",
      "parents": [
        "d203296000f18dd582702eebe6a6e9c5b0182397",
        "9abf894ad0e5a6a1594ee1fa3924965e25e5f86f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 18 18:02:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 18 18:02:37 2016 +0000"
      },
      "message": "Merge \"Enable last value generation of periodic sequence.\""
    },
    {
      "commit": "d203296000f18dd582702eebe6a6e9c5b0182397",
      "tree": "b90a9213b96d44cb3406994545bce0c10836b1be",
      "parents": [
        "9d7c8a3bc1cbd07baadce8d5fa44599eb0e44def",
        "bc5a795c0d486c84913d987cad5846ded840cea6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 18 17:40:52 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 18 17:40:53 2016 +0000"
      },
      "message": "Merge \"Move art/native to ObjPtr\""
    },
    {
      "commit": "9d7c8a3bc1cbd07baadce8d5fa44599eb0e44def",
      "tree": "42922627eb0c24ce3b29e396694e38adbff92c8c",
      "parents": [
        "66e69012f9fb6e49e66e8d9d6c7952f58668281b",
        "0a845200354f5dc3a3344c35823d2614cd5850ef"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Tue Oct 18 17:32:46 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 18 17:32:46 2016 +0000"
      },
      "message": "Merge \"More store/allocation elimination for singletons in case of loops\""
    },
    {
      "commit": "66e69012f9fb6e49e66e8d9d6c7952f58668281b",
      "tree": "215b514ca374d03d6867b5cc6ba8a3dbe05ee14d",
      "parents": [
        "b07d20b9dd89dec38bde4083b2bf4953a1909b53",
        "2427aae0fa7f067dc92991bb1e2d032a4368146d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 18 17:32:14 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 18 17:32:15 2016 +0000"
      },
      "message": "Merge changes If0d5eeeb,Id927f2b5\n\n* changes:\n  ART: Fix and extend test 904\n  ART: Better handle multiple event enables\n"
    },
    {
      "commit": "b07d20b9dd89dec38bde4083b2bf4953a1909b53",
      "tree": "09ad4fca9e083fa8b769f190664412389bd29f29",
      "parents": [
        "9248a8105c2361eda9ac0293d613cb025b72973d",
        "162ae5088e5fd0f2f717fd45bac73e8d3f400a9d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 18 17:13:02 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 18 17:13:03 2016 +0000"
      },
      "message": "Merge \"ART: Expect a null self in SetEntrypointsInstrumented\""
    },
    {
      "commit": "162ae5088e5fd0f2f717fd45bac73e8d3f400a9d",
      "tree": "09ad4fca9e083fa8b769f190664412389bd29f29",
      "parents": [
        "9248a8105c2361eda9ac0293d613cb025b72973d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 18 10:03:42 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 18 10:03:42 2016 -0700"
      },
      "message": "ART: Expect a null self in SetEntrypointsInstrumented\n\nFollow-up to commit 157c77eb9a5d6a7fe6ebcc29afa7f1913a877c87.\n\nBug: 31684277\nTest: m ART_TEST_GC_STRESS\u003dtrue test-art-host\nChange-Id: I9de848ea6a9484798b75a594f3e390ef27394743\n"
    },
    {
      "commit": "e5cd2cd7d0f8e1332f25edfd2798d84fec871f10",
      "tree": "26218d2a322cfa37458ac52cf6c7f2e8d558a34c",
      "parents": [
        "3da7190bae7c1d75edbc87f01343652c246639f2"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Oct 14 18:49:12 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Oct 18 17:17:04 2016 +0100"
      },
      "message": "Interpreter: Add support for direct handle invokes on methods.\n\nConstructors are still not supported and will be implemented in a\nfollow up change.\n\nAlso adds a new run-test that compiles from source using an alpha\nversion of Jack.\n\nTest: make test-art-host\nbug: 30550796\nChange-Id: I3212c032a5885854f691156c29f12613e5194667\n"
    },
    {
      "commit": "9abf894ad0e5a6a1594ee1fa3924965e25e5f86f",
      "tree": "5080bd832d4f2234897404195b5d9865f950f47c",
      "parents": [
        "6e5fa09510c7280168e040382d27dd8b55760d9a"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Oct 14 09:49:42 2016 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Oct 18 09:02:47 2016 -0700"
      },
      "message": "Enable last value generation of periodic sequence.\n\nRationale:\nThis helps to eliminate more dead induction. For example,\nCaffeineLogic when compiled with latest Jack improves with\na 1.3 speedup (2900us -\u003e 2200us) due to eliminating first\nloop (second loop can be removed also, but for a later\ncase). The currently benchmarks.dex has a different construct\nfor the periodics, however, still to be recognized.\n\nTest: test-art-host\nChange-Id: Ia81649a207a2b1f03ead0855436862ed4e4f45e0\n"
    },
    {
      "commit": "e087f1fe7f471242a6582eca77e2b72d2326ca09",
      "tree": "836edc000ca59ebe7203bfda07d36e1c1526e175",
      "parents": [
        "3da7190bae7c1d75edbc87f01343652c246639f2"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Oct 18 16:26:50 2016 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Oct 18 16:26:50 2016 +0100"
      },
      "message": "Release version 0.8 of ahat.\n\nTest: m ahat-test\nChange-Id: I964f86fc66f901bff7ddeda81dd42a6e658fda9d\n"
    },
    {
      "commit": "2427aae0fa7f067dc92991bb1e2d032a4368146d",
      "tree": "79f49a58efcf7e4ec68bd2c05375546876d0e3ea",
      "parents": [
        "8b862ffa7ea7374e48329ae090c68c06a8c885bb"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 17 18:05:19 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 18 08:21:23 2016 -0700"
      },
      "message": "ART: Fix and extend test 904\n\nFix using the wrong thread when unregistering. The inner thread\nshould not use Thread.currentThread (copy-n-paste mistake).\n\nAdd test for registering in OnLoad.\n\nAdd test for keeping registered on exit.\n\nBug: 31684277\nBug: 31684920\nTest: m test-art-host-run-test-904-object-allocation\nChange-Id: If0d5eeeb864684ab42eeaf62698d1e639f2071d6\n"
    },
    {
      "commit": "9248a8105c2361eda9ac0293d613cb025b72973d",
      "tree": "b5ff277ce80a60c8f8003ebc00f66a7e40e981bf",
      "parents": [
        "3da7190bae7c1d75edbc87f01343652c246639f2",
        "11a66e40891234c4e54fb4c4e37f45f1651af770"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 18 15:15:56 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 18 15:15:56 2016 +0000"
      },
      "message": "Merge changes I7061c450,Ie8f8f24b,Ia6cee2cb\n\n* changes:\n  ART: Do not free allocation listener in heap destructor\n  ART: Fix allocation entrypoint instrumentation\n  ART: Fix lock order issue in allocation tracking\n"
    },
    {
      "commit": "3da7190bae7c1d75edbc87f01343652c246639f2",
      "tree": "ded76e4b27698af197581354b1a24316a05d8918",
      "parents": [
        "3e2e2f1bfb01d9e0066fd737d2a94e1782ed8d2b",
        "e7adee75353520ce8c76ce56c73311df2c3fb813"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Oct 18 09:49:15 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 18 09:49:15 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Revert \"Temporarily blacklist 955-method-handles-smali.\"\"\"\""
    },
    {
      "commit": "3e2e2f1bfb01d9e0066fd737d2a94e1782ed8d2b",
      "tree": "d79fc7d8bbf116a8709b6bb6a755bf46cc9e771f",
      "parents": [
        "9fbeb7e4adc72bfcb5ccd42dd994f8a8be4a549f",
        "7fe56583220d813980f2241e0df13f5aa6627611"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Oct 18 09:23:04 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 18 09:23:04 2016 +0000"
      },
      "message": "Merge \"Fix handling of dex cache arrays for method types.\""
    },
    {
      "commit": "c93f71263555642006d28beb1e8f671309971655",
      "tree": "acad5da001fd2ada0a70e1aeee7c95fd4b3f4e4f",
      "parents": [
        "a3344e8349b6abf2d31d8b973627248706382970"
      ],
      "author": {
        "name": "tony.ys_liu",
        "email": "tony.ys_liu@htc.com",
        "time": "Mon Oct 17 11:18:09 2016 +0800"
      },
      "committer": {
        "name": "tony.ys_liu",
        "email": "tony.ys_liu@htc.com",
        "time": "Tue Oct 18 13:04:27 2016 +0800"
      },
      "message": "Update the Begin() of LargeObjectMapSpace\n\nRoot cause:\n  LargeObjectMapSpace\u0027s begin_ is initialized by nullptr.\n  so, it\u0027s always 0 after std::min\n\nSolution:\n  Consider the nullptr case when update begin_\n\nNotes:\n  Remove the nullptr check for end_ since it\u0027s not needed\n\nTest: make test-art-host-gtest-large_object_space_test\n\nChange-Id: I9918c30916e5d359f0ab23ec2bdb0fc9f093a85f\n"
    },
    {
      "commit": "a8e3b8622565089ff7eb86363a18214b9b2b7da8",
      "tree": "aa640ae2d155e28ba7a3acbbb9a4ab25d7e50450",
      "parents": [
        "c25dfeab1a66c942ae658fc7cd367f7c1ac502a1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 17 20:12:52 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 17 20:16:42 2016 -0700"
      },
      "message": "ART: Remove IRT cruft\n\nRemove dead code for initial vs maximum table size.\n\nBug: 32125344\nTest: m test-art-host\nChange-Id: Ie5806da7f5f3238483da918deca5982f01764466\n"
    },
    {
      "commit": "8b862ffa7ea7374e48329ae090c68c06a8c885bb",
      "tree": "521fe654c0ee0e336cb38c8b76fa1f675fcf9164",
      "parents": [
        "11a66e40891234c4e54fb4c4e37f45f1651af770"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 17 17:49:59 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 17 17:49:59 2016 -0700"
      },
      "message": "ART: Better handle multiple event enables\n\nOnly do extra work like allocation listener registration when the\nglobal state changes.\n\nBug: 31684920\nTest: m test-art-host\nChange-Id: Id927f2b504e02f2d68bc6e4af2658a6017920d8a\n"
    },
    {
      "commit": "11a66e40891234c4e54fb4c4e37f45f1651af770",
      "tree": "31edd3b36951fa3ea64cf3173f587e9bec91057d",
      "parents": [
        "157c77eb9a5d6a7fe6ebcc29afa7f1913a877c87"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 17 17:46:15 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 17 17:46:15 2016 -0700"
      },
      "message": "ART: Do not free allocation listener in heap destructor\n\nDo not deallocate on exit. Libraries are freed only after the heap\nhas already been destroyed.\n\nBug: 31684277\nBug: 31684920\nTest: m test-art-host\nChange-Id: I7061c4500a9ad314e2c00d7d722bb3372dff4810\n"
    },
    {
      "commit": "157c77eb9a5d6a7fe6ebcc29afa7f1913a877c87",
      "tree": "d7a95c703b50a21bb9f1e56b91e5b5f124e76548",
      "parents": [
        "c02685c18904d41424942c956258a527f7b20bb0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 17 17:44:41 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 17 17:44:41 2016 -0700"
      },
      "message": "ART: Fix allocation entrypoint instrumentation\n\nFix the unstarted-runtime case. Special-case the reset call to\nthe current thread, only.\n\nBug: 31684277\nTest: m test-art-host\nChange-Id: Ie8f8f24b2a6041344266a4e6b6bf8ddd9a0352a5\n"
    },
    {
      "commit": "c02685c18904d41424942c956258a527f7b20bb0",
      "tree": "e55c8b3b214ffbd9ccd0de2cf1e2eb2e9be3624a",
      "parents": [
        "38a4223fcc0493553d9ad324a1dc145869eb663a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 17 17:40:27 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 17 17:40:27 2016 -0700"
      },
      "message": "ART: Fix lock order issue in allocation tracking\n\n(Un)instrumenting requires the instrumenting lock, which must be\nacquired before the mutator lock. As the plugin can be called both\nwith and without the lock held, be careful. For simplicity, acquire\nthe lock (potentially) and immediately suspend.\n\nBug: 31684277\nTest: m test-art-host\nChange-Id: Ia6cee2cbe90f13f5543bdfea815d469b28a0f8f4\n"
    },
    {
      "commit": "bc5a795c0d486c84913d987cad5846ded840cea6",
      "tree": "90db29a97a21fa15f4cbc5ffbc1f6dd191add49c",
      "parents": [
        "38a4223fcc0493553d9ad324a1dc145869eb663a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 17 15:46:31 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 17 16:16:50 2016 -0700"
      },
      "message": "Move art/native to ObjPtr\n\nBug: 31113334\n\nTest: test-art-host\n\nChange-Id: I67eb89cf042c762c6dcd5eb8b008b9a28e9b3319\n"
    },
    {
      "commit": "9fbeb7e4adc72bfcb5ccd42dd994f8a8be4a549f",
      "tree": "42d78fbb00ed06caa5a9e21b12d5e4d32b1f3d43",
      "parents": [
        "27b88f3a2aaaa2dd3e03706d02590a07a96d8c30",
        "280a16224c2420b1d17ab0da2efbe800ec00a372"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 17 23:08:41 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 17 23:08:41 2016 +0000"
      },
      "message": "Merge \"event interface going private\""
    },
    {
      "commit": "27b88f3a2aaaa2dd3e03706d02590a07a96d8c30",
      "tree": "02f1e5917e9f740751c046c09036bec7be170ad9",
      "parents": [
        "72288c0cce9c4f1ac02dd56b39aab097b5d4bf11",
        "f57589fd40e5b69dad5aff060ccef756507f381a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 17 22:47:01 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 17 22:47:01 2016 +0000"
      },
      "message": "Merge \"Remove logging dependency on runtime\""
    },
    {
      "commit": "72288c0cce9c4f1ac02dd56b39aab097b5d4bf11",
      "tree": "fc04911f3c5383614d61dd080e8b15e612f8025e",
      "parents": [
        "38a4223fcc0493553d9ad324a1dc145869eb663a",
        "d6e0fa923dfe85c363408844b35e30ddcd65e199"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 17 21:56:12 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 17 21:56:12 2016 +0000"
      },
      "message": "Merge \"Fix invoke-virtual not throwing ICCE in some cases\""
    },
    {
      "commit": "280a16224c2420b1d17ab0da2efbe800ec00a372",
      "tree": "2cfe1d66d55c8d36909a60b87ddf28533f76da89",
      "parents": [
        "38a4223fcc0493553d9ad324a1dc145869eb663a"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Oct 17 14:11:20 2016 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Oct 17 14:13:31 2016 -0700"
      },
      "message": "event interface going private\n\nTest: compile\nBug: 30465923\nChange-Id: I704e0e6ae886207a9625fcb59be4876307d21e5f\n"
    },
    {
      "commit": "f57589fd40e5b69dad5aff060ccef756507f381a",
      "tree": "62d38e73660d9818b18c4741c6b3cce3306d63d5",
      "parents": [
        "c25dfeab1a66c942ae658fc7cd367f7c1ac502a1"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Oct 17 10:09:33 2016 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Oct 17 13:50:35 2016 -0700"
      },
      "message": "Remove logging dependency on runtime\n\nMoved the abort backtracing function to runtime, forcing callers to\nsupply the aborter at InitLogging.  This makes runtime properly layer\non top of logging by removing the cyclic dependency.\n\nBug: 22322814\nTest: test-art-host\nChange-Id: I8b2e72174e937bb88fe1bddd6d04b564cfb011a9\n"
    },
    {
      "commit": "38a4223fcc0493553d9ad324a1dc145869eb663a",
      "tree": "a55f0ae7b46175db7cd66844a614952ce4bd5ec5",
      "parents": [
        "c25dfeab1a66c942ae658fc7cd367f7c1ac502a1",
        "31e88225b2ef68e7f32f11186acf922c74ddabab"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 17 20:29:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 17 20:29:37 2016 +0000"
      },
      "message": "Merge \"Move most mirror:: args to ObjPtr\""
    },
    {
      "commit": "d6e0fa923dfe85c363408844b35e30ddcd65e199",
      "tree": "e26162731652d07bb40f2e20c196cdf7bd8c59e7",
      "parents": [
        "c25dfeab1a66c942ae658fc7cd367f7c1ac502a1"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 17 13:02:39 2016 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 17 13:10:17 2016 -0700"
      },
      "message": "Fix invoke-virtual not throwing ICCE in some cases\n\nDue to an oversight invoke-virtual on an interface method would\nnot cause an ICCE to be thrown if the target method is default. This\ncould potentially cause incorrect methods to be called at runtime.\n\nBug: 32201623\nTest: mma test-art-host-run-test-978-virtual-interface\nChange-Id: Ie565cf2fbe8602b17be0fb051e21d221a17b518f\n"
    },
    {
      "commit": "0a845200354f5dc3a3344c35823d2614cd5850ef",
      "tree": "1c0d779c5b90f58e7088773434cc35d7eff6ab39",
      "parents": [
        "c25dfeab1a66c942ae658fc7cd367f7c1ac502a1"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Fri Oct 14 16:26:08 2016 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Mon Oct 17 12:20:08 2016 -0700"
      },
      "message": "More store/allocation elimination for singletons in case of loops\n\nFor a store into a singleton\u0027s location, if it happens inside a loop, it\nmeans the singleton\u0027s location value may be killed by loop side effects.\nHowever if the singleton is defined inside that loop, that loop should\nbe skipped since its loop side effects kill values at loop header where\nthe singleton\u0027s location doesn\u0027t exist yet.\n\nTest: test-art-host\n\nBug: 31716107\nChange-Id: Iae2494ea93295977f90d1463ee136a7e2e09ba9b\n"
    },
    {
      "commit": "31e88225b2ef68e7f32f11186acf922c74ddabab",
      "tree": "ca50f60634854056bb652e7c375e5ccca2def5cd",
      "parents": [
        "602142692643d8cd2c48d9aaeece26470f702e3b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 14 18:43:19 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 17 11:36:39 2016 -0700"
      },
      "message": "Move most mirror:: args to ObjPtr\n\nFixed possible moving GC bugs in ClinitImageUpdate class.\n\nBug: 31113334\n\nTest: test-art-host\nChange-Id: I0bf6578553d58b944aaa17665f1350bdf5ed15ec\n"
    },
    {
      "commit": "c25dfeab1a66c942ae658fc7cd367f7c1ac502a1",
      "tree": "4151d67dc7ea0d02189eb7b320c2aeae8c6e681a",
      "parents": [
        "498e122d91b441c5d6a4c2572d492028772e2cb8",
        "b55cc6df451e7653baf6f49dce1f2a0c03ba4bc6"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 17 16:43:30 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 17 16:43:30 2016 +0000"
      },
      "message": "Merge \"Use FdFile::Copy() in dex2oat for better error checking.\""
    },
    {
      "commit": "e7adee75353520ce8c76ce56c73311df2c3fb813",
      "tree": "48b08974a13ece30092fd052d07a47d776cd6d86",
      "parents": [
        "7fe56583220d813980f2241e0df13f5aa6627611"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 17 16:13:46 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 17 16:32:53 2016 +0100"
      },
      "message": "Revert \"Revert \"Revert \"Temporarily blacklist 955-method-handles-smali.\"\"\"\n\nThis reverts commit 5665f6a561262b78d85afc975eca5a3138f4efa2.\n\nTest failures were fixed in d4fd5b1ec3bea01ad6985b7fe19a0f80b5fc970b.\n\nTest: make test-art-host.\n\nChange-Id: I45901836a92336ed1a337cdbf3fa9a0181c3d975\n"
    },
    {
      "commit": "7fe56583220d813980f2241e0df13f5aa6627611",
      "tree": "3d89b9a43c162cfd613e7538302115d9ca3d08d0",
      "parents": [
        "cfdff144f154df876987fefb340058a975c43381"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Oct 14 18:49:12 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 17 16:29:32 2016 +0100"
      },
      "message": "Fix handling of dex cache arrays for method types.\n\n- Add support for relocating method type dex cache arrays.\n- Add missing call to MethodTypeDexCachePair::Initialize in the\n  class_linker.\n- Fix alignment calculation for method_types in\n  DexCacheArraysLayout.\n- Removed unused MethodTypeOffset(uint32_t) method.\n\nFixes tests with --pic.\n\nTest: make test-art-host\nBug: 30550796\n\nChange-Id: I2bba7228762b9e9834e7659fe62090be78afdfa8\n"
    },
    {
      "commit": "498e122d91b441c5d6a4c2572d492028772e2cb8",
      "tree": "3a6b55fe477125b935d103712e7c970ff81158e0",
      "parents": [
        "174d17b2f70f009d5fa349bb94b1703297c36ec4",
        "f5b0f2cef8554efaa90adc6a1ae04c2b533970ed"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 17 15:18:09 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 17 15:18:09 2016 +0000"
      },
      "message": "Merge \"Ensure OpenDexFilesFromImage closes file to prevent file descriptor leak\""
    },
    {
      "commit": "174d17b2f70f009d5fa349bb94b1703297c36ec4",
      "tree": "a73a00338e48376a0d68da19b3075eadfc5c109d",
      "parents": [
        "8c0fee9ca38ea1b4ee6a8ab72c5f9c0ba924761f",
        "82f3a20b1f51b17b432d5164d5109abeb1b5a947"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 17 15:08:21 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 17 15:08:21 2016 +0000"
      },
      "message": "Merge \"Add DCHECK() for class loader in artResolveStringFromCode().\""
    }
  ],
  "next": "b55cc6df451e7653baf6f49dce1f2a0c03ba4bc6"
}
