)]}'
{
  "log": [
    {
      "commit": "48436bbff87aae61bba20029b4382fa41ce787fe",
      "tree": "f05982ea479f43a86c81ab715341238fa56a4d42",
      "parents": [
        "06e3ad4a651c2c58dba5e865cd06d2f98462bf1d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 07 15:23:28 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 07 15:52:48 2012 -0800"
      },
      "message": "Split should have a matching Join, if only for convenient debugging output.\n\nChange-Id: I68275a6410af706875f53540db4ef0242f414470\n"
    },
    {
      "commit": "2faa5f1271587cda765f26bcf2951065300a01ff",
      "tree": "c59557857c36741cfcd1b6bf5ae039886a8ad6e7",
      "parents": [
        "0850c69c88d49efd4075288511b70d6c032bd0c8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 30 14:42:07 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 30 16:46:29 2012 -0800"
      },
      "message": "Fix copyright headers.\n\nChange-Id: I5b7bc76a370238d810d78522bd5531600746700f\n"
    },
    {
      "commit": "3bb17a644e2945c3913cfbde245d2f520d62a3ff",
      "tree": "5b9abb315069c2103d7bbaabc5a07d2a13bddb87",
      "parents": [
        "715112b4551b6ead2643b5e4e9bd796331417115"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jan 27 23:56:44 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Jan 29 12:50:16 2012 -0800"
      },
      "message": "Space trim and other unit tests. General space clean up.\n\nThe space unit tests now include checks on space invariants, in\nparticular relating to footprint and size.\nOut-of-date comments have been removed.\nThis patch adds PrettySize and PrettyDuration methods to make these\nstrings more human readable.\n\nChange-Id: I6bc05b2db0d0115b97d666b832fce57bcdd2e091\n"
    },
    {
      "commit": "6b4ef025af12b158d117fc80fc79acf620f411a0",
      "tree": "223c580477cbb7bde240b599da4bbee793b8dcaf",
      "parents": [
        "21b9f1355f0311b5c67bfdfa9dd63cacb1fba502"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Oct 23 14:59:04 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 25 00:03:03 2011 -0700"
      },
      "message": "Make ResolveField not rely on Field::GetType resolution\n\nChange-Id: I10f4a874809ac9db2cd54e200cf10eb7c8979fce\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": "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": "54e7df1896a4066cbb9fe6f72249829f0b8c49c6",
      "tree": "c7889163c116637001c98270f897d41ca02ce8a5",
      "parents": [
        "a0a764a1f5757f0f7ffa695b855b9d0ac8c2e455"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 16 11:47:04 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 16 11:47:04 2011 -0700"
      },
      "message": "Various bits of cleanup.\n\nMost notable: PrettyField now includes the type (but, like PrettyMethod,\nlets you turn this off), and there\u0027s a new PrettyClass, and PrettyType\nhas been renamed to PrettyTypeOf.\n\nI\u0027ve also moved the dalvik \"sync\" stuff into files named \"monitor\", and\nmade some of the implementation details private.\n\nChange-Id: I39ea79b45e173f9ebbf9878bcead207766a5653f\n"
    },
    {
      "commit": "1f87008b165d26541d832ff805250afdc89c253d",
      "tree": "a84122b3757b8f856eb0656a951ed6621b6d01a8",
      "parents": [
        "c5bfa8f49d8548d7c685a99b411311ef56bedffa"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 23 16:02:11 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 31 09:46:57 2011 -0700"
      },
      "message": "Add HeapTest and make GC work enough to pass it\n\nChange-Id: If06eaef2921b64b3226bfd347acaec60ec993e67\n"
    },
    {
      "commit": "34023801bd544e613d6e85c9a5b2e743f3710e8f",
      "tree": "cf42aadf76cd6c1104e75f20b223716ed44dbb16",
      "parents": [
        "881dd56c9b6ea2c922956650b763d36d2eeb799b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 30 12:06:17 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 30 12:06:17 2011 -0700"
      },
      "message": "Remove uses of scoped_ptr_malloc.\n\nChange-Id: I355fcfc93e8d689bea8b9388423ca12cb3e6566f\n"
    },
    {
      "commit": "79082e367845bbd68ec44ef2ddd1be8ef0e1550f",
      "tree": "71334eaf121c7662949464f7a8e7ca65bb78d73d",
      "parents": [
        "04ec7f0f244ef36fac1c7e590d2ea14e35dfe95a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 25 12:07:32 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 25 12:07:32 2011 -0700"
      },
      "message": "Add the runtime lookup of native method implementations.\n\nPlus other bits of cleanup.\n\nChange-Id: I8584001d7eeb118f8e29c4a62652a18b94333be8\n"
    },
    {
      "commit": "5174fe6e4e931c423e910366ff22ce0838567940",
      "tree": "6eaa36ae0cfb476ddfac9fcf46c2a3918d9510f6",
      "parents": [
        "814e40397fe6c8a2c645bae99f356dbddd6dbe18"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 23 15:12:35 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 23 15:12:35 2011 -0700"
      },
      "message": "Add the condition variable to System.loadLibrary and implement UnregisterNatives.\n\nAlso change PrettyDescriptor now descriptors are String*s rather than StringPiece\u0026s.\n\nChange-Id: Id07affb26038f5f4a3bee4396c65f71d7bc38be3\n"
    },
    {
      "commit": "bfaadc83460726b049614a8616effbb03a247552",
      "tree": "b90f575044f6bf74509769b7d3e4efbd3c936c3f",
      "parents": [
        "de69d7f8c32be83c405bf5a9c5f15fc655f578fa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 18 17:36:58 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 18 17:36:58 2011 -0700"
      },
      "message": "Replace a dangerous function with the convenience function callers actually want.\n\nChange-Id: Ic22dc4db36850507760a917033c254b88749b657\n"
    },
    {
      "commit": "f734cf55d510976f4862b15e35fc86eae2a3daf8",
      "tree": "cdb1077841e6be87353c27f2a30d352ac627663a",
      "parents": [
        "0af5543f8ea20c3e655b2d748a1b7dcf283792fe"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 17 16:28:14 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 17 21:51:13 2011 -0700"
      },
      "message": "Add ParsedOptions test (and migrate RuntimeTest to CommonTest)\n\nChange-Id: Ic338520dfaca2228260e546ed1522c37b83f42ac\n"
    },
    {
      "commit": "11e45077acba2e757799a00b3be9d63fec36a7cc",
      "tree": "3538d83b1bdb862d657a93aa894ad74fc6ec9c68",
      "parents": [
        "e2ff782c0cf770c3f72916ba9072bc24bf732ce0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 16 17:40:46 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 16 18:00:12 2011 -0700"
      },
      "message": "Add a reference table implementation.\n\nThis is suitable for pinned array references and the like.\n\nI\u0027ve also brought in some of the human-readable type printing stuff\nfor the benefit of the reference table dumping code.\n\nThis patch includes tests, but doesn\u0027t yet wire anything up.\n\nChange-Id: Iaf6066201bbd254e033dee4fd0b8dfd0bc17afa9\n"
    }
  ]
}
