)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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().\""
    },
    {
      "commit": "8c0fee9ca38ea1b4ee6a8ab72c5f9c0ba924761f",
      "tree": "523144558243e6b810d4f7da192d44628b8e3681",
      "parents": [
        "a3344e8349b6abf2d31d8b973627248706382970",
        "1a1de67c4923436eb7de7da334c6d77703375dbd"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 17 12:27:55 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 17 12:27:55 2016 +0000"
      },
      "message": "Merge \"Do not write empty class table and intern table to image.\""
    },
    {
      "commit": "06a421d7d2e5506e11aaf24ed6828320ba803987",
      "tree": "9a7f4aefc2561df3086d4c05f8366632575b2d1b",
      "parents": [
        "602142692643d8cd2c48d9aaeece26470f702e3b",
        "d2d0353de9e5c10f2a4a9ff2102d2b777c134a37"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Oct 15 02:02:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 15 02:02:38 2016 +0000"
      },
      "message": "Merge changes If95ecaf4,Ifb33cae2\n\n* changes:\n  ART: Temporarily use global references for GetLoadedClasses\n  ART: Add GetLoadedClasses support\n"
    },
    {
      "commit": "602142692643d8cd2c48d9aaeece26470f702e3b",
      "tree": "9320b8cdcf660175814aef77900fb7947e2a2def",
      "parents": [
        "f4342437759c047045fcce6751ea8f02d91c4d8d",
        "05a364c8d8271ceeca307d04736f53e92d03de9d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Oct 15 01:08:46 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 15 01:08:46 2016 +0000"
      },
      "message": "Merge \"ART: Make JNI global and weak global locks global\""
    },
    {
      "commit": "f5b0f2cef8554efaa90adc6a1ae04c2b533970ed",
      "tree": "431874a41548ba5d18598a5b1b520de042e012a9",
      "parents": [
        "4c91f05a9ad59759760fb8c1543684dfdb9ab7dc"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Oct 14 01:04:26 2016 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Oct 14 16:52:42 2016 -0700"
      },
      "message": "Ensure OpenDexFilesFromImage closes file to prevent file descriptor leak\n\n(cherry picked from commit 645e477c2ce7a59ac98bc86463826cf082a13ad8)\n\nTest: m -j32 test-art-host\nBug: 32095919\nChange-Id: I44541edeb403a508e1b9794ee09fb1f55e3f42bf\n"
    },
    {
      "commit": "f4342437759c047045fcce6751ea8f02d91c4d8d",
      "tree": "000390092f466c5ddc9fac9f33a202c945753f20",
      "parents": [
        "3cf26cfd67fc02fcda4f3683f6b1f852aa78eca4",
        "5d3f73aef1b778d81ba101ece41935adee259cf2"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 14 23:40:46 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 14 23:40:46 2016 +0000"
      },
      "message": "Merge \"Move reference processor and mirror::Reference to ObjPtr\""
    },
    {
      "commit": "d2d0353de9e5c10f2a4a9ff2102d2b777c134a37",
      "tree": "095718db1506fa4e105636fd7a983de28cb9cdb8",
      "parents": [
        "aa8b60c23a2229159cbd5fde831de8d6d57e50d3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 14 13:30:56 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 14 14:49:35 2016 -0700"
      },
      "message": "ART: Temporarily use global references for GetLoadedClasses\n\nUntil we have enough local references, use global references.\n\nBug: 31684578\nBug: 32125344\nTest: m test-art-host\nChange-Id: If95ecaf424cfc7e8a84c7f99b071ac5d6bfb7797\n"
    },
    {
      "commit": "aa8b60c23a2229159cbd5fde831de8d6d57e50d3",
      "tree": "2ff66bc789f323ea619d2e5ddc054cea3dfe87de",
      "parents": [
        "05a364c8d8271ceeca307d04736f53e92d03de9d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 12 12:51:25 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 14 14:49:35 2016 -0700"
      },
      "message": "ART: Add GetLoadedClasses support\n\nAdd support to retrieve all loaded classes. Use the standard\nClassLoader callback infrastructure.\n\nBug: 31684578\nTest: m test-art-host-run-test-907-get-loaded-classes\nChange-Id: Ifb33cae27dc32602bcd8fd930d3c7eda02598c26\n"
    },
    {
      "commit": "05a364c8d8271ceeca307d04736f53e92d03de9d",
      "tree": "70e166900c99564c0ab3596ef3c8d5d85f14e767",
      "parents": [
        "4aed412037e6e7bad2cf589645449df960b88200"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 14 13:27:12 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 14 14:48:26 2016 -0700"
      },
      "message": "ART: Make JNI global and weak global locks global\n\nAdd them to Locks. Give the JNI global table lock\na lock level, close to the weak global JNI references.\n\nBug: 31684578\nTest: m test-art-host\nChange-Id: I3857a3b0be69b16811d9999096b2c42e7a25d227\n"
    },
    {
      "commit": "5d3f73aef1b778d81ba101ece41935adee259cf2",
      "tree": "fec0c2fdbb88df0a366e29b6470d1274aa6e2ec1",
      "parents": [
        "cfdff144f154df876987fefb340058a975c43381"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 14 14:28:47 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 14 14:38:43 2016 -0700"
      },
      "message": "Move reference processor and mirror::Reference to ObjPtr\n\nBug: 31113334\n\nTest: test-art-host\n\nChange-Id: I2c7c3dfd88ebf12a0de271436f8a7781f997e061\n"
    },
    {
      "commit": "043eb9a4496cacaffe60f381c5686c989cb5d701",
      "tree": "42f89fbff75828cc962992000fa6f018fb46caa4",
      "parents": [
        "cfdff144f154df876987fefb340058a975c43381"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Oct 14 11:21:38 2016 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Oct 14 13:04:25 2016 -0700"
      },
      "message": "Add a mark bit check in the read barrier jni entrypoint.\n\nBug: 30437917\nBug: 12687968\nTest: test-art host/N9, N9 libartd boot, Ritz EAAC.\nChange-Id: Ic5f8080959f243e80f00da73ba5f4b91a8d8b617\n"
    },
    {
      "commit": "cfdff144f154df876987fefb340058a975c43381",
      "tree": "b411423c3a252315fba531d80d4ddbb0780c80c1",
      "parents": [
        "4aed412037e6e7bad2cf589645449df960b88200",
        "1a5337fff2cc6cb9d563c8b32aca75f485d23373"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 14 16:54:05 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 14 16:54:05 2016 +0000"
      },
      "message": "Merge \"Move mirror::ObjectArray to ObjPtr\""
    },
    {
      "commit": "82f3a20b1f51b17b432d5164d5109abeb1b5a947",
      "tree": "9abd1c854225b419d4bf7c1f5e75edd74a6970be",
      "parents": [
        "4aed412037e6e7bad2cf589645449df960b88200"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 14 16:28:52 2016 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 14 16:28:52 2016 +0100"
      },
      "message": "Add DCHECK() for class loader in artResolveStringFromCode().\n\nAddress late comment from\n    https://android-review.googlesource.com/281642\n\nTest: m test-art-host\nBug: 20323084\nBug: 30627598\nChange-Id: I3ba2617d2bc52ac8ba11307d206e6f5e6c017fb7\n"
    },
    {
      "commit": "1a1de67c4923436eb7de7da334c6d77703375dbd",
      "tree": "bf82b30cddfeaa822e14a63c0ad9fedd3886958d",
      "parents": [
        "6e5fa09510c7280168e040382d27dd8b55760d9a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 13 12:53:15 2016 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 14 11:25:28 2016 +0100"
      },
      "message": "Do not write empty class table and intern table to image.\n\nAnd remove dead ClassLinker and InternTable code that would\nbe erroneously triggered by not writing the tables.\n\nTest: m test-art-host\nChange-Id: I2520daa8d1231e16112d44e364a72d782fa32527\n"
    },
    {
      "commit": "a3031162de5ddb6842e352bef6cf97c1967cd9f4",
      "tree": "221ecb53b71364be6fbe4236970f268c74f71969",
      "parents": [
        "a497095b67c4ba2969d0b2a13f6959125c89d2bc",
        "208f857edf8361ddc4e85d82699935998e7179ac"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 14 10:19:58 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 14 10:19:58 2016 +0000"
      },
      "message": "Merge \"interpreter: support for non-exact invokes.\""
    },
    {
      "commit": "208f857edf8361ddc4e85d82699935998e7179ac",
      "tree": "5a4390b34132b6b77fac45a81f31a8191235fdfe",
      "parents": [
        "ac4804fb365fc05552419162cbd8a6b8c77fec4f"
      ],
      "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": "Fri Oct 14 09:39:33 2016 +0100"
      },
      "message": "interpreter: support for non-exact invokes.\n\nPerforms primitive argument conversions as well as boxing and unboxing\noperations. Support for return value conversions will be added in a\nfollow up change.\n\nTest: make test-art-host\n\nChange-Id: I2e3348ff64a5826e477f87c12a7d5c390eb3a653\n"
    },
    {
      "commit": "1a5337fff2cc6cb9d563c8b32aca75f485d23373",
      "tree": "03616e90a91c5c4c1bd7ff03c3d193c3b24bf0db",
      "parents": [
        "c8b722b3cebff245d614e95d1849de45ef7bdf06"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 13 13:48:23 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 13 17:37:56 2016 -0700"
      },
      "message": "Move mirror::ObjectArray to ObjPtr\n\nAlso reduce calls to ObjPtr::Ptr.\n\nBug: 31113334\n\nTest: test-art-host -j32\n\nChange-Id: I73e1b356972bb079b66332f00f7f07451601044e\n"
    },
    {
      "commit": "c8b722b3cebff245d614e95d1849de45ef7bdf06",
      "tree": "7b7058dfe554d98d8fbf51221c47752845e2b49d",
      "parents": [
        "968c14bd6f62897ca8a0d61b5942c6fe961664de",
        "ae7ff92c430aa12484ff8258ee4ed13421ac7934"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 14 00:37:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 14 00:37:38 2016 +0000"
      },
      "message": "Merge \"jni: Add read barrier fast path to jni compiler\""
    },
    {
      "commit": "6b3d12b3d233734bb6669faccddcba7abeb5ea99",
      "tree": "ce2f3a3188b94e70c880590bf4f99a899ada9119",
      "parents": [
        "b18bfac8e95ffdc6ef20d2602d2e7003021815b6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 13 13:59:58 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 13 14:56:51 2016 -0700"
      },
      "message": "Move common throws to ObjPtr\n\nAlso a few other throws. Removed some calls to ObjPtr::Ptr.\n\nTest: test-art-host\n\nBug: 31113334\n\nChange-Id: I4082d64134a5a8961489f4309522c28a30968a18\n"
    },
    {
      "commit": "28bd2e4f151267b34b8e1eb19c489d8d547bbf5c",
      "tree": "d99ae3fe74ea63b83091898d830d3efe68cd479d",
      "parents": [
        "6e5fa09510c7280168e040382d27dd8b55760d9a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 04 13:54:57 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 13 10:59:28 2016 -0700"
      },
      "message": "Move mirror::Class to use ObjPtr\n\nLeave the return types as non ObjPtr for now. Fixed moving GC bugs\nin tests.\n\nTest: test-art-host\n\nBug: 31113334\n\nChange-Id: I5da1b5ac55dfbc5cc97a64be2c870ba9f512d9b0\n"
    },
    {
      "commit": "ae7ff92c430aa12484ff8258ee4ed13421ac7934",
      "tree": "32774f5b3b0f96b921145a4af62dce182882fb7c",
      "parents": [
        "6e5fa09510c7280168e040382d27dd8b55760d9a"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Oct 06 14:59:19 2016 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Oct 13 17:26:37 2016 +0000"
      },
      "message": "jni: Add read barrier fast path to jni compiler\n\nStatic method dispatch via JNI requires a read barrier\nfor the ArtMethod::GetDeclaringClass() load before adding it to the\nJNI StackHandleScope.\n\nWe used to call ReadBarrierJni unconditionally but add a branch\nto skip calling it if the GC is not currently in the marking phase.\n\nTest: ART_USE_READ_BARRIER\u003dtrue make test-art-host test-art-target\nBug: 30437917\nChange-Id: I4f505ebde17c0a67209c7bb51b3f39e37a06373a\n"
    },
    {
      "commit": "2d8559517759dcfac749a28d6713d36809ec556f",
      "tree": "5fb2530b8c7f181dfc073430926bc02c4217db9a",
      "parents": [
        "000432d9a4f828ed6736d2003a5d78de5484a384"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 12 19:37:59 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 12 20:34:22 2016 -0700"
      },
      "message": "Move Heap::GetInstances to use Handles\n\nPrevent moving GC bugs from VisitObjects. Fix JDWP tests.\n\nTest: art/tools/run-jdwp-tests.sh \u0027--mode\u003dhost\u0027 \u0027--variant\u003dX32\u0027 --debug\n\nBug: 31113334\nChange-Id: Ie7f51f1980ec0c1eddc3b59c3e49564eacb3be85\n"
    },
    {
      "commit": "aea9bfb051bb197fdfb63d56ff0f3d63b36eb499",
      "tree": "d43263caa4e04ac524297421329a68ef8dd78c65",
      "parents": [
        "a9daa3a26900cd0f0f9ee7dab72980fc990adda6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 12 19:19:56 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 12 19:21:40 2016 -0700"
      },
      "message": "Use handles for GetReferringObjects\n\nRequired since VisitObjects may cause thread suspension. Fixes\nfailing jdwp tests.\n\nTest: test-art-host\nTest: art/tools/run-jdwp-tests.sh \u0027--mode\u003dhost\u0027 \u0027--variant\u003dX32\u0027 --debug\n\nBug: 31113334\nChange-Id: Ic11780b3778c83e7812bc90c0723a293537f376c\n"
    },
    {
      "commit": "a9daa3a26900cd0f0f9ee7dab72980fc990adda6",
      "tree": "a3e268848716edcf92d34cd1f19470fe7bb499f3",
      "parents": [
        "834a448aa91a44c9076d3f7dc92b45f550d96285",
        "51eaa7f5547f9ddea92ce57c6c2df9534d5017b8"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 13 01:31:19 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 13 01:31:19 2016 +0000"
      },
      "message": "Merge \"Fix moving GC bug in cloning finalizable objects\""
    },
    {
      "commit": "51eaa7f5547f9ddea92ce57c6c2df9534d5017b8",
      "tree": "43456ed702c2ee5fe6ca1cbf7e9e53b2a4088109",
      "parents": [
        "c2f1fc70dba4db8751248c4ad15315946f6d13d0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 12 16:08:35 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 12 17:07:04 2016 -0700"
      },
      "message": "Fix moving GC bug in cloning finalizable objects\n\nIt is not safe to have thread suspension in the PreFenceVisitor. The fix is\nto add the finalizer reference in the caller.\n\nTest: art/tools/run-libcore-tests.sh \u0027--mode\u003dhost\u0027 \u0027--variant\u003dX32\u0027 --debug\n\nBug: 31113334\n\nChange-Id: I1e4650f8b75408a3d07e2c51ac334ff98552cfb5\n"
    },
    {
      "commit": "480ddd6f589047376dd90fa4bc49cce256d43aef",
      "tree": "062ce1ad412c5f0abb119ce8875ff91fb1fccc2a",
      "parents": [
        "c2f1fc70dba4db8751248c4ad15315946f6d13d0",
        "e8a3c576301fd531d5f73a65fc8b84a63619d580"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 12 23:47:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 12 23:47:10 2016 +0000"
      },
      "message": "Merge \"Replace StackHandleScopeCollection with VariableSizedHandleScope\""
    },
    {
      "commit": "c2f1fc70dba4db8751248c4ad15315946f6d13d0",
      "tree": "85408d88bc1cf0785f6d6f92a990958f94fb0338",
      "parents": [
        "023161ec66746da03daf9de584569b453ff45689",
        "a7118041322c99e5c951a8ec5dcedb7b1a96ba19"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 12 23:00:51 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 12 23:00:52 2016 +0000"
      },
      "message": "Merge \"Add handle wrapper to allocation listener\""
    },
    {
      "commit": "a7118041322c99e5c951a8ec5dcedb7b1a96ba19",
      "tree": "00b112d3a63c056adf3a87b2d801d1974dd8e2bd",
      "parents": [
        "3d9f2834ba7be001e49f51637b91fd4667b036e1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 12 15:45:58 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 12 15:46:29 2016 -0700"
      },
      "message": "Add handle wrapper to allocation listener\n\nFix failing test for interpreter.\n\nTest: mm -j32 test-art-host-run-test-debug-prebuild-interpreter-relocate-trace-cms-checkjni-picimage-npictest-ndebuggable-904-object-allocation32  ART_TEST_TRACE\u003dtrue ART_TEST_OPTIMIZING\u003dfalse ART_TEST_INTERPRETER\u003dtrue\n\nChange-Id: I9e7e09db82cf13730dc2471ac05260bf6a69ab7c\n"
    },
    {
      "commit": "172ec8e37505727a1c514f5f5981bd1b3dbe44f3",
      "tree": "ca4d2aa8651a019cac837ee96cc5667628400a2f",
      "parents": [
        "3d9f2834ba7be001e49f51637b91fd4667b036e1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 12 13:50:20 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 12 13:50:20 2016 -0700"
      },
      "message": "ART: Fix typo\n\nFollow-up to commit 27fa96c285c4aa2f64e9bb63a3f38ffdc98c282a.\n\nBug: 31684277\nTest: m test-art-host\nChange-Id: I165b350f6c1a216ed6a7ca648abd6004c662c1cb\n"
    },
    {
      "commit": "3d9f2834ba7be001e49f51637b91fd4667b036e1",
      "tree": "321bd4842351e874c549404b74cd6b2573afaf58",
      "parents": [
        "dbeceb34094a4a94a23916c53e1f83445276ef42",
        "3b1d1b7727ed9166c4ee7d0f66dec56d511bac83"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 12 20:42:56 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 12 20:42:57 2016 +0000"
      },
      "message": "Merge \"Fix the CC monkey crashes.\""
    },
    {
      "commit": "e8a3c576301fd531d5f73a65fc8b84a63619d580",
      "tree": "a00e488f153505ee890c28873308d373e6ab231b",
      "parents": [
        "e8317d90c61dde07c12e404a2bc1fabf584905c1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 11 16:52:17 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 12 13:30:54 2016 -0700"
      },
      "message": "Replace StackHandleScopeCollection with VariableSizedHandleScope\n\nVariableSizedHandleScope\u0027s internal handle scopes are not pushed\ndirectly on the thread. This means that it is safe to intermix with\nother types of handle scopes.\n\nAdded test.\n\nTest: clean-oat-host \u0026\u0026 test-art-host\n\nChange-Id: Id2fd1155788428f394d49615d337d9134824c8f0\n"
    },
    {
      "commit": "e8317d90c61dde07c12e404a2bc1fabf584905c1",
      "tree": "4681c6dcc7cd432e797d69ba94b157105778de0e",
      "parents": [
        "33625ed00f1ba234262cde4edd2c1f569853f4ef",
        "e54d992ee75c0924c9a8d4e2f77dacf44c8c651b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 12 19:48:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 12 19:48:18 2016 +0000"
      },
      "message": "Merge \"ART: Add heap iteration callback\""
    },
    {
      "commit": "3b1d1b7727ed9166c4ee7d0f66dec56d511bac83",
      "tree": "cb06c908eb1e85254d2c6572ce1e58e830939eca",
      "parents": [
        "f0ab2ec6008bbd495e59bb9bf81ac399d864f38b"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Oct 12 11:53:57 2016 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Oct 12 12:02:38 2016 -0700"
      },
      "message": "Fix the CC monkey crashes.\n\nAdd ScopedGCCriticalSection around the monitor deflation to avoid race\nconditions on the lock word.\n\nBug: 31773180\nBug: 31712602\nBug: 31712174\nBug: 31712601\nBug: 31712256\nBug: 31710993\nBug: 12687968\nTest: test-art host/N9, N9 libartd boot, Ritz EAAC.\nChange-Id: Id05c6502fb08ca2e0770af4940b737038c3412d6\n"
    },
    {
      "commit": "e54d992ee75c0924c9a8d4e2f77dacf44c8c651b",
      "tree": "b3bbf220dcd67c5496110a7096d9349b184411f6",
      "parents": [
        "f0ab2ec6008bbd495e59bb9bf81ac399d864f38b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 11 19:55:37 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 12 11:22:38 2016 -0700"
      },
      "message": "ART: Add heap iteration callback\n\nAdd callback support for heap iteration. Visiting of fields will\nbe done in a follow-up.\n\nAdd a test.\n\nBug: 31385354\nTest: m test-art-host-run-test-906-iterate-heap\nTest: m ART_TEST_GC_STRESS\u003dtrue ART_TEST_GC_VERIFY\u003dtrue test-art-host-run-test-906-iterate-heap\nChange-Id: I7bcf6751e6df4ef58756ba97701050b2ff5eb07b\n"
    },
    {
      "commit": "9d156d500801accee919b6d51e22d6ddcdcd4a05",
      "tree": "92129562c0ba1673c660297f26444a4a2ad31459",
      "parents": [
        "078483d4dfd049d5b3f192a99e2dfdc355e4754f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 06 17:44:26 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 12 09:49:49 2016 -0700"
      },
      "message": "Move Heap parameters to ObjPtr\n\nDeleted some unused object dumping code.\n\nTest: test-art-host\n\nBug: 31113334\n\nChange-Id: I747220caafe6679591fd4b361d7f50383a046164\n"
    },
    {
      "commit": "078483d4dfd049d5b3f192a99e2dfdc355e4754f",
      "tree": "9c209c72954436e259445d265229fcb852950cc3",
      "parents": [
        "e2ced0db78b89b778cd1c9ef4ace5dec7dbc66b0",
        "ef2953643e54ea6208fc37df010adf5a9d43faaf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 12 15:47:44 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 12 15:47:44 2016 +0000"
      },
      "message": "Merge \"ART: Use cerr for host unexpected errors\""
    },
    {
      "commit": "ef2953643e54ea6208fc37df010adf5a9d43faaf",
      "tree": "243069a0226983dc32451aecf21dec57871032d1",
      "parents": [
        "91d1b61db7f83c7b8119a0327fbe2f3c0b6a17db"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 11 20:04:11 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 11 20:04:11 2016 -0700"
      },
      "message": "ART: Use cerr for host unexpected errors\n\nUse cerr and endl when dumping unexpected signals on Linux. This\nsimulates the previous special-casing of INTERNAL_FATAL to\nimmediately print output.\n\nBug: 31338270\nTest: m test-art-host\nTest: manual segfault\nChange-Id: I9d4471836339bf69681cc4aa43df6d558e7f123d\n"
    },
    {
      "commit": "cc13b2226bcfb41e917f99ae5aeab79f25ed052e",
      "tree": "335dea9a3392bd971d14c1f9f38e482d45b836a1",
      "parents": [
        "c1f24b947a4dfe76064db3ae5470a388a67650a8"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 10 19:09:09 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 11 14:03:54 2016 -0700"
      },
      "message": "ART: Add object reclaim support\n\nAdd support for the object free callback.\n\nRefactor code in support. Add test.\n\nBug: 31384923\nTest: m test-art-host\nTest: m test-art-host-run-test-905-object-free\nTest: m ART_USE_READ_BARRIER\u003dtrue test-art-host-run-test-905-object-free\nChange-Id: Icde40ad464c723cfe2f7660c07cd2f79b6dc2032\n"
    },
    {
      "commit": "91d1b61db7f83c7b8119a0327fbe2f3c0b6a17db",
      "tree": "15192434fe6d3350a0e6826e359fb3565c430fa0",
      "parents": [
        "6136dc68412ca3e0d2c87f5d5529da3498f12d68",
        "1506bf332232907016fe3fcb3956c9d4b064b482"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 11 13:20:48 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 11 13:20:48 2016 +0000"
      },
      "message": "Merge \"Add missing cases in quick_trampoline_entrypoints_test for MIPS64\""
    },
    {
      "commit": "bf9e54363699fe7f8825632c30a613e260446d4c",
      "tree": "b26e0af71a8832d6242625b257d0be09926ea237",
      "parents": [
        "f24ddb28ebcdea766cdee155f0b21e8aa2d01758",
        "fec13d4f4e8ad8cc5186696945b9498e1b53b1c9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 11 00:59:03 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 11 00:59:03 2016 +0000"
      },
      "message": "Merge \"Use art::Atomic for CopyObject\""
    },
    {
      "commit": "f24ddb28ebcdea766cdee155f0b21e8aa2d01758",
      "tree": "3e9bcb619b7d7f3c7c85a24e2024ec570b66faf6",
      "parents": [
        "a6bfd5f8e535d4015064ca77a9e78487bbf16447",
        "27fa96c285c4aa2f64e9bb63a3f38ffdc98c282a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 11 00:43:31 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 11 00:43:31 2016 +0000"
      },
      "message": "Merge \"ART: Add allocation callback\""
    },
    {
      "commit": "a6bfd5f8e535d4015064ca77a9e78487bbf16447",
      "tree": "5ad1ddbf7ccd719ae358828b0c6d4261911ccc41",
      "parents": [
        "f95054f48909d137e620c497189ca810d11e1b64",
        "a1ff30fcb3c23b855872ef83b87e6ee19f03cb8e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 10 23:39:05 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 10 23:39:05 2016 +0000"
      },
      "message": "Merge \"ART: Switch to name-based IMT hashing\""
    },
    {
      "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": "ed63aad1a7ba85416fec2e7095ba9c4563aa6086",
      "tree": "970bf5c632bc62e9eb2a2fc7c668c087944bf260",
      "parents": [
        "4404fb30fa0c5f9d4acfc358e2818b278317fcc0",
        "77708d9149b0a00247eb69ea4d5386cae4e40287"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 10 20:37:52 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 10 20:37:53 2016 +0000"
      },
      "message": "Merge \"ART: Add event callback support\""
    },
    {
      "commit": "27fa96c285c4aa2f64e9bb63a3f38ffdc98c282a",
      "tree": "bece47e22bf5b8a212da88019dfed5eee01f7b88",
      "parents": [
        "77708d9149b0a00247eb69ea4d5386cae4e40287"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 07 15:05:24 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 10 13:27:45 2016 -0700"
      },
      "message": "ART: Add allocation callback\n\nBug: 31684277\nTest: m test-art-host\nChange-Id: I959f44e23ca5fe55ed678315708895faf0aadb04\n"
    },
    {
      "commit": "4404fb30fa0c5f9d4acfc358e2818b278317fcc0",
      "tree": "7e1da0abfa40c3d18aea5c129138db776a1916be",
      "parents": [
        "5065b09332328477d489b8ce26c3a1381e6f8d49",
        "8a2871418e84595029058581104700dd43c313e1"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Oct 10 20:27:34 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 10 20:27:35 2016 +0000"
      },
      "message": "Merge \"mterp: Placeholder support for invoke-polymorphic\""
    },
    {
      "commit": "fec13d4f4e8ad8cc5186696945b9498e1b53b1c9",
      "tree": "bfb5c1fa6c188fe6e556e41be239a6db126af7f6",
      "parents": [
        "f361a29848d3b88a3074e4ca25be62d77dab6a75"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 07 12:59:33 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 10 13:13:46 2016 -0700"
      },
      "message": "Use art::Atomic for CopyObject\n\nJust to be sure it doesn\u0027t get turned into memcpy.\n\nAlso avoid casting ObjectArray to IntArray. This is a strict aliasing\nviolation.\n\nBug: 32012820\n\nTest: test-art-host\n\nChange-Id: Icc5d4a758cb4f4e1686389bb0cb74ac08e554f04\n"
    },
    {
      "commit": "1506bf332232907016fe3fcb3956c9d4b064b482",
      "tree": "f8a5c83a5c0ae627f8469b18743aa18d47719f54",
      "parents": [
        "5065b09332328477d489b8ce26c3a1381e6f8d49"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Mon Oct 10 19:12:09 2016 +0200"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Mon Oct 10 19:15:56 2016 +0200"
      },
      "message": "Add missing cases in quick_trampoline_entrypoints_test for MIPS64\n\nTest: mma test-art-target-gtest-quick_trampoline_entrypoints_test\nChange-Id: I4596d47f7219b375a60d6b9d80f797d1f01facd7\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": "77708d9149b0a00247eb69ea4d5386cae4e40287",
      "tree": "ecf0d37657ba2479c797401e7abd9ac4fed35bbb",
      "parents": [
        "f361a29848d3b88a3074e4ca25be62d77dab6a75"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 07 11:48:21 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Oct 08 15:45:02 2016 -0700"
      },
      "message": "ART: Add event callback support\n\nAdd basic event callback support infrastructure. Actual users will\nfollow.\n\nBug: 31684920\nTest: m test-art-host\nChange-Id: Ic496933ef3a94f9d27a2779b7f4fdc5b096eab22\n"
    },
    {
      "commit": "8a2871418e84595029058581104700dd43c313e1",
      "tree": "87572ad71b73f5c5aebb9f57e3390a4a9f085d22",
      "parents": [
        "0d7398fd5407938aba75c50bd323af27e83ccb9f"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Oct 07 12:56:32 2016 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Oct 07 13:24:20 2016 -0700"
      },
      "message": "mterp: Placeholder support for invoke-polymorphic\n\nForce the mterp assembly interpreters to fall back to the\nreference switch interpreter for invoke-polymorphic and\ninvoke-polymorphic-range while those new opcodes are under\ndevelopment.\n\nTest: test-art-host\n\nChange-Id: I6167432164bd869c91d0804521d5edc9549f622e\n"
    },
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    }
  ],
  "next": "7638651be29f117ef651841fbb9ffda76921ae1b"
}
