)]}'
{
  "log": [
    {
      "commit": "cdc8de4642ca447a7ed205f0d2203cb217e48aad",
      "tree": "82b77592caaaefaf49dae5193294446cce68faf1",
      "parents": [
        "be9778540dfc70d154bb17f722c0b7fe454e2a8f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 19 14:23:17 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 19 16:09:47 2011 -0700"
      },
      "message": "Move base64 to test code\n\nChange-Id: I0cda5d8a559a2d60250c1d8a8ee6f69509515214\n"
    },
    {
      "commit": "be9778540dfc70d154bb17f722c0b7fe454e2a8f",
      "tree": "0061fc2a41d1b0ce27f06c1067834ebe10ab096b",
      "parents": [
        "a331b3cc392132c7333d36649a8310f38f4822cc"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 19 14:54:54 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 19 15:19:54 2011 -0700"
      },
      "message": "C++ and DCHECK tidying\n\nChange-Id: I14eb1887713883cfdfc614b8658281d17acc48df\n"
    },
    {
      "commit": "a331b3cc392132c7333d36649a8310f38f4822cc",
      "tree": "aa8de770ebe8c6c73862fdbcd80a8ac80e1a8611",
      "parents": [
        "6cc18456b6d0d1348ad1d64116b7ab78108ff814"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jul 18 17:47:56 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 19 10:26:47 2011 -0700"
      },
      "message": "New ClassLinker::CreateArrayClass\n\n- Added ClassLinker::CreateArrayClass for use by ClassLinker::FindClass\n- Replaced hand crafted ClassLinker::char_array_class_ initialization with call to FindClass\n- Removed ClassLinker::LoadClass public interfaces, kept only one internally\n- Removed JType\n- Cleanedup gtest naming convention\n- Added RuntimeTest for common test initialization such as Thread::Init\n- Switched from assert to DCHECK which found some bit rotted code\n- Expanded class_linker_test to array classes and also also array rank\n  and interface count in existing cases\n\nChange-Id: Ie3d71c8b434c8521f4ea8d2f07b1c4c905ee1d90\n"
    },
    {
      "commit": "6cc18456b6d0d1348ad1d64116b7ab78108ff814",
      "tree": "a76b400be2463a07265468fe1edb83e2814574b2",
      "parents": [
        "a080803c2f0af91cc0de18919a762f4fcd5cce29"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jul 18 15:10:33 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jul 18 15:10:37 2011 -0700"
      },
      "message": "Simplify ClassLinker::LoadClass\n\nStarting out by removing the ClassLinker::LoadClass to not take a\nDexFile. Then started pulling threads so that ClassLinker::LoadClass\ncould take a StringPiece instead of const char*. Finally went through\nand removed all uses of StringPiece::data() to make sure things are\nclean.\n\nChange-Id: I47cfa0e8e0e35a31e0ebbd0f7d6a105be83ebe88\n"
    },
    {
      "commit": "a080803c2f0af91cc0de18919a762f4fcd5cce29",
      "tree": "9089f2704cf5eee7020142c87c35d960835a5c7e",
      "parents": [
        "a7f4f4888502aaa5c137cb17c9b482053285aebf"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jul 18 00:39:23 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jul 18 12:11:08 2011 -0700"
      },
      "message": "Setting klass_ fields of heap allocated objects\n\nChange-Id: Ib1ab43254430497cce0660156394eebddd2cc445\n"
    },
    {
      "commit": "a7f4f4888502aaa5c137cb17c9b482053285aebf",
      "tree": "5b8d08dfd016f8cbf42f0fe67f3c759e70ede503",
      "parents": [
        "1f359b08f5ad33ae72e4073b86a9257fe1ed11e5"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Jul 17 17:01:34 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Jul 17 17:46:22 2011 -0700"
      },
      "message": "Move allocation of fields and methods to heap\n\nAlso make Object and subclasses constructors private to prevent\naccidental non-heap allocation.\n\nChange-Id: If9513967ba012748eb0d54c04e92df0f0944d385\n"
    },
    {
      "commit": "1f359b08f5ad33ae72e4073b86a9257fe1ed11e5",
      "tree": "3f22a152793289174822b023ad279e125a307418",
      "parents": [
        "ffe6736397d17457188727510f0a2953f69a383a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Jul 17 14:27:17 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Jul 17 14:27:17 2011 -0700"
      },
      "message": "Improve CHECK_\u003cop\u003e logging.\n\nThis patch lets us show the lhs and rhs when a relational check fails. (I show\nboth, even though that looks silly in cases like CHECK_EQ(rc, 0) where we\u0027ll\nsay \"rc\u003d-1, 0\u003d0\", because it\u0027s helpful in cases like CHECK_LT(i, size()) where\nwe want \"i\u003d4, size\u003d2\".)\n\nI had to add a few operator\u003c\u003cs for enums, and fix a bunch of signed/unsigned\nmismatches, and put the StringPiece operator\u003c\u003c in the right namespace.\n\nChange-Id: I390f38bd97b3f50e12182f36ff027ca067c48d69\n"
    },
    {
      "commit": "ffe6736397d17457188727510f0a2953f69a383a",
      "tree": "0d03bee69cf0cfecf76253fe3cb5f6898ae64faa",
      "parents": [
        "a5780dad67556297c8ca5f2608c53b193e6c4514"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Jul 17 12:09:27 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Jul 17 12:22:59 2011 -0700"
      },
      "message": "Implement Runtime::Abort and switch LOG(FATAL) over to it.\n\nRuntime::Abort takes arguments so it can provide less misleading log output,\nbut this shouldn\u0027t matter to callers because they should be using LOG(FATAL)\nanyway.\n\nThis patch also fixes an errno/errno_ mixup in the logging code.\n\nChange-Id: If24b66b7bbf0bf7c0ecb93dd806d82b1d21ee239\n"
    },
    {
      "commit": "a5780dad67556297c8ca5f2608c53b193e6c4514",
      "tree": "9d582f869b8ac863249007ff6ff92055afbb685b",
      "parents": [
        "3acbfa4a3f8272d9a42bdd14e64dedb7db6a7ffe"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Jul 17 11:39:39 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Jul 17 11:39:39 2011 -0700"
      },
      "message": "Fix class_linker_test.\n\nClassLinker::FindClass now requires the calling thread to be attached. Also\nimprove the error reporting in Thread::Attach.\n\nChange-Id: I95bae22288902a8c19a99c14ad66f3dbcca4a0b6\n"
    },
    {
      "commit": "3acbfa4a3f8272d9a42bdd14e64dedb7db6a7ffe",
      "tree": "1c17c3272e1e4fcb9872105d375a2a14eb085989",
      "parents": [
        "d0e7e777c412071a911dd2c008b20b7d879fd392",
        "eb4f614f2eb53b92ebd416fa418f550861655887"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Jul 17 10:47:11 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jul 17 10:47:11 2011 -0700"
      },
      "message": "Merge \"Flesh out the logging implementation.\" into dalvik-dev"
    },
    {
      "commit": "eb4f614f2eb53b92ebd416fa418f550861655887",
      "tree": "71e0df5217ab8b4e9fb71bb24abac41777ca1084",
      "parents": [
        "f10edcac1f8ab835d60fc8268f8c574005619998"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 15 17:43:51 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Jul 17 10:44:51 2011 -0700"
      },
      "message": "Flesh out the logging implementation.\n\nAdd PLOG and ensure we have CHECK_STREQ and CHECK_STRNE to go with\nthe existing non-functional DCHECK_STREQ and DCHECK_STRNE.\n\nThis also gives us two different logging implementations, one for\nthe host that just uses std::cerr, and one for Android that uses\nthe Android log.\n\nAlso bring in the StringPrintf family.\n\nChange-Id: I8e190c2c58f26b22ee76a2a87d447df6eb0fa73b\n"
    },
    {
      "commit": "d0e7e777c412071a911dd2c008b20b7d879fd392",
      "tree": "80fa58a73e98a647619521c077cfc5ddb3080006",
      "parents": [
        "f10edcac1f8ab835d60fc8268f8c574005619998"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Fri Jul 15 14:31:01 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Fri Jul 15 14:31:01 2011 -0700"
      },
      "message": "Use a TLS value to retrieve the current thread.\n\nChange-Id: Iaea97c0f5e10ea59ebf6c623d802f51f87bd4214\n"
    },
    {
      "commit": "f10edcac1f8ab835d60fc8268f8c574005619998",
      "tree": "89f7c8f7323e9b249da646ce9c3f8cc7360a6118",
      "parents": [
        "61e019d291583029c01b61b93bea750f2b663c37"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Thu Jul 14 23:16:21 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Thu Jul 14 23:16:21 2011 -0700"
      },
      "message": "Eliminate some C-style casts.\n\nChange-Id: Ieabdb3284225567a34b8eb4fbe48d568d1dd20b6\n"
    },
    {
      "commit": "61e019d291583029c01b61b93bea750f2b663c37",
      "tree": "4f4dc6041fe9079fec440feefaebe7c035cae582",
      "parents": [
        "934486cf07c578b6494417ca5dcbae89cf04b019"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Thu Jul 14 16:53:09 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Thu Jul 14 23:06:37 2011 -0700"
      },
      "message": "Initialize runtime constituents on runtime construction.\n\nChange-Id: I63fff272b64bd29a7f828dac48aed91833af1eee\n"
    },
    {
      "commit": "934486cf07c578b6494417ca5dcbae89cf04b019",
      "tree": "fce6df4c3daca71151052961ad6191f0b5854ffc",
      "parents": [
        "b557353b22c728eecbd1c68593b482622c7782a8"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 12 23:42:50 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 13 10:32:00 2011 -0700"
      },
      "message": "Make ClassLinker set Class::super_class_ plus test and build improvements\n\nCreate placeholder ClassLinker::java_lang_Object_ for use a\nsuper-class of java_lang_Class_ instances.\n\n\tsrc/class_linker.cc\n\tsrc/class_linker.h\n\nExpand ClassLinker FindClass test to verify Class::GetSuperClass\n\n\tsrc/class_linker_test.cc\n\nMove DexFile::Load* methods to ClassLinker so they can reference\njava_lang_Object_ and java_lang_Class_\n\n\tsrc/class_linker.cc\n\tsrc/class_linker.h\n\tsrc/dex_file.cc\n\tsrc/dex_file.h\n\nMove corresponding Load tests from class_linker_test to dex_file_test\n\n\tsrc/class_linker_test.cc\n\tsrc/dex_file_test.cc\n\nTracking change to object_test to use ClassLinker::Load* methods\n\n\tsrc/object_test.cc\n\nMove base64 to new src/common_test.h for reuse accross tests. Add\nmissing example source for MyClass dex.\n\n\tsrc/common_test.h\n\tsrc/class_linker_test.cc\n\tsrc/dex_file_test.cc\n\tsrc/object_test.cc\n\nChange Heap::AllocClass to take DexFile argument\n\n\tsrc/heap.h\n\nRemove Method::dex_file_ in favor of using Method::GetClass::GetDexFile\n\n\tsrc/object.cc\n\tsrc/object.h\n\nMade a few more RawDexFile methods const\n\n\tsrc/raw_dex_file.cc\n\tsrc/raw_dex_file.h\n\nAdd convenience targets for build-art and test-art-host\n\n\tAndroid.mk\n\nDrop use of _LOCAL_ from make variants, which isn\u0027t the appropriate\nhere, where we aren\u0027t differentiating between LOCAL_ and PRIVATE_.\nAvoid redefinition of variables based on now removed\nLIBART_TARGET_ARCH and TEST_TARGET_ARCH to support phony targets in\nAndroid.mk\n\n\tbuild/Android.aexec.host.mk\n\tbuild/Android.aexec.mk\n\tbuild/Android.common.mk\n\tbuild/Android.libart.host.mk\n\tbuild/Android.libart.mk\n\tbuild/Android.test.host.mk\n\tbuild/Android.test.mk\n\nChange-Id: I84ce2b7a2b4e37799d4d782b97c02d5e97ac081c\n"
    },
    {
      "commit": "b557353b22c728eecbd1c68593b482622c7782a8",
      "tree": "ed2e35548c5b769803c33a901ff2634bdfa91162",
      "parents": [
        "528153d96162da53af031a9c4d52d82512aa2a3c"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jul 12 18:22:59 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jul 12 18:22:59 2011 -0700"
      },
      "message": "Add more functionality to the thread and mutex implementation.\n\nChange-Id: I33b2e53acb4c4c6653f13f1bbdd77cc7ce27e581\n"
    },
    {
      "commit": "565f50731db360584d0080af7f14f0b7ca10371c",
      "tree": "24de84a0b0a0a8cc2cb75cd048232f29d4f2adbf",
      "parents": [
        "606258b5713ac3a0958db3b4b98074b6df6439a6"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sun Jul 10 13:39:43 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sun Jul 10 13:39:43 2011 -0700"
      },
      "message": "Initialize primitive type classes during linker initialization.\n\nChange-Id: Ib31da85afcc59c5d0a14346fb7f97043487fd662\n"
    },
    {
      "commit": "606258b5713ac3a0958db3b4b98074b6df6439a6",
      "tree": "533dcdd0d2b11af9a3cc132edab6c90ef8246d03",
      "parents": [
        "5fafe2b12d465cdee6fab76a06c78cef0a6776b6"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sat Jul 09 16:09:09 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sat Jul 09 16:09:09 2011 -0700"
      },
      "message": "Explicitly convert type to an int before writing to the log stream.\n\nChange-Id: Icb242d2c63b2824ac2f832b17949b8e2d2fac8a4\n"
    },
    {
      "commit": "5fafe2b12d465cdee6fab76a06c78cef0a6776b6",
      "tree": "dec5e055134098398cfbe26afc9f6d2075b42de2",
      "parents": [
        "279613b10298bea94bfd8afe1d38bae9aa0a6415"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sat Jul 09 15:34:41 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sat Jul 09 15:38:30 2011 -0700"
      },
      "message": "Add support for initializing static fields.\n\nChange-Id: I1c5397e9ef03f4cef1646fa833e17d64fc586dce\n"
    },
    {
      "commit": "279613b10298bea94bfd8afe1d38bae9aa0a6415",
      "tree": "1bfb49c829ada97f1822ad9d00fa3280f3d4b030",
      "parents": [
        "e4c1ce498f7933b91696caa4a527e6556128a8e2",
        "167ec63dde06e49381029353a00382fd9341c44c"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sat Jul 09 14:27:33 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 09 14:27:33 2011 -0700"
      },
      "message": "Merge \"Fix minor bugs which prevented methods from loading correctly.\" into dalvik-dev"
    },
    {
      "commit": "167ec63dde06e49381029353a00382fd9341c44c",
      "tree": "cec414b74b9e79820795f75e6d9f5b3a76afeb00",
      "parents": [
        "0e5d75d5ca2b8a44fab0c862276a466cbab39859"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sat Jul 09 03:09:46 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sat Jul 09 03:09:46 2011 -0700"
      },
      "message": "Fix minor bugs which prevented methods from loading correctly.\n\nChange-Id: I08cd530182eed35eab0aa345624098bc782ad755\n"
    },
    {
      "commit": "e4c1ce498f7933b91696caa4a527e6556128a8e2",
      "tree": "9459ffefac28928b23e5be8a53f0d4bc787b8955",
      "parents": [
        "0e5d75d5ca2b8a44fab0c862276a466cbab39859"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sat Jul 09 02:31:57 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sat Jul 09 03:04:30 2011 -0700"
      },
      "message": "Extend the instruction class with instruction attributes.\n\nChange-Id: I52a4f640bd45d1891050876a7a0c031ec3a58974\n"
    },
    {
      "commit": "0e5d75d5ca2b8a44fab0c862276a466cbab39859",
      "tree": "1833a4b1ea85ea5fe76749ab7a83270c74230666",
      "parents": [
        "d4e48fdd5f8baad270a82120a912106b98074501"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Wed Jul 06 18:28:37 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Thu Jul 07 01:11:59 2011 -0700"
      },
      "message": "Add support for linking classes.\n\nChange-Id: I0026be6e4c919f7391fd83c654f58c3bc67f44e1\n"
    },
    {
      "commit": "d4e48fdd5f8baad270a82120a912106b98074501",
      "tree": "9dcef8c69eee5655c00b8c2738b480a8aab86507",
      "parents": [
        "a779d4145f5cade9c29fa7e9d2b95824269c76a2"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Thu Jun 30 18:53:29 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Fri Jul 01 01:20:43 2011 -0700"
      },
      "message": "Add the StringPiece class.\n\nChange-Id: I4e8c303261f79553cfe4853d5c7e1adf851496fc\n"
    },
    {
      "commit": "894d0fab562badca5c2f01a5c2adc8de756c08ad",
      "tree": "5071322027c485c669df8f4ac49e3c3b3bed6761",
      "parents": [
        "ef442e6516a856fa0aed64d0a1af23d9ee8f857f"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Thu Jun 30 14:48:49 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Thu Jun 30 17:00:16 2011 -0700"
      },
      "message": "Expose functionality needed for linking.\n\nChange-Id: I5abdee1d89510b9e4c2eeb5cdab45951b5e5305c\n"
    },
    {
      "commit": "ef442e6516a856fa0aed64d0a1af23d9ee8f857f",
      "tree": "fb62a0c8082ca4b1b56049785e66fff677f5552d",
      "parents": [
        "2abd33889fb2d2176bfde0061c41063269038ed5"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Wed Jun 29 15:57:32 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Wed Jun 29 15:57:32 2011 -0700"
      },
      "message": "Add a corresponding constant for DEX_NOINDEX.\n\nChange-Id: I3393e7f21e8a4a3c4ea37822393189f81d2a4453\n"
    },
    {
      "commit": "2abd33889fb2d2176bfde0061c41063269038ed5",
      "tree": "10c75d187407da2609abef8b1ea27fd81d60d7c1",
      "parents": [
        "d84f49c0d682c9f657d22fc6974c9fa4320aa396",
        "a506cb0436b58d8f7983383f07ad71823bba9edf"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Wed Jun 29 15:34:30 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 29 15:34:30 2011 -0700"
      },
      "message": "Merge \"Minor clean-ups.\" into dalvik-dev"
    },
    {
      "commit": "d84f49c0d682c9f657d22fc6974c9fa4320aa396",
      "tree": "3ac512e5867ad108a09401b6470e83413d660460",
      "parents": [
        "07bb1734922ce0770e2f8bf6d689283d54257c97"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Wed Jun 29 00:27:46 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Wed Jun 29 00:27:46 2011 -0700"
      },
      "message": "Limit the visibility of the instruction list.\n\nChange-Id: Ibcd860bddb085f3403f1d7236145be3d793be3b9\n"
    },
    {
      "commit": "a506cb0436b58d8f7983383f07ad71823bba9edf",
      "tree": "d2bf37d74fc755afb89c859b7726b0b771f3f682",
      "parents": [
        "07bb1734922ce0770e2f8bf6d689283d54257c97"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jun 28 22:53:46 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jun 28 22:53:46 2011 -0700"
      },
      "message": "Minor clean-ups.\n\n* Track the length of the dex file in RawDexFile.  This can be used to\n  improve its assertions.\n\n* Move a sanity check for MmapCloser into the constructor.\n\n* Add a TODO for moving the base64 openers into test code.\n\n* Make the base64 decoder assume C strings, mention this in a comment.\n\nChange-Id: Ib4d5a43d23ebe8819032763c42c536c8b826723a\n"
    },
    {
      "commit": "07bb1734922ce0770e2f8bf6d689283d54257c97",
      "tree": "fb1bf18422d776f83892d109d8acd522a92d099d",
      "parents": [
        "290eca0f74f81c7aa6dc897ec3adb783825b1c1c",
        "7e7824871cdb7d3d0d6b77e12d7d40bfa63154c6"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jun 28 22:27:27 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 28 22:27:27 2011 -0700"
      },
      "message": "Merge \"Manage the underlying RawDexFile of a DexFile with a smart pointer.\" into dalvik-dev"
    },
    {
      "commit": "290eca0f74f81c7aa6dc897ec3adb783825b1c1c",
      "tree": "9a1a51a6ea96aa06a6279f6deb30cd00ca415d73",
      "parents": [
        "a7ab79d0afdee2c450f5c517d101d8db980a632e",
        "64f13408f88a473d2b799209ae40e71a251f6f11"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jun 28 16:56:21 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 28 16:56:21 2011 -0700"
      },
      "message": "Merge changes I789a31a8,I05296bfb into dalvik-dev\n\n* changes:\n  Collapse the synchronized and declared synchronized predicates into one.\n  Allow raw dex files to be read from arrays of base64 encoded bytes.\n"
    },
    {
      "commit": "64f13408f88a473d2b799209ae40e71a251f6f11",
      "tree": "349556bf795b265fd727d165e3bb19a6a6d7c381",
      "parents": [
        "80d4dde9bf123e431e2ba21ff3e2ef794c8f6722"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jun 28 16:34:41 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jun 28 16:34:41 2011 -0700"
      },
      "message": "Collapse the synchronized and declared synchronized predicates into one.\n\nChange-Id: I789a31a8e19826111b347e9983e79a4bda8199aa\n"
    },
    {
      "commit": "7e7824871cdb7d3d0d6b77e12d7d40bfa63154c6",
      "tree": "f3ae618c4bc0a5a45012de5502d829fce855a5f9",
      "parents": [
        "80d4dde9bf123e431e2ba21ff3e2ef794c8f6722"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jun 28 16:30:04 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jun 28 16:30:04 2011 -0700"
      },
      "message": "Manage the underlying RawDexFile of a DexFile with a smart pointer.\n\nChange-Id: I6586d34767584feaa746ffd819107ebbd036d8a3\n"
    },
    {
      "commit": "80d4dde9bf123e431e2ba21ff3e2ef794c8f6722",
      "tree": "12bc07362390cea3479fc7707215c01ba3d5f3e2",
      "parents": [
        "3ee755da5c1c17b6a29052d171a8a63c0eb0b052"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jun 28 16:24:07 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jun 28 16:24:07 2011 -0700"
      },
      "message": "Allow raw dex files to be read from arrays of base64 encoded bytes.\n\nThis allows tests to be run without opening files on local disk.\n\nChange-Id: I05296bfba584d76ae272d4905b5c45ae10687bc6\n"
    },
    {
      "commit": "a7ab79d0afdee2c450f5c517d101d8db980a632e",
      "tree": "91516afa011915380a5eb7c334cd48b7babbbaa6",
      "parents": [
        "3ee755da5c1c17b6a29052d171a8a63c0eb0b052"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Jun 28 16:07:35 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Jun 28 16:07:35 2011 -0700"
      },
      "message": "Add check to inst visitor\n\nJust tripped on this, a malformed instruction region could make you\nendlessly loopy.\n\nChange-Id: Ib65e147c4cd8fe02328bc62aee2bbecfde604455\n"
    },
    {
      "commit": "3ee755da5c1c17b6a29052d171a8a63c0eb0b052",
      "tree": "814572bf43314fa88bb049e93458341515925c54",
      "parents": [
        "1fb8620309a4e94d11879aabc33364acfa733904"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jun 28 12:11:04 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jun 28 12:11:04 2011 -0700"
      },
      "message": "Complete support for loading classes from a DEX file.\n\nChange-Id: I1b9aa105fc78df170e83b259d8d04317c296a1b5\n"
    },
    {
      "commit": "1fb8620309a4e94d11879aabc33364acfa733904",
      "tree": "9cf2d230034ed32abc3f56cff24d47b93c2975f9",
      "parents": [
        "12eb78e651f13f2c1f0c2c922048a5a213253adf"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Mon Jun 27 17:43:13 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Mon Jun 27 17:43:13 2011 -0700"
      },
      "message": "Add class loading infrastructure.\n\nChange-Id: I94bdabcefdf1030ee1827d9219eaf60e4dc818ca\n"
    },
    {
      "commit": "12eb78e651f13f2c1f0c2c922048a5a213253adf",
      "tree": "491c6dd5cd1ce0121196b742286430a2ffd1a1d4",
      "parents": [
        "008e41230a702ddb4c558fca95af5d84d56b51cb"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Fri Jun 24 14:51:06 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Fri Jun 24 22:20:55 2011 -0700"
      },
      "message": "Add an instruction abstraction and visitor.\n\nChange-Id: I5dc935831471296b6db1affef6e7ddcdddc82dde\n"
    },
    {
      "commit": "7e8e93833fec71792fbac3c86c1d5ac9ac5f8051",
      "tree": "cffbdb061aa600314de89d3769e51ccb93d5e520",
      "parents": [
        "d2bdb57c9a3ceb5ac86060186cfe735a11f1e76e",
        "c981ace51da03ca6a9cd100c2c4d6c9bf6100138"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Jun 22 14:25:49 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 22 14:25:49 2011 -0700"
      },
      "message": "Merge \"Add a gtest build target for the host.\" into dalvik-dev"
    },
    {
      "commit": "c981ace51da03ca6a9cd100c2c4d6c9bf6100138",
      "tree": "e69451cb8ad6a67ffb78580848332ccfdd16c45e",
      "parents": [
        "a2e18e1e77fc25c8260aad5daa267ababfcb65f6"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Jun 22 14:17:14 2011 -0700"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Jun 22 14:17:14 2011 -0700"
      },
      "message": "Add a gtest build target for the host.\n\nChange-Id: Ib888e143c7f3c110a0596ce37f51138a4da31b5a\nhttp://b/4584343\n"
    },
    {
      "commit": "d2bdb57c9a3ceb5ac86060186cfe735a11f1e76e",
      "tree": "48635d154094ee3443bfc94557e2b62291a669d5",
      "parents": [
        "a2e18e1e77fc25c8260aad5daa267ababfcb65f6"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Wed Jun 22 11:45:37 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Wed Jun 22 11:45:37 2011 -0700"
      },
      "message": "Add a macro for sizing anonymous or locally defined arrays.\n\nChange-Id: If7f7c7fb7b45d9f07a729aad978b26ffd88222d6\n"
    },
    {
      "commit": "a2e18e1e77fc25c8260aad5daa267ababfcb65f6",
      "tree": "5f3b5cc160ac94651c8e1b166c6962c0167bcf48",
      "parents": [
        "6b6b5f0e67ce03f38223a525612955663bc1799b"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jun 21 18:57:55 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jun 21 18:57:55 2011 -0700"
      },
      "message": "Add the implementation for the ARM assembler.\n\nChange-Id: Iabeb834c3cc2b00a043bd79f9e1c4573d0f0a934\n"
    },
    {
      "commit": "6b6b5f0e67ce03f38223a525612955663bc1799b",
      "tree": "83347b18ba66d4c46d06ca81be01285959f08060",
      "parents": [
        "a5d5cfda6239d8876937e75eba43222f639d2447"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jun 21 15:05:09 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jun 21 15:22:34 2011 -0700"
      },
      "message": "Shorten the namespace and re-normalize include guards.\n\nChange-Id: I93af4c1f19edf31098abd20ded1fcca6c5d83854\n"
    },
    {
      "commit": "a5d5cfda6239d8876937e75eba43222f639d2447",
      "tree": "4665ed2c32344944148bde32544577e425b2d946",
      "parents": [
        "59e85cd3c415ca483318bd7e4d5e743253b64685"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jun 21 12:46:59 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jun 21 12:46:59 2011 -0700"
      },
      "message": "Add basic assembler interface and an x86 backend.\n\nChange-Id: Ia8136bad88f1194c8a247e2af80e486ab88c1e8c\n"
    },
    {
      "commit": "59e85cd3c415ca483318bd7e4d5e743253b64685",
      "tree": "c3584fd5e11fbde77c0b92c86497829f51eed022",
      "parents": [
        "806defae80d39945272e1cd919b1c22572152117"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jun 21 10:16:23 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jun 21 10:39:12 2011 -0700"
      },
      "message": "Add implementations of sizeof and offsetof for class types.\n\nChange-Id: I014205daafa6201f5d1d7d206e34632384a25f79\n"
    },
    {
      "commit": "806defae80d39945272e1cd919b1c22572152117",
      "tree": "7945fc642c2a2c532dbf58588e86ef814883fd20",
      "parents": [
        "6c21dc1bcafd83e90daa42a27dacd285278f3667"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Mon Jun 20 15:54:50 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Mon Jun 20 15:54:50 2011 -0700"
      },
      "message": "Fix the include guard style.\n\nChange-Id: Id25c54f4649a41de6c2c00ffdb63175fb208ce10\n"
    },
    {
      "commit": "6c21dc1bcafd83e90daa42a27dacd285278f3667",
      "tree": "26faafd427e0c20953714dcb5c1926f5038d8c1d",
      "parents": [
        "9bf84fd5b69f17ad3e3dca37aa021bdc4246259e"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Mon Jun 20 15:20:52 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Mon Jun 20 15:20:52 2011 -0700"
      },
      "message": "Add a minimal logging interface and implementation.\n\nChange-Id: Ie65dac4b9e2a77e5118231fde002f78dd33226c5\n"
    },
    {
      "commit": "7b21670581d13db32f1384a3b2692bcfc8f57320",
      "tree": "043e32474029852fc50993e87094f8549c0f9807",
      "parents": [
        "80ad5ffa2dee9a30cdf55a4e3ee5f6edce74d302"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Fri Jun 17 15:09:26 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Fri Jun 17 15:09:26 2011 -0700"
      },
      "message": "Initial build configuration for the new Android runtime.\n\nChange-Id: I9956c8623f7bd333ceba5a41fc8cd3d16c309fd7\n"
    }
  ]
}
