)]}'
{
  "log": [
    {
      "commit": "d1cc8363d4f4bbac7568b1d02a5ca481cd10830f",
      "tree": "df0c401ed6d5e4e9153268c3f336ead459a84cfc",
      "parents": [
        "4ffd31315bc0d00ec278e85feed15985de5ac3dc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 24 16:58:50 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 24 16:58:50 2011 -0700"
      },
      "message": "Wire up enough of the pieces that we can connect ddms or jdb.\n\n(And die with an UNIMPLEMENTED as soon as they connect, of course.)\n\nChange-Id: I9abb25d581384361c215b3cd96b8278c751e79ea\n"
    },
    {
      "commit": "4ffd31315bc0d00ec278e85feed15985de5ac3dc",
      "tree": "9008b944618f4d422cb050d7d1c5aeb74fb39dd9",
      "parents": [
        "d81871cbbaa34c649e488f94f61a981db33123e5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 24 12:06:42 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 24 12:06:42 2011 -0700"
      },
      "message": "Implement the zygote debug options (late-enabling -Xcheck:jni and so on).\n\nChange-Id: I03772e7fb95fce1a19dac13f6c5f870164a4d874\n"
    },
    {
      "commit": "d81871cbbaa34c649e488f94f61a981db33123e5",
      "tree": "a3adf3b7469fee507a4d4c4491942fbd48b4483d",
      "parents": [
        "262bf46ddc91e5b4fbd367127ff21a1877d939f2"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Oct 03 13:57:23 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Oct 24 11:56:15 2011 -0700"
      },
      "message": "Verifier clean up.\n\nThis is the first part in trying to move to a more rigorous mode of\nasserting the validity of garbage collection maps.\nIn the bring over of the verifier from Dalvik a large class had been\ncreated where all of the Dalvik/Dex functions were static methods of\nthat class. This rewrite introduces 3 key classes, Verifier that\norchestrates the verification of a method, RegisterLine which describes\nthe types associated with registers for a particular PC and RegType\nwhich describes the current type of a register within a line. The\nfunctionality is brought over from Dalvik but cleaned up to not do\nthings like goto. Failing within the verifier is also cleaned up. By\nvirtue of having stateful objects the interfaces between different\naspects of the verifier are greatly simplified.\nTo save space, RegTypes are cached upto a maximum possible 2^16, and\ngiven an Id. As the number of RegTypes is typically small this means\nthat we have a full OO implementation but at a lower space cost than the\ncurrent convention that uses botched together enum values requiring\n32bits of storage in a RegisterLine rather than 16bits (ie half the\nspace requirement per register in a register line). To make use of\nthis space more rigorous monitor verification is brought back, and\nultimately I think we can work around bug 3215458 with richer RegTypes\nthat are aware of literal objects.\nThe code removes short cuts that had been added to Dalvik\u0027s verifier and\nappear illegitimate, it also fixes a large number of bugs in the\ndescription of the verifier.\nWhere possible the spaghetti of code is replaced with straight line\nif-then-elsif.. code that clearly follows the ordering semantics of the\nspecification. The code is also aiming toward having a more type\nrigorous description of the verification process, and when this isn\u0027t\npossible following the description convention of the specification.\n\nChange-Id: Id25b742018a2ad5ea95687973cca610d7e19513c\n"
    },
    {
      "commit": "262bf46ddc91e5b4fbd367127ff21a1877d939f2",
      "tree": "a8c775ccabe058392fb008bc523605e34ed01bdb",
      "parents": [
        "ecbce8f17a80ddc8e5d80b075a8e334f1c2daf3c"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Oct 20 18:36:32 2011 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Oct 24 11:23:14 2011 -0700"
      },
      "message": "dex2oat invoked by system if it can\u0027t find an oat file for a dex file.\n\nThis allows the old dalvik tests to be run without ever explicitly\nrunning dex2oat on anything. Just upload the jar files and the system\nwill take care of generating the files it needs.\n\nChange-Id: Iad553bf6f57e28da4edb8eb0df47e62e08a0be44\n"
    },
    {
      "commit": "ecbce8f17a80ddc8e5d80b075a8e334f1c2daf3c",
      "tree": "477e70768a1fcf82c2e17bf3bc89865ddf8dbdb0",
      "parents": [
        "3bb81563481d02b5a6349b8ed918392454e761d8"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Oct 21 19:57:36 2011 -0400"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Mon Oct 24 12:58:46 2011 -0400"
      },
      "message": "Give proxy all of the return types. Part 2.\n\nChange-Id: I953144290307f46824642837530ac4deeb6a78b2\n"
    },
    {
      "commit": "3bb81563481d02b5a6349b8ed918392454e761d8",
      "tree": "d409347516f215acba0ac7090a44e0b536cba100",
      "parents": [
        "4514d3c0e69a49f5dbe19138330a2bb2aee36d63"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 21 18:52:59 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 21 18:52:59 2011 -0700"
      },
      "message": "Basic JDWP option parsing...\n\n...and just enough code to silence all the UNIMPLEMENTED warnings you get\nduring normal usage.\n\nChange-Id: I56820ac971b88581c4cb1f462c13331d8fa04c43\n"
    },
    {
      "commit": "4514d3c0e69a49f5dbe19138330a2bb2aee36d63",
      "tree": "f5bd420d6e5f1f2daeb418561c7adf016c161810",
      "parents": [
        "872d4ec7225444d9400d30f9027247deb91012fd"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Oct 21 17:01:31 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Oct 21 17:55:30 2011 -0700"
      },
      "message": "Fixes for ThreadStress test\n\n- Fix deadlock when ThreadGroup.remove(Thread) was run with\n  thread_list_lock_ but needed to GC to allocate an iterator\n- Fix ~MonitorList to clean ownership of any locks that might be held\n  by JNI or daemon threads on shutdown.\n\nChange-Id: I95e23c3b7c745f6a8387789949f3ec849458a27d\n"
    },
    {
      "commit": "872d4ec7225444d9400d30f9027247deb91012fd",
      "tree": "f293f31987efc6b43ab64fe043390959dc59c816",
      "parents": [
        "8f903f2c1832a93d3b479d412664e0972cc14d6a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 21 17:07:15 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 21 17:51:01 2011 -0700"
      },
      "message": "Bring across the JDWP implementation.\n\nThis compiles and links, but does nothing until we fill out the 100 or so\nunimplemented methods in \"debugger.cc\". Note that I also need to add the\nextra command-line handling for the JDWP agent stuff, and add calls from\nthe runtime to the various \"something interesting is going on\" hooks.\n\nChange-Id: I477cf3caf9e248c384ce1d739cbfadb60e2008bc\n"
    },
    {
      "commit": "8f903f2c1832a93d3b479d412664e0972cc14d6a",
      "tree": "6accebb1fc566b935181bd7febdee00113f25a07",
      "parents": [
        "7c6deaa3382f1f4fb0f591af206f03045c6e9004"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Oct 21 15:53:46 2011 -0400"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Oct 21 15:55:07 2011 -0400"
      },
      "message": "Move Class.getDeclaredClass to managed code. Part 3.\n\nChange-Id: I10266738610f3eaad1f02295232195329b376e96\n"
    },
    {
      "commit": "7c6deaa3382f1f4fb0f591af206f03045c6e9004",
      "tree": "7f0a4e2956aae97b6d813eee620b486222b1333c",
      "parents": [
        "4f20aef512500525b2255d4b0e6984fe3e4b5229"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Oct 21 12:05:06 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Oct 21 12:35:43 2011 -0700"
      },
      "message": "Add ThreadStress test to try and exercise corner cases\n\nChange-Id: I8d151e9ba935b8c76406483c6c276cc26896aabf\n"
    },
    {
      "commit": "4f20aef512500525b2255d4b0e6984fe3e4b5229",
      "tree": "bb11000101a82e839f093b35259c494981a95be3",
      "parents": [
        "6fbb516c44bc5a99dbfc52678d51ea5da507dbf5"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Oct 21 00:16:18 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Oct 21 00:18:03 2011 -0700"
      },
      "message": "Generalizing TryLock pattern to ThreadListLocker\n\nChange-Id: Icfe05fac35f72e59bc8d6ec5805020fff3c082d2\n"
    },
    {
      "commit": "6fbb516c44bc5a99dbfc52678d51ea5da507dbf5",
      "tree": "78dd7a895c69d087cf8b713277c444911b917a5d",
      "parents": [
        "e6b1741b7489f3fcd24e3cb3c88adccb93521f3a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 20 20:55:38 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 20 20:56:01 2011 -0700"
      },
      "message": "Address two ThreadList deadlocks\n\nChange-Id: Ibd40ef6dda75a2bebc8a17a3e03053dc42662041\n"
    },
    {
      "commit": "e6b1741b7489f3fcd24e3cb3c88adccb93521f3a",
      "tree": "0049e3caead62a0e356e6fa901186f51d64066e8",
      "parents": [
        "5e71b52a6f2c16fd02b389d220e60808cbc8f74a",
        "6a4be3a6226cec645cf905dd352e44f7968a7fa4"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 20 17:15:30 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 20 17:15:30 2011 -0700"
      },
      "message": "Merge \"Fix calling conventions for UnresolvedDirectMethodTrampolineFromCode\" into dalvik-dev"
    },
    {
      "commit": "6a4be3a6226cec645cf905dd352e44f7968a7fa4",
      "tree": "15c98c404db44f60850a94d9b3cff29ff16e1cd5",
      "parents": [
        "fb8a127fd2ca8eb6cbbc9d62b708c1fc2b3003a4"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 20 16:34:03 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 20 17:01:32 2011 -0700"
      },
      "message": "Fix calling conventions for UnresolvedDirectMethodTrampolineFromCode\n\nChange-Id: I1b35c33d89f0526c80bc8d21e064617d0eac6cd1\n"
    },
    {
      "commit": "5e71b52a6f2c16fd02b389d220e60808cbc8f74a",
      "tree": "f13a4f98b80c6e48f11be02aff3e84de5e62c63e",
      "parents": [
        "fb8a127fd2ca8eb6cbbc9d62b708c1fc2b3003a4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 20 13:12:32 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 20 13:12:32 2011 -0700"
      },
      "message": "Rename object_bitmap to heap_bitmap (since that\u0027s what the class is called).\n\nChange-Id: Idce6e9062545eb13b701e6b7e371c262977814d1\n"
    },
    {
      "commit": "40381fb9dc4b4cf274f1e58b2cdf4396202c6189",
      "tree": "8281b105d3e8a0850984f0ee182db01c33613f27",
      "parents": [
        "b06631143b944388fc68bedf6679c006dde5f461"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Oct 19 14:13:40 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 20 12:19:25 2011 -0700"
      },
      "message": "Reuse SIRT for C++ references\n\nChange-Id: I8310e55da42f55f7ec60f6b17face436c77a979f\n"
    },
    {
      "commit": "b06631143b944388fc68bedf6679c006dde5f461",
      "tree": "b616aeabb016370def3d2730f3722866cf9fd1f3",
      "parents": [
        "c393a4f7c91534ac41a81d66b12c22e68df28fc7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 19 18:16:37 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 19 18:16:37 2011 -0700"
      },
      "message": "Some low-hanging GC performance fruit.\n\nHalves the GC pause in my test benchmark (using libart rather than libartd).\n\nChange-Id: I57e5f9e312fd59ea62eea9da37a116e1ad21d4ec\n"
    },
    {
      "commit": "c393a4f7c91534ac41a81d66b12c22e68df28fc7",
      "tree": "7c0fbc951c448be0b2ccccbfe323afc80efa2d6f",
      "parents": [
        "1cb66f5f569a3c631d940d8bd10f7466e5e5ed29"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Oct 19 13:46:09 2011 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Oct 19 15:24:08 2011 -0700"
      },
      "message": "System calls dex2oat when opening a dex file with an output location\n\nThis fix addresses the old dalvik test 071. The test has 2 source jars,\nand one is loaded later. To support this, the other jar has to be run\nthough dex2oat. Eventually, we want the system to invoke dex2oat on any\njar files that need it.\n\nChange-Id: Ie8428004f397cdb56ee437d0b38c0670f14e77fa\n"
    },
    {
      "commit": "1cb66f5f569a3c631d940d8bd10f7466e5e5ed29",
      "tree": "0d9410087fffcf7075d3b66d066365d6e872c3fb",
      "parents": [
        "94ce37a3919a0bdb8855a3d3264a50df1dbc41be"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Oct 18 14:00:10 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Oct 18 15:31:17 2011 -0700"
      },
      "message": "Update CodeAndDirectMethods\n\nUpdate the CodeAndDirectMethods table following a\ncall to the unresolved target stub.  Removes a previous\nchange that tried to do this in ResolveMethod.\n\nChange-Id: I078d3c006a54ca124f217b01b60d0bd813e189e4\n"
    },
    {
      "commit": "94ce37a3919a0bdb8855a3d3264a50df1dbc41be",
      "tree": "9c1681c50289db15212f1afcbabc51463c96645c",
      "parents": [
        "7a8e9ea462a3291f7cbcb0b15b2538d70aa5e721"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 18 15:07:48 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 18 15:29:09 2011 -0700"
      },
      "message": "Implement -Xstacktracefile.\n\nChange-Id: Ib6c73ddc6f0eaf8f8b731d450b87bda55589f857\n"
    },
    {
      "commit": "7a8e9ea462a3291f7cbcb0b15b2538d70aa5e721",
      "tree": "115d3405aa7577d6542968434ec1e74dd36df7b0",
      "parents": [
        "bb1e8f0a07c12a8b0a2dd3cab6a1a7e825a54c6f",
        "47d237a4b1a41772005c60083e72fe75c0aa0743"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 18 15:21:51 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 18 15:21:51 2011 -0700"
      },
      "message": "Merge \"Fix deadlock on dex_lock_ in ClassLinker::RegisterDexFile\" into dalvik-dev"
    },
    {
      "commit": "47d237a4b1a41772005c60083e72fe75c0aa0743",
      "tree": "876d4ab6ccf0c5936203be25295cc4764d68c821",
      "parents": [
        "362f9bc807169bcfc8761dde067bbfb79b5ad0fd"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 18 15:08:33 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 18 15:09:14 2011 -0700"
      },
      "message": "Fix deadlock on dex_lock_ in ClassLinker::RegisterDexFile\n\nChange-Id: I08d6487fe5e00488abace9df5d5224111961788c\n"
    },
    {
      "commit": "bb1e8f0a07c12a8b0a2dd3cab6a1a7e825a54c6f",
      "tree": "b2c5d6d1765a6a4de8c3f90c32d78b424f870635",
      "parents": [
        "362f9bc807169bcfc8761dde067bbfb79b5ad0fd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 18 14:14:25 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 18 14:14:25 2011 -0700"
      },
      "message": "Implement -Xjnigreflimit.\n\nChange-Id: Iaa31cf4ea4f90fc76baa4472b67fe6c2cc0e0277\n"
    },
    {
      "commit": "362f9bc807169bcfc8761dde067bbfb79b5ad0fd",
      "tree": "100689aa13a39913b43cb12780ba472897cd665a",
      "parents": [
        "fc86162ce2a3467acb690e18cc8bd9b3daafc606"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 18:56:41 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 20:26:54 2011 -0700"
      },
      "message": "Fix cpplint\u0027s whitespace warnings.\n\nChange-Id: I16b69d773e59b49e8e30227b5aa5cb1959a8930f\n"
    },
    {
      "commit": "fc86162ce2a3467acb690e18cc8bd9b3daafc606",
      "tree": "949145ce27225c93a41354460fa76cdc62647076",
      "parents": [
        "24a3c2e9924e8765c4a9b4d383cb8f3b922f9c9f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 17:57:47 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 20:21:27 2011 -0700"
      },
      "message": "Implement lock contention event logging.\n\nChange-Id: I88b30985590157bb5d04229a97f191b898f141bb\n"
    },
    {
      "commit": "24a3c2e9924e8765c4a9b4d383cb8f3b922f9c9f",
      "tree": "1f61ecb377be4abcba4838651bc9d98b548a3f81",
      "parents": [
        "3535c22d05bb4600255db90b490e625eda874b53"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 17 18:07:52 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 17 18:17:36 2011 -0700"
      },
      "message": "ClassLinker changes\n\n- Add ClassLinker::LockOwner for SignalCatcher\n- ClassLinker::ResolveMethod now sets CodeAndDirectMethod when code is available\n\nChange-Id: I404b80d1994808e018d00e0b30e8ba4f9d08fecc\n"
    },
    {
      "commit": "3535c22d05bb4600255db90b490e625eda874b53",
      "tree": "6bd001a5caf4443137ca90b23840e51be4397c98",
      "parents": [
        "cc607471d301e468ac0d84deacd1f60667331f67",
        "6fd03fb67e4628689f0abf34edeacc0e35b6295e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 17 16:31:47 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 17 16:31:47 2011 -0700"
      },
      "message": "Merge \"Fix ObjectInitFromCode to do callee frame setup\" into dalvik-dev"
    },
    {
      "commit": "6fd03fb67e4628689f0abf34edeacc0e35b6295e",
      "tree": "89e287870dfb98b31f2ea7336166801dad5cd55a",
      "parents": [
        "29405cfc691196c21325e80d9a9f3795026eff4e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 17 16:11:00 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 17 16:21:03 2011 -0700"
      },
      "message": "Fix ObjectInitFromCode to do callee frame setup\n\nChange-Id: I70512c85a3a810fd672495b86655c215a07bb977\n"
    },
    {
      "commit": "cc607471d301e468ac0d84deacd1f60667331f67",
      "tree": "f2a8818b996e2cfca2f27863da797ad57ae98bd8",
      "parents": [
        "29405cfc691196c21325e80d9a9f3795026eff4e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 15:34:11 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 15:34:11 2011 -0700"
      },
      "message": "Use CHECK_OP instead of CHECK where possible.\n\nChange-Id: I2f12650e42bab057d0fd3b2978250306a6b264ab\n"
    },
    {
      "commit": "a51a3dd5603daf3d368b7735067e1d9eb54c4c40",
      "tree": "2b2acdfa4743b5f28fa2c40364d5b029ebac1ede",
      "parents": [
        "6a21982c960c8fb92ece0483c5b5b6047b0a7f77"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 15:19:26 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 15:28:15 2011 -0700"
      },
      "message": "Add missing \u0027explicit\u0027s on single-argument constructors.\n\nChange-Id: I1494df6e74ec16238971fb4346ba184eb61c37ab\n"
    },
    {
      "commit": "6a21982c960c8fb92ece0483c5b5b6047b0a7f77",
      "tree": "132f6a62002bb80dd84fd96cd41eb1f36647e300",
      "parents": [
        "2641f715c987ba560d246adf95e5e5434d70c6db",
        "498508c1187dc07d3eae5476784cde20f5224d93"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 15:08:21 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 17 15:08:21 2011 -0700"
      },
      "message": "Merge \"Clean up the makefile and add a missing \u0027static\u0027.\" into dalvik-dev"
    },
    {
      "commit": "498508c1187dc07d3eae5476784cde20f5224d93",
      "tree": "cc7a3d31d9852ad5acbad2f3b51870d774ac64b7",
      "parents": [
        "accd83d1523545ac69bafd38e72a7d5cff8e2fac"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 14:58:22 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 14:58:22 2011 -0700"
      },
      "message": "Clean up the makefile and add a missing \u0027static\u0027.\n\nChange-Id: I9665c4c2ed6e2b4e9ad84e6c476d54b4e90a011c\n"
    },
    {
      "commit": "2641f715c987ba560d246adf95e5e5434d70c6db",
      "tree": "139da90d8ab944997a7795b7e1da513b82a90678",
      "parents": [
        "accd83d1523545ac69bafd38e72a7d5cff8e2fac"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Oct 16 22:43:11 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Oct 17 14:56:38 2011 -0700"
      },
      "message": "Move test codes out of src/. They belong to the test/ directory.\n\nChange-Id: Icd671cfef4026facef37c81aa67f4bed24e8f640\n"
    },
    {
      "commit": "accd83d1523545ac69bafd38e72a7d5cff8e2fac",
      "tree": "1bad139a9b741483e34adc23b249e9f7fd1b6913",
      "parents": [
        "6f7c958469d9b5a44ca2472058961a13d437b7bf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 14:25:58 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 14:25:58 2011 -0700"
      },
      "message": "Fix a heap lock/thread list lock deadlock.\n\nWe had an uncaught OOME whose uncaught exception handler -- running\nwith the thread lock held -- was trying to cause a GC while some\nother thread had the heap lock and was waiting for the thread list\nlock.\n\nChange-Id: I22177129562268837127d9edcc63ef5e93054bdf\n"
    },
    {
      "commit": "6f7c958469d9b5a44ca2472058961a13d437b7bf",
      "tree": "1d018952a9da21dc747b39b5248598e4a1cc6ac2",
      "parents": [
        "f8e012785ee61a3d2f43f74a249d66e1381bdb83",
        "d81cdcc27ba1c0bc8a48d28b5d4f93006500e18c"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Mon Oct 17 12:37:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 17 12:37:35 2011 -0700"
      },
      "message": "Merge \"Fix annotations test 004.\" into dalvik-dev"
    },
    {
      "commit": "d81cdcc27ba1c0bc8a48d28b5d4f93006500e18c",
      "tree": "0cc5bacf4d180f73ba04469c57a1f7b974378fa8",
      "parents": [
        "7f14116b1daeb2d6c80ed93716f734d34865eae1"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Mon Oct 17 14:36:48 2011 -0400"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Mon Oct 17 14:37:45 2011 -0400"
      },
      "message": "Fix annotations test 004.\n\nWe use the Java return type rather than looking the return type up\nfrom the dex file because we don\u0027t have a dex file to look it up in.\n\nThe expected results were sorted statics first; now we\u0027re sorting\nthem non-statics first.\n\nChange-Id: Id4ac52cdec9b472483ec055e47ca1bc3c6a2d885\n"
    },
    {
      "commit": "f8e012785ee61a3d2f43f74a249d66e1381bdb83",
      "tree": "00d86f07a48653065bc77fffb4561a7072370499",
      "parents": [
        "2ced6a534157d5d963693346904389c19775d2da"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 11:29:05 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 11:29:05 2011 -0700"
      },
      "message": "Add -verbose to dex2oat, and improve -verbose:monitor output.\n\nChange-Id: Iec19eb45a600e80855d25a1a02d2351f628c3a1a\n"
    },
    {
      "commit": "2ced6a534157d5d963693346904389c19775d2da",
      "tree": "469f865b0cca1c8388aad9b656258a7eef645c8c",
      "parents": [
        "7f14116b1daeb2d6c80ed93716f734d34865eae1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 16 18:44:48 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 10:52:26 2011 -0700"
      },
      "message": "Implement EnsureCapacity, PushLocalFrame, and PopLocalFrame.\n\nThese are as good as the old implementations, except that unbalanced usages\nwon\u0027t be cleaned up completely (you\u0027ll slowly grow the vector in your JNIEnv).\n\nThis patch also renames IndirectReferenceTable::Contains to the less misleading\nContainsDirectPointer, and fixes JNI::GetObjectRefType to not claim that\ninvalid local references are locals indefinitely.\n\nWe also now include detail messages in OOMEs where possible. (Test 061 still\npasses.) We still log regardless, since OOME should be a rare thing.\n\nChange-Id: I77b2f44ea066e92c517e5c96700ec533727b9c78\n"
    },
    {
      "commit": "b04f69f90d2594092bec5b294bbe7329d295bd66",
      "tree": "b0b0bb6c4db1da0dbe5ff4025013247cc7815b41",
      "parents": [
        "0691851db8fb542f4058dfb6e75faf3f9a9f5ff4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Oct 17 00:40:54 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Oct 17 00:41:31 2011 -0700"
      },
      "message": "Fix for test 069.\n\nCan\u0027t throw exception in fast interface lookup. Extra debugging that\nmethods look sane when creating native to managed records.\n\nChange-Id: If0b970c418db5ff075334af8359541a94e8680b7\n"
    },
    {
      "commit": "0691851db8fb542f4058dfb6e75faf3f9a9f5ff4",
      "tree": "282b82d425ac837b2542ac62ef686cc6012e086c",
      "parents": [
        "c252c3eacd83a0c110dd065690a7f652be35b0e7"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Oct 16 23:39:12 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Oct 16 23:39:12 2011 -0700"
      },
      "message": "Fix IsDexFileRegistered to call IsDexFileRegisteredLocked\n\nChange-Id: Ib6c5b01e5fc649e06070cfee3d7d7d91efcf32b0\n"
    },
    {
      "commit": "c252c3eacd83a0c110dd065690a7f652be35b0e7",
      "tree": "a004a0b73d40b018e5beaec8be77ed229aece42d",
      "parents": [
        "fad714344ca81a21e775ef45ae09d9a035723caf"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Oct 16 23:21:02 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Oct 16 23:21:02 2011 -0700"
      },
      "message": "Clarify cause of 071 failure with an UNIMPLEMENTED\n\nChange-Id: I6b76a53a44bb2c26fc226ef32628a63944db3dbe\n"
    },
    {
      "commit": "fad714344ca81a21e775ef45ae09d9a035723caf",
      "tree": "0b700f9d533036362bfbca77b8911153a8406884",
      "parents": [
        "31edec5b9e506cb702818c074ffef4edcc142105"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Oct 16 20:25:10 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Oct 16 22:16:42 2011 -0700"
      },
      "message": "Assorted fixes\n\n- Match ClassLinker::oat_files_ against cached oat file locations\n- Have DexFile_isDexOptNeeded do checksum comparsion of oat to dex\n- Complete TODO in Heap::Lock to use TryLock before switching to kVmWait\n- Fix ThrowNew to use Throwable constructor without String when no msg is available\n\nChange-Id: Ie9d7bfef9e80b77e5f7625a4d7c9c4a23c7b30b5\n"
    },
    {
      "commit": "df8dad5f05408c8bab6b5a0cc91572fe8c0aff06",
      "tree": "87d2795600f3feac8674662ae68fa2eb7d61dba3",
      "parents": [
        "a4a7b48c813ad73ac795d0b405de69755b36dd6b"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Oct 16 15:44:01 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Oct 16 15:44:01 2011 -0700"
      },
      "message": "Fix scoping issue in Compiler::CompileMethod\n\nChange-Id: I3ff619034d3c6f8db79c52f93eabe2ed7ff6da5f\n"
    },
    {
      "commit": "a4a7b48c813ad73ac795d0b405de69755b36dd6b",
      "tree": "702961ba3267aafb804df5b47a8a88ca14ad04e9",
      "parents": [
        "b988802a7124820b3dae6c1cf20515390a7d2bda"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Oct 16 15:29:16 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Oct 16 15:29:16 2011 -0700"
      },
      "message": "Make CommonTest::runtime_ a compiler\n\nChange-Id: I3f4c568558d7e6b7423919dea92ea734928a7561\n"
    },
    {
      "commit": "b988802a7124820b3dae6c1cf20515390a7d2bda",
      "tree": "5461df9ad9fde1e918219f188ac23310e9ef6c31",
      "parents": [
        "f6498c32035f9068fbe326c287e5cdaa6a9efa14",
        "26c935a46a26dc5af285dd168f4282e1d96d4ad3"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Oct 16 14:54:36 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Oct 16 14:54:36 2011 -0700"
      },
      "message": "Merge \"Make Method::ToDexPC tolerate callee save methods\" into dalvik-dev"
    },
    {
      "commit": "26c935a46a26dc5af285dd168f4282e1d96d4ad3",
      "tree": "6542ebfb57e9d81b1568614992c5e489719ce02c",
      "parents": [
        "0aa85802e37a9f5b8c1d3f36e015fabe7039feca"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Oct 16 14:52:35 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Oct 16 14:52:35 2011 -0700"
      },
      "message": "Make Method::ToDexPC tolerate callee save methods\n\nChange-Id: I266db0d8505e909390f62151b7b7705bf68bc01c\n"
    },
    {
      "commit": "f6498c32035f9068fbe326c287e5cdaa6a9efa14",
      "tree": "6f8d22ee70df66def6601a8bf7e817e01fd176b7",
      "parents": [
        "30d4d3c1e4843c1e05aa4e2de1f8e5f0332ec5de",
        "f09afe8fbd78943df6a8b10f03c36dcd190dd054"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 16 14:48:56 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Oct 16 14:48:56 2011 -0700"
      },
      "message": "Merge \"Better detection of duplicate compiled methods/invoke stubs.\" into dalvik-dev"
    },
    {
      "commit": "30d4d3c1e4843c1e05aa4e2de1f8e5f0332ec5de",
      "tree": "8c23bec9f5c1e82d853bc7723c499c8fca7b4776",
      "parents": [
        "0aa85802e37a9f5b8c1d3f36e015fabe7039feca",
        "3181345d4492017c26b1774be8f0554ad3f04dbf"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Oct 16 14:46:16 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Oct 16 14:46:16 2011 -0700"
      },
      "message": "Merge \"Fix off-by-one error in OP_FILLED_NEW_ARRAY_RANGE\" into dalvik-dev"
    },
    {
      "commit": "3181345d4492017c26b1774be8f0554ad3f04dbf",
      "tree": "6d94935fa4cedf4468c0dc78a299a60d0e7395f3",
      "parents": [
        "63f86de9b9444072922872ff08f3653f2920238d"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Oct 16 14:33:08 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Oct 16 14:33:08 2011 -0700"
      },
      "message": "Fix off-by-one error in OP_FILLED_NEW_ARRAY_RANGE\n\nNow 003-omnibus-opcode makes it to the UnresTest section, where\nit dies with a segfault doing something verifier-related.\n\nChange-Id: I8c2c746e16d951f297ecc61402907d70c68d09c1\n"
    },
    {
      "commit": "0aa85802e37a9f5b8c1d3f36e015fabe7039feca",
      "tree": "3037d53498b48030e644815a0345c655417f8c0b",
      "parents": [
        "63f86de9b9444072922872ff08f3653f2920238d",
        "5de8fe5253ca8bd285cba0eb2e56930573ea4c7f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Oct 16 14:29:50 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Oct 16 14:29:50 2011 -0700"
      },
      "message": "Merge \"Add internal compiler option to control defaulting of boot.art\" into dalvik-dev"
    },
    {
      "commit": "5de8fe5253ca8bd285cba0eb2e56930573ea4c7f",
      "tree": "ef66c851360c3c4d3214728d17956e13a67d35bb",
      "parents": [
        "3b6baaa203fa63f1522b2172a1645f90412afdae"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Oct 16 14:10:09 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Oct 16 14:27:48 2011 -0700"
      },
      "message": "Add internal compiler option to control defaulting of boot.art\n\nChange-Id: I92a46cbd25cfc51c5c5d16fd8ae24c50195bf1d4\n"
    },
    {
      "commit": "f09afe8fbd78943df6a8b10f03c36dcd190dd054",
      "tree": "6e56422c00ac5a4339fc96422a7b3c64adceb30c",
      "parents": [
        "63f86de9b9444072922872ff08f3653f2920238d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 16 14:24:21 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 16 14:24:21 2011 -0700"
      },
      "message": "Better detection of duplicate compiled methods/invoke stubs.\n\nChange-Id: I491ba30e0a7573d1c090aab9ff9ac26aae4d004e\n"
    },
    {
      "commit": "0bcd3862657622ffb3b9da5a506043ab0555598f",
      "tree": "8d5c23949b77ab97c56a3dedb3bb6251898917ac",
      "parents": [
        "06b37d91bb3d543002b1aee9829691f5e8bebc7e",
        "9fd66f5bb6a514147a53d57b419d18ecc7937122"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 16 12:54:17 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Oct 16 12:54:17 2011 -0700"
      },
      "message": "Merge \"Fix GetCurrentMethod to cope with callee-save frames.\" into dalvik-dev"
    },
    {
      "commit": "9fd66f5bb6a514147a53d57b419d18ecc7937122",
      "tree": "e053c8cd08ba67fc396bcb0bbf39b71c1b515783",
      "parents": [
        "3b6baaa203fa63f1522b2172a1645f90412afdae"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 16 12:13:26 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 16 12:53:42 2011 -0700"
      },
      "message": "Fix GetCurrentMethod to cope with callee-save frames.\n\nWe want to report something like this:\n\n Aborting because JNI app bug detected (see above for details)\n              in call to Throw\n              from Main.throwNullPointerException()V\n\nRather than something like this:\n\n Aborting because JNI app bug detected (see above for details)\n              in call to Throw\n              from java.lang.reflect.Method.$$$callee_save_method$$$()V\n\nChange-Id: I84491c315dc0f114da1ab1fd9f191b5d04daf76e\n"
    },
    {
      "commit": "06b37d91bb3d543002b1aee9829691f5e8bebc7e",
      "tree": "15d08cf8993856596ca8567507a8e87d4569bd32",
      "parents": [
        "3b6baaa203fa63f1522b2172a1645f90412afdae"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 16 11:51:29 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 16 11:51:29 2011 -0700"
      },
      "message": "Always log the value when an alignment check fails.\n\nAnd move checking that the alignment is a power of two to compile-time.\n\nChange-Id: I551f364af05912958ed2d4d095b1ce35b6abaf6e\n"
    },
    {
      "commit": "3b6baaa203fa63f1522b2172a1645f90412afdae",
      "tree": "7de428a7d53f2b2b9c2274d49181befd5786b8fa",
      "parents": [
        "7abe9c933402f01d638086b2715b09b64b8595e0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 14 19:13:56 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 16 11:01:28 2011 -0700"
      },
      "message": "Bring our native stack usage down.\n\nI\u0027d have preferred to have a 512-byte limit, but there are some monsters\nin the verifier; 2000-line functions and the like. I\u0027m also not policing\ntests (except for one silly one). They can use all the stack they like.\n\nThis fixes the IntMath test (the stack overflow test was failing because\nwe were using more than 4KiB to throw!).\n\nChange-Id: I7e53e2fde2b39fde1910f8ee5b1712e8a66069c7\n"
    },
    {
      "commit": "7abe9c933402f01d638086b2715b09b64b8595e0",
      "tree": "b3130fcb84df59b6c52638b32c784958d54af912",
      "parents": [
        "c9b1e49b91a33abd4a90ec1bb395249f8cb69a6c",
        "8a05d272ccb2a7ff5a6fe5218205ecdca5e6c21f"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat Oct 15 20:40:11 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Oct 15 20:40:11 2011 -0700"
      },
      "message": "Merge \"Another bug fix for line numbers. Line uses signed in advancing.\" into dalvik-dev"
    },
    {
      "commit": "c9b1e49b91a33abd4a90ec1bb395249f8cb69a6c",
      "tree": "d37fdeb0ad07efb2b524ae78b52c1b694ccd76a8",
      "parents": [
        "dc0f4c9d841e8c740018b1aa26eb9e8024a170f0",
        "63433ba79fbe063881c263f8b348fb990c25a83e"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat Oct 15 20:39:58 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Oct 15 20:39:58 2011 -0700"
      },
      "message": "Merge \"Add a unit test for ReferenceMap that involves try-catch-finally.\" into dalvik-dev"
    },
    {
      "commit": "8a05d272ccb2a7ff5a6fe5218205ecdca5e6c21f",
      "tree": "44e44422a0b9e43ab91df32f0000c8251e985d40",
      "parents": [
        "63433ba79fbe063881c263f8b348fb990c25a83e"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat Oct 15 18:45:43 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat Oct 15 18:45:43 2011 -0700"
      },
      "message": "Another bug fix for line numbers. Line uses signed in advancing.\n\nWhile addres (Dex PC) uses unsigned in advancing, line number uses\nsigned. Now 007-exceptions passes.\n\nChange-Id: Ic65cd5093274c6b4d0e9949e5ea50efcdaf71322\n"
    },
    {
      "commit": "63433ba79fbe063881c263f8b348fb990c25a83e",
      "tree": "eaab2d75b9e390ae71c1101538818a8830152e71",
      "parents": [
        "8e1b4ff0870dab12388b7064526a70bdd67082f6"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat Oct 15 18:40:39 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat Oct 15 18:42:21 2011 -0700"
      },
      "message": "Add a unit test for ReferenceMap that involves try-catch-finally.\n\nStress test the ReferenceMap when the program may have out-of-bound\nexception.\n\nChange-Id: Iec892d9564c501794571a7c52519ac539a792d6e\n"
    },
    {
      "commit": "dc0f4c9d841e8c740018b1aa26eb9e8024a170f0",
      "tree": "ce1065d2506c7a52345a84410b6ab24b8cf0f873",
      "parents": [
        "8e1b4ff0870dab12388b7064526a70bdd67082f6",
        "466bb25416b88fabd5d4387b7c7e5cc1ece78b8c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Oct 15 17:11:06 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Oct 15 17:11:06 2011 -0700"
      },
      "message": "Merge \"Proxy implementation\" into dalvik-dev"
    },
    {
      "commit": "8e1b4ff0870dab12388b7064526a70bdd67082f6",
      "tree": "c69fe2544d53daaea194c66d11949a65e3d407d1",
      "parents": [
        "a10cd94bb77ed66fa0a8b66141c4504045c92d30"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat Oct 15 15:43:51 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat Oct 15 15:52:09 2011 -0700"
      },
      "message": "Fix line number calculation that deviates from old Dalvik.\n\nIn old Dalvik, adjopcode was declared as int instead of uint8. And\nit\u0027s declared in different scope.\nPass the art-target tests and art-host tests.\n\nChange-Id: Ie65c16a43ca32f1acf425a740bebc02f005f9011\n"
    },
    {
      "commit": "466bb25416b88fabd5d4387b7c7e5cc1ece78b8c",
      "tree": "8d0952cbd850f1d0ac2e43a8372ce571fb4982d1",
      "parents": [
        "a10cd94bb77ed66fa0a8b66141c4504045c92d30"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Oct 14 03:29:56 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Oct 14 21:45:27 2011 -0700"
      },
      "message": "Proxy implementation\n\nThis rounds out the proxy implementation by adding missing pieces to the\nclass linker, extending tests and fixing issues in the runtime support.\nThere are also some tweaks for performance and to clean up Method/Object\na little.\nA unit test of the functionality is \"art/test/run-test 044\"\n\nChange-Id: Id94102d10b81cd9b12b95ba8618f6187490204c4\n"
    },
    {
      "commit": "a10cd94bb77ed66fa0a8b66141c4504045c92d30",
      "tree": "2f32ac650047f6700541d89cb0cc59db38f9a749",
      "parents": [
        "b7bbba49d88eae58223d9878da4069bf6d7140bf",
        "67bc236a207852d652f6ddeab0a90efc1bd111bb"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Oct 14 13:10:22 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 14 13:10:22 2011 -0700"
      },
      "message": "Merge \"Register promotion fix\" into dalvik-dev"
    },
    {
      "commit": "67bc236a207852d652f6ddeab0a90efc1bd111bb",
      "tree": "eea13fcb90ad8ce5b2b3819fb8caf0281583cd61",
      "parents": [
        "95caa791e560da97363c0c0d22bfda4a7e7377c3"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Oct 11 18:08:40 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Oct 14 10:54:03 2011 -0700"
      },
      "message": "Register promotion fix\n\nRestructured the type inference mechanism, added lots of DCHECKS,\nbumped the default memory allocation size to reflect AOT\ncompilation and tweaked the bit vector manipulation routines\nto be better at handling large sparse vectors (something the old\ntrace JIT didn\u0027t encounter enough to care).\n\nWith this CL, optimization is back on by default.  Should also see\na significant boost in compilation speed (~2x better for boot.oat).\n\nChange-Id: Ifd134ef337be173a1be756bb9198b24c5b4936b3\n"
    },
    {
      "commit": "b7bbba49d88eae58223d9878da4069bf6d7140bf",
      "tree": "00d1a0758d762903e648bb550434320822228c46",
      "parents": [
        "30646836b4a1c6e5e80ddaea246cf9669eaa0628"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 13 14:58:47 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Oct 14 00:24:28 2011 -0700"
      },
      "message": "Add oatopt drop in replacement for dexopt\n\nChange-Id: I094375230af2d9a88e30245b390cac71be7b50f4\n"
    },
    {
      "commit": "30646836b4a1c6e5e80ddaea246cf9669eaa0628",
      "tree": "5713b45d0e42e4ec319d8aea75b6d2a6bdb079c3",
      "parents": [
        "95caa791e560da97363c0c0d22bfda4a7e7377c3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 13 16:59:46 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 13 16:59:46 2011 -0700"
      },
      "message": "Fix the double-OOME case again.\n\nThe key ingredient to this change is that the NULL check on the NewStringUTF\ncall in ClassLinker::FindClass was accidentally checking the input to the\nfunction (which we know isn\u0027t null) rather than the output (which will be\nif allocation fails).\n\nI\u0027ve also fixed a bunch of places where we were missing null checks on\nallocation, but there\u0027s a lot more to do.\n\nI\u0027ve stopped -Xcheck:jni from trying to dump pending OutOfMemoryError stacks\nbecause that\u0027s highly likely to go horribly wrong and just gets in the way\nof debugging the actual problem. (We could perhaps do better, so I\u0027ve added\na TODO.)\n\nIn DexFile, we were always allocating java.lang.Strings for the names of\neach local variable, even if we were only parsing the debug info for the\npurposes of translating a line number. This was less of a problem in Dalvik\nwhere the names were just const char*s, but since we go straight to Strings,\nthis was causing yet more OOME carnage (and is a lot of wasted effort).\n\nThis fixes the regression we were seeing in 061.\n\nChange-Id: I6241602756db3070b214ccb35e3760b37e1e3d10\n"
    },
    {
      "commit": "95caa791e560da97363c0c0d22bfda4a7e7377c3",
      "tree": "7cc1c2b15566009216a0c34f456e506e1c859e81",
      "parents": [
        "ce46d3237c5117b1d2268c17e3639392416ff34d"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Oct 12 18:14:17 2011 -0400"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Oct 13 15:21:24 2011 -0400"
      },
      "message": "Create proxy class, constructor, and methods.\n\nThis code compiles but has not been exercised. I still\nneed to wire in the code blocks and return types.\n\nChange-Id: I1796103d3bc4fc3c863f95bdca4cfb9765d4b3b7\n"
    },
    {
      "commit": "37d4e6bfa71717f2b9e38f2019feb5650161c7bd",
      "tree": "64d60f582903df055d86cb653618f6dd5e01c21d",
      "parents": [
        "f837fccce8455854674f06848a10374cb6dae292"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 13 12:05:20 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 13 12:05:20 2011 -0700"
      },
      "message": "Be careful of failed allocations in the intern table.\n\nChange-Id: Ia84eadc085c2bd517d335af96c7ffaefd25af0fc\n"
    },
    {
      "commit": "1d9f52b7ca91c6d30b7acfac1c9ab24d93fff470",
      "tree": "0b78747cefb673ffb907a5706f1a1021542f19f4",
      "parents": [
        "03a20ba67cfdc46f5ad8d77242a666a4cb0512f2"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 13 10:50:45 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 13 11:27:45 2011 -0700"
      },
      "message": "Implement DexFile_isDexOptNeeded\n\nChange-Id: Ib4d641ca7000b0f563cb9ab9c0970d6b8ad92060\n"
    },
    {
      "commit": "03a20ba67cfdc46f5ad8d77242a666a4cb0512f2",
      "tree": "c9ad51b063cdcc39b30503fee1a1bb4f755800dd",
      "parents": [
        "b278356581806fd2acd8b14a1b8fb7dc482bcf4e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 13 10:24:13 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 13 10:24:13 2011 -0700"
      },
      "message": "Implement DexFile_getClassNameList\n\nChange-Id: I9b48628e338a5346bc3ac21f3469e4e3d224a956\n"
    },
    {
      "commit": "b278356581806fd2acd8b14a1b8fb7dc482bcf4e",
      "tree": "9427222e67d185622472f20ff91084662c8597c2",
      "parents": [
        "b51036c4647fe4440994d4e06cbb021bc38f7a78",
        "a9f19787df870456f5ae654bc9967d319d1bffe0"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 13 09:51:42 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 13 09:51:42 2011 -0700"
      },
      "message": "Merge \"Add support for oat files in /data/art-cache\" into dalvik-dev"
    },
    {
      "commit": "a9f19787df870456f5ae654bc9967d319d1bffe0",
      "tree": "103fd896e6db17804fa65e28b9ec6072f3817972",
      "parents": [
        "47a0d5a6f221066c3daf7f67f2122ed9c9cd217c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 13 00:14:47 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 13 09:43:47 2011 -0700"
      },
      "message": "Add support for oat files in /data/art-cache\n\nAlso implement Zygote_nativeForkAndSpecialize\n\nChange-Id: I7dfb257b2897279a4cdac4b1ca194c1ac84eb047\n"
    },
    {
      "commit": "b51036c4647fe4440994d4e06cbb021bc38f7a78",
      "tree": "811c51c8ea8631d2f041b985ead00cc685586a3c",
      "parents": [
        "47a0d5a6f221066c3daf7f67f2122ed9c9cd217c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 12 23:49:11 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 12 23:49:11 2011 -0700"
      },
      "message": "Strings are compound objects, so allocation failures can occur during allocation.\n\nThis gets us closer to passing 061 again, but the ClassLoader changes seem to\nhave made life a bit more recursive. (That is: this is not a complete fix.)\n\nChange-Id: Ibd7e7a54a6cbfb17020295e034053e136777e891\n"
    },
    {
      "commit": "47a0d5a6f221066c3daf7f67f2122ed9c9cd217c",
      "tree": "a14a0bec52655075b5e14844328d0df440b616ec",
      "parents": [
        "0839bdb71ba2dba8782f1813d7f7cee67a6f6a28"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Oct 12 21:20:05 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Oct 12 22:29:03 2011 -0700"
      },
      "message": "Move art content to /data\n\noat tests, gtests, and run-test content to /data/art-test\nboot.oat and boot.art to /data/art-cache\n\nChange-Id: I68f9f6798bc4ea0596642ff5624f3e77dec6ccbe\n"
    },
    {
      "commit": "0839bdb71ba2dba8782f1813d7f7cee67a6f6a28",
      "tree": "f26f134a95ef7f56b07bf0365eb13e607acf510e",
      "parents": [
        "1e20094c302d24e16347afad86e9d8be7598a56a"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Oct 12 10:50:44 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Oct 12 20:28:43 2011 -0700"
      },
      "message": "Use CHECK instead of EXPECT. Also, added a previously missing root V0.\n\nUse CHECK, otherwise, test was wrongly shown to pass even when there is error.\n\nChange-Id: I7c273db81c4ba0aaaa6a97ee1403e92ec6db6800\n"
    },
    {
      "commit": "1e20094c302d24e16347afad86e9d8be7598a56a",
      "tree": "c1816170fb827c9d3c949d33d2796d7e5cacc009",
      "parents": [
        "307f75d6bcf7c32db7e1b43124dead628cc7ce96"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 12 18:59:24 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 12 18:59:24 2011 -0700"
      },
      "message": "Add back a line I accidentally deleted from the last change.\n\nChange-Id: I719fd936992950f6d7039ca9cce7435ab1fec229\n"
    },
    {
      "commit": "307f75d6bcf7c32db7e1b43124dead628cc7ce96",
      "tree": "81fdf8690b0387e6535c85d11e24c2cc7b45cef3",
      "parents": [
        "caab8c4ef372db5c119bfac1911fa27b174a935c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 12 18:04:40 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 12 18:27:18 2011 -0700"
      },
      "message": "Add a C++ equivalent of Android\u0027s TimingLogger, and use it for the heap.\n\nThis also changes us over to one big stats update at the end of sweeping,\nlike Dalvik, rather than recording every single free individually.\n\nChange-Id: Ib8e2a83d41d36e35e154183a4e173e915af79ae9\n"
    },
    {
      "commit": "caab8c4ef372db5c119bfac1911fa27b174a935c",
      "tree": "375a1e284b123b91d4960aa674b223e1eea0583a",
      "parents": [
        "14b1b249bdd21d674c9371dee34f8ae055f73ba2"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 12 12:11:18 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 12 18:12:21 2011 -0700"
      },
      "message": "Various tidy ups, add LIKELY/UNLIKELY macros.\n\nMake more aggressive use of the dex cache when we have it.\n\nChange-Id: I125a7bac031f7f0cec68194b5380bdfd83c92833\n"
    },
    {
      "commit": "14b1b249bdd21d674c9371dee34f8ae055f73ba2",
      "tree": "3937406ac34854fed63ae51971255251e6470cdd",
      "parents": [
        "3147a2347d4fd775d51ec0a558955332beb9d1fe"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 11 18:54:34 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 12 17:24:19 2011 -0700"
      },
      "message": "Fix handling of long arguments in unresolved and proxy stubs.\n\nChange-Id: I4561230971ed31ee9af0ec5007e0d09b30781779\n"
    },
    {
      "commit": "3147a2347d4fd775d51ec0a558955332beb9d1fe",
      "tree": "475ddcfda38de4162f62c41ae44a31611189b17f",
      "parents": [
        "7178e733005d40cb50cbfea4a9355765ccf05ee7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 12 15:55:07 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 12 16:08:09 2011 -0700"
      },
      "message": "Work around a bionic bug until I can fix bionic.\n\nAlso remove the Thread::pthread_ field, which isn\u0027t really needed. We also\ndon\u0027t need to update the TLS pointer to our Thread*, because the\naddress will be the same in the child anyway.\n\nChange-Id: I595832a682a03ccdbb510e8e9ce0a32d5c6526b3\n"
    },
    {
      "commit": "0796af03edc06d92bb8d631f1c0c23befdae2315",
      "tree": "c8681daeed4fb155b43d8a824e09a2fb973ff7fc",
      "parents": [
        "1761ffc98298999f929e17cc3707aede5b890e0a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Oct 12 14:31:45 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Oct 12 14:37:20 2011 -0700"
      },
      "message": "Fix Object::IsSoftReference\n\nAlso changed -Xzygote to default boot.art and log arguments\n\nFinally Makefile work:\n- separate out test dependencies\n- changed zygote with art to work by replacing libdvm with libart[d]\n- changed Makefile defines to name and error check their arguments\n  This was to fix bug in generating ART_TARGET_EXECUTABLES\n  where we used $(1) when we meant $(3)\n\nChange-Id: I7ef6008eff1fe99b59d151b6793e8fd8ea5304d4\n"
    },
    {
      "commit": "163c464ffa9c3c32348518749efab4161e308e79",
      "tree": "67bdca0d3828b6465bb0d838b111f3bc29720e26",
      "parents": [
        "c0da31a2aacfc6347cc04c7024aea9cf2e44953e"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Oct 12 10:42:15 2011 -0400"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Oct 12 10:42:15 2011 -0400"
      },
      "message": "Track move of InnerClass annotation to managed code.\n\nChange-Id: I5d08ebe33048a1380d8f868e5e87c3aab7265770\n"
    },
    {
      "commit": "c0da31a2aacfc6347cc04c7024aea9cf2e44953e",
      "tree": "2205a49aac694559aa388d379e3adf5f8807d203",
      "parents": [
        "63673bf124a0e2439be25109f9dc7894a6c80995",
        "8cef0b8130b75af20fa42912a2b82dacb3dfe5d1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 22:41:06 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 11 22:41:06 2011 -0700"
      },
      "message": "Merge \"Remove an UNIMPLEMENTED(WARNING) that isn\u0027t worth implementing.\" into dalvik-dev"
    },
    {
      "commit": "63673bf124a0e2439be25109f9dc7894a6c80995",
      "tree": "5947c085b52009285a883e63a8e562849ea4eebb",
      "parents": [
        "caabb1b77b4a55eb1bb45ebcd3071c9ea01dd3cf",
        "3ea7e9931149dd852bb6fce241d1da6406125df6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 22:40:47 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 11 22:40:47 2011 -0700"
      },
      "message": "Merge \"Add support for the Android-specific DEBUG and VERBOSE log levels.\" into dalvik-dev"
    },
    {
      "commit": "caabb1b77b4a55eb1bb45ebcd3071c9ea01dd3cf",
      "tree": "b4c83f013acb40f842e45128c3fe7f6fe6580d47",
      "parents": [
        "1b5f4975e6e822ae06e2ccd361d62e4c1664d404"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 11 18:09:13 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 11 22:29:58 2011 -0700"
      },
      "message": "Implement Zygote_nativeForkSystemServer\n\nChange-Id: I2f0c7b93e8ac3b3fa4bb350e787065f92c17972f\n"
    },
    {
      "commit": "8cef0b8130b75af20fa42912a2b82dacb3dfe5d1",
      "tree": "20bbee3d1b38404ad38b0a1a0541f1b6e153e96a",
      "parents": [
        "c33a32bccc4c66ed82ce3a580b16636399385cb4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 19:24:00 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 19:24:00 2011 -0700"
      },
      "message": "Remove an UNIMPLEMENTED(WARNING) that isn\u0027t worth implementing.\n\nWe _could_ fix this, but it would be ugly, potentially expensive, and it\u0027s\nreally not obvious there\u0027s any point. (At least until we have to worry about\nDexFile*s not owned by the ClassLinker.)\n\nChange-Id: I2404bfe15e36bba0a6d1d362a465f2fccf1223eb\n"
    },
    {
      "commit": "3ea7e9931149dd852bb6fce241d1da6406125df6",
      "tree": "862b816c96d2ba87b3503c40fbbe4d0107a607f2",
      "parents": [
        "c33a32bccc4c66ed82ce3a580b16636399385cb4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 18:48:16 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 18:48:16 2011 -0700"
      },
      "message": "Add support for the Android-specific DEBUG and VERBOSE log levels.\n\n(But these are currently always-on, like all other log levels at the moment.)\n\nChange-Id: Ie2cc66eb4b1ba2f11c0bd13bfe32da94d5b168f8\n"
    },
    {
      "commit": "1b5f4975e6e822ae06e2ccd361d62e4c1664d404",
      "tree": "51bf3599a3628387a908881914b2d310cece7f54",
      "parents": [
        "c33a32bccc4c66ed82ce3a580b16636399385cb4"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Tue Oct 11 21:41:08 2011 -0400"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Tue Oct 11 21:43:42 2011 -0400"
      },
      "message": "Track new proxy cache field in ClassLoader.\n\nChange-Id: I4915ce6c44a8d82e767954aa8edaddf9e57971db\n"
    },
    {
      "commit": "c33a32bccc4c66ed82ce3a580b16636399385cb4",
      "tree": "ef101d11157784c0724998d39e988a275ed4f69c",
      "parents": [
        "a465c2034094eeb827ff9204951703dc5f269d60"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 18:18:07 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 18:18:07 2011 -0700"
      },
      "message": "Sweep the monitor list.\n\nChange-Id: I343261206f8bbabd245b404dd95d532255e5d870\n"
    },
    {
      "commit": "a465c2034094eeb827ff9204951703dc5f269d60",
      "tree": "d668e438d185eddf6dd70d0c5c63130e45d92c1a",
      "parents": [
        "12866c36a60dacca4a76df8c72e0be6429daa1f5",
        "df9a78201872d72adde40355a7020610b795def9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 11 17:02:53 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 11 17:02:53 2011 -0700"
      },
      "message": "Merge \"Comment and minor clean up.\" into dalvik-dev"
    },
    {
      "commit": "12866c36a60dacca4a76df8c72e0be6429daa1f5",
      "tree": "18596bb2368a72cc96891cf9a3e47093d60ae7a3",
      "parents": [
        "ea2a11d5f20814f17985ae3d4defc8dd843f19b9",
        "83df2ac4a051ee10eafde7587de2faf3f0150fad"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 16:55:29 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 11 16:55:29 2011 -0700"
      },
      "message": "Merge \"Basic GC logging (and class initialization timing).\" into dalvik-dev"
    },
    {
      "commit": "df9a78201872d72adde40355a7020610b795def9",
      "tree": "e73ece501cf9e67739938ac5ff7b5ebe73058413",
      "parents": [
        "ea2a11d5f20814f17985ae3d4defc8dd843f19b9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 11 16:53:22 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 11 16:53:22 2011 -0700"
      },
      "message": "Comment and minor clean up.\n\nChange-Id: I06b37258c5fa49a351545528f7a524ccfcb77d94\n"
    },
    {
      "commit": "ea2a11d5f20814f17985ae3d4defc8dd843f19b9",
      "tree": "45b16554af189aba0d83df7a310dd2d3bf2129ce",
      "parents": [
        "d958820ec84df7a698e7ba2b3ba5ab2d88f75e0a"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 11 16:48:51 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 11 16:49:59 2011 -0700"
      },
      "message": "Determine direct method trampoline type from dispatch.\n\nChange-Id: I7a8e577ad3cf622df06a70a2d4f12505b5e8383e\n"
    },
    {
      "commit": "83df2ac4a051ee10eafde7587de2faf3f0150fad",
      "tree": "f9733df44993a8ea798b19a6845fd3744913552a",
      "parents": [
        "d958820ec84df7a698e7ba2b3ba5ab2d88f75e0a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 16:37:54 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 16:37:54 2011 -0700"
      },
      "message": "Basic GC logging (and class initialization timing).\n\nChange-Id: Ibb09e556fbd42b1bb8cbd72974e8ca226aa073a5\n"
    },
    {
      "commit": "6271c4236223aaeb58cbc942db5815c23c93cb68",
      "tree": "144382bb39f1981642811a8005a0f91f73b5a99a",
      "parents": [
        "0e5b90555f1cf53005dead4853a223e5811918ee"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 15:43:35 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 15:43:35 2011 -0700"
      },
      "message": "Fix a few UNIMPLEMENTEDs.\n\nThe pre-allocated OOME is per-thread in art, and already handled\nin Thread::VisitRoots. We don\u0027t have pre-allocated instances of the\nother two exceptions.\n\nChange-Id: I3d874e0760411188408941424925e2eaeb71d6b7\n"
    },
    {
      "commit": "0e5b90555f1cf53005dead4853a223e5811918ee",
      "tree": "365d46e1a36537ed80efbb479685eb3f8e0c3a64",
      "parents": [
        "9f865379c9ddf03f7363f362a8d63cb5d5b4e722",
        "e79e6f9c2658c477cb4a1739818e15ad72421776"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 11 15:39:52 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 11 15:39:52 2011 -0700"
      },
      "message": "Merge \"Fix bugs in UnresolvedDirectMethodTrampolineFromCode.\" into dalvik-dev"
    },
    {
      "commit": "e79e6f9c2658c477cb4a1739818e15ad72421776",
      "tree": "369da23a60ba29ee6adfb55638604b7b171ed098",
      "parents": [
        "dfcdf1a0d2d8d75b4c701317e4a092498a8d1e9e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 11 15:35:34 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 11 15:35:34 2011 -0700"
      },
      "message": "Fix bugs in UnresolvedDirectMethodTrampolineFromCode.\n\nChange-Id: Ife26b464d3dd4d602d8b9269a64a4e2028b7daf6\n"
    },
    {
      "commit": "9f865379c9ddf03f7363f362a8d63cb5d5b4e722",
      "tree": "46de99ac011f522744d06102a0b1ed93c582bb17",
      "parents": [
        "32d6e1e5654433d7eadede89e1c770b2c839aee9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 15:04:19 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 15:04:19 2011 -0700"
      },
      "message": "Quieten the \"invoking/returned\" and \"Visiting stack roots\" logging.\n\nChange-Id: I51de60f7baee64a378ca811749e63d5dc2bc9221\n"
    },
    {
      "commit": "32d6e1e5654433d7eadede89e1c770b2c839aee9",
      "tree": "6534711910fe730d700e9f747252b800dfc143e0",
      "parents": [
        "231a01597f561b4d4841ac3bb494c8a55b43fdd0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 14:47:44 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 14:47:44 2011 -0700"
      },
      "message": "Add -verbose:monitor and silence the monitor logging by default.\n\nChange-Id: If05c4853c6c072759fb6b7f301a583d6b8c55b9f\n"
    }
  ],
  "next": "231a01597f561b4d4841ac3bb494c8a55b43fdd0"
}
