)]}'
{
  "log": [
    {
      "commit": "66a556f94e5dc9ba55bec9a11bee5671faa03e23",
      "tree": "52b304c17a0a5c33b235f60ebfa3d8c19810b7cd",
      "parents": [
        "42882d1ae5a297b037f560a6ec190be1a584579d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Feb 14 00:05:38 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Feb 14 00:05:38 2012 -0800"
      },
      "message": "Move DexFile.defineClass exception suppression to managed code\n\nChange-Id: I8abb16f6a2752a04eccce2b501d20236d65adaaa\n"
    },
    {
      "commit": "5b332c89fa3fdd7dc184b22c2587d28af304d019",
      "tree": "f348c63b6756adad52d1e242786df1c9136d6eee",
      "parents": [
        "9cb39392bacbd2a561c6bd840fff821ff7afaa7e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Feb 01 15:02:31 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Feb 03 18:11:56 2012 -0800"
      },
      "message": "Fix checksum verification when opening DexFiles from OatFiles\n\nChange-Id: Ic3d13f3d591c34f159bf0739536a1751c3e7dc75\n"
    },
    {
      "commit": "f6174e8a1566bb357e82506f7ec97dc359c90eb2",
      "tree": "b74b1fc81d0dc0b2f2da7ab6f5187493f15a0b66",
      "parents": [
        "4d9716c19cc25911e639272048abd0d6702bb082"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Jan 31 16:14:17 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Jan 31 17:48:30 2012 -0800"
      },
      "message": "Fix to prevent a dex file from being verified multiple times.\n\nInstead of verifying a dex file whenever one is initialized, they\u0027re now\nverified when not opened from memory. Also, the way dalvik_system_DexFile\nopens dex files has been changed to check for an existing oat file and\nget the corresponding dex file from there instead.\n\nChange-Id: I75fc26247150107d628e2c4e364ef8a53fbf9481\n"
    },
    {
      "commit": "7bfc96384ebe6883199021ca67f97e19f6ca2a76",
      "tree": "22737409b435343e09d0030e2a9605e2d72f2386",
      "parents": [
        "bb551fa68ffc57f679b8c914ac856666f0348b77"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 26 12:02:54 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 26 12:02:54 2012 -0800"
      },
      "message": "This fixes several of the VM tests.\n\nChange-Id: I4140302914d2066d754c93ee511e51c8e5498cfd\n"
    },
    {
      "commit": "ba8eee10607a524f43b55a6f33c13924fb16d435",
      "tree": "45f3c3728bcaee9ff04baeaf1706693e677757bf",
      "parents": [
        "844f9a072454eb9dca1022299b6bf99ef4294008"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 24 20:25:24 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 24 20:25:24 2012 -0800"
      },
      "message": "Remove more lint.\n\nChange-Id: I48714db4169d9ea0536342809361210910ee2091\n"
    },
    {
      "commit": "e8f3212ff9d47dbe368ea7f2e243b5e9e8680620",
      "tree": "ab36337dffd478b91baf3153a7786384450d4a9e",
      "parents": [
        "ff17f1fd3ff32f93e45588eb2b158832d73f9afa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 24 18:23:30 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 24 18:23:30 2012 -0800"
      },
      "message": "Address review comments.\n\nChange-Id: I93e1f3244babb6f7a809a5fbb8cb718f34ccf220\n"
    },
    {
      "commit": "a7679b67ca945194fa2442015e606cd250f0de2b",
      "tree": "275b34ff004649c9bc223ae87a92bfe1a46f5068",
      "parents": [
        "61a699e2ad3913ca76ba8f44c18f1bdf567c1f6f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 24 17:15:23 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 24 17:15:23 2012 -0800"
      },
      "message": "Improve exceptions thrown during class loading.\n\nWe\u0027ve always gone to a lot of trouble to have good detail messages when\nsomething goes wrong during class loading, but none of those exceptions\nwould ever make it to the calling code. This adds missing exception\nchaining, and also adds a test for the case where a subclass is missing\nits superclass; before we\u0027d have reported that the subclass was missing,\nbut now we make it clear that the real error was an inability to find\nthe superclass.\n\nChange-Id: I07ebc011ccdaed16be82bf08b323393e1d790989\n"
    },
    {
      "commit": "b3e66dfcd069db8818cd902d787ff1d7bbca45f2",
      "tree": "b2fb80c539a6d7c51ae978376390a895f6f9ef7c",
      "parents": [
        "01646a0d8103e5e73ed53e4d36593a1cc3c26a03"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 12 14:49:18 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 12 14:49:18 2012 -0800"
      },
      "message": "Minor fixes.\n\nFix a crash when shutting down if a daemon thread suspended while holding the\nheap lock. For some reason, presumably involving extra daemon threads, CTS hits\nthis a lot.\n\nSilently ignore a couple of dalvikvm options for backwards compatibility. This\nmakes CTS less noisy.\n\nRemove redundant parentheses that would make it easy for us to introduce a \u003d\u003d/\u003d\nbug.\n\nChange-Id: Id44eab29ce393a85585459c280ad47c5a5c749b9\n"
    },
    {
      "commit": "725aee5889a9e57c08689f6c1cb9763e8d1fd377",
      "tree": "38f99953b4c6aea4ada9fc6dc6ec243316cf8188",
      "parents": [
        "761bfa80704937024fdbe58c2b6fd4599760efaf"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 11 11:56:56 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 11 11:56:56 2012 -0800"
      },
      "message": "Fixes for 071-dexfile\n\nEnsure dex2oat has the correct process group.\nDon\u0027t unmap dex file in DexFile.open.\nDiagnostic warning messages in DexFile.open in particular as the class\nloader will swallow the IOExceptions without logging.\nFix location of test-ex.jar for test 068-classloader.\n\nChange-Id: Ie54ebb98b687db1eb30091c86de9beb860c26c3d\n"
    },
    {
      "commit": "c981848a3425662034c5429b61c035e7533b896d",
      "tree": "134579a74a90734da2c5bf43d2ce13f22e3d11d2",
      "parents": [
        "cab0101c2b28a6be003f177ccb04347f0a6b62d7"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 11 08:52:51 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 11 08:52:51 2012 -0800"
      },
      "message": "Tweaks to DexFile defineClass JNI code\n\nChange-Id: I248f5e8fc500b540c9100a09507d5d644f73f1ff\n"
    },
    {
      "commit": "cab0101c2b28a6be003f177ccb04347f0a6b62d7",
      "tree": "5620c2074caa44458aaebceccd5229557174d3fb",
      "parents": [
        "672297c77a92e31e88feb179e4548284ba17d330"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jan 10 17:35:46 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jan 10 17:35:46 2012 -0800"
      },
      "message": "Fix 086-null-super and 087-gc-after-link\n\nParallel run-test means that the dex files for 086 and 087 are no longer\nalways in test.jar. Correct the behavior of the class linker when\nClassloader.loadClass returns null to be the behavior of Dalvik.\n\nChange-Id: Icf6363e118d03a01060012ac558b5f1a484d74f9\n"
    },
    {
      "commit": "2e3d1b262af0839380e1d60e86d8b281943ef944",
      "tree": "f703c068e2a037d12dac592e1ebc6f1849ce4fbf",
      "parents": [
        "d170fc48b0895ee98ec0d6e3cf1987c8260af95d"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jan 09 18:01:56 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jan 09 21:20:50 2012 -0800"
      },
      "message": "Changes to compile with gcc 4.6\n\nChange-Id: I55908b3b98b49373ce948fd1f12e0a5cd56ae4f7\n"
    },
    {
      "commit": "d601af8d9549ca95a911afb2fc67c4e562da661f",
      "tree": "3b4b2e277ecc02533f9e63b889ee501348568990",
      "parents": [
        "769fde14cf82840e458f3ca0b1accdaedc60e837"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jan 06 10:15:19 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jan 06 15:25:19 2012 -0800"
      },
      "message": "Move old dex file creation logic to oat file creation\n\nChange-Id: I643adaf918c00bd38c3e85d7622d30b06eab1c68\n"
    },
    {
      "commit": "89521898b56f2ebc3fb68acfb6bc6dde9b6f5c38",
      "tree": "6811878efd4490f78ae099ec7e14c1a1ffe4d868",
      "parents": [
        "c74a6971fb9a65dbee337d51e7981a37be208a00"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Dec 07 22:05:07 2011 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jan 04 00:23:07 2012 -0800"
      },
      "message": "Merge art-cache dex files into oat files\n\nChange-Id: I5a327a4e0b678bd9dabb12de4e21ef05e3fefd0b\n"
    },
    {
      "commit": "955724179c6c739524f610023287f56b24dc31de",
      "tree": "64f751693e72173ae0d044d8c54989b01f1195af",
      "parents": [
        "b87f73ea7524f6eb9da6da1af931a3d3fbb833ff"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 13 18:14:20 2011 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 13 18:14:20 2011 -0800"
      },
      "message": "Don\u0027t default-construct std::strings and then assign them.\n\nChange-Id: I8c994d1e6a8d2ebe52eaa4f0132e0deb2ecfa5f3\n"
    },
    {
      "commit": "ae826983f7903bc0a6bbbe8426bf393fb2f6d747",
      "tree": "6fb83f2b19a1a50ade3c93cbf10485cd8fbc793f",
      "parents": [
        "8aa6fc39f5cc0279d4ba2ee064de9758560dfedd"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Nov 09 01:33:42 2011 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Nov 29 13:46:50 2011 -0800"
      },
      "message": "Add --image-classes to dex2oat\n\nChange-Id: Ia88f9d302e0f9cd72be2199ee46d212d99864c67\n"
    },
    {
      "commit": "b82b6878fb000d4731063b1bf15c39ff7c50b61f",
      "tree": "8764bcc9307fb2f57820b25b1d098e15166a24bc",
      "parents": [
        "bfe487be25652c5456236661b9d9c3579d2296c1"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Oct 26 17:18:07 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Oct 26 21:43:27 2011 -0700"
      },
      "message": "Make sure threads allocating are in the kRunnable state\n\nChange-Id: I55a08fcd38b3388698ef571d2d4fa9553210e197\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": "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": "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": "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": "41ec477bc70f51716b08b4a0ced18efc9e99b564",
      "tree": "844133c0fde64e1baad25ef263cc9002087ab793",
      "parents": [
        "582a7d16bb0db323d8bd730beb61578aa3765f43"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 11 01:35:58 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 11 01:35:58 2011 -0700"
      },
      "message": "Fixed DexFile.defineClass to return null, not throw Exception\n\nChange-Id: I09e16d5530698b41f18ae33cca7745aa3d164922\n"
    },
    {
      "commit": "df143242f4beaad4cc9fbabebfc033b68c40964e",
      "tree": "31695ba744f983aa0d8e80c314902e4355cff5ae",
      "parents": [
        "72ee0ae6207a5c0f1b13bb6a556e3e6f4d77a46a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 10 18:05:34 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 10 18:21:23 2011 -0700"
      },
      "message": "Setup Thread\u0027s context ClassLoader and add image DexFiles to ClassLinker\u0027s boot classpath\n\nChange-Id: I84337c69ff743c58be9e7125d17fcccb514614ef\n"
    },
    {
      "commit": "bc4b76dc2680327bf3f9460caed4547b5ac5f5e9",
      "tree": "e5cbba856bcf4864f4934374767299917f0a36b1",
      "parents": [
        "aded5f7ab991f3c1132851599d3bc60ff6707eed"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 10 12:59:25 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 10 13:42:05 2011 -0700"
      },
      "message": "Fix class name format for jniThrowExceptionFmt\n\nChange-Id: I25d087b23294f00f7cd6d38add79bb15aaa8f0fb\n"
    },
    {
      "commit": "aded5f7ab991f3c1132851599d3bc60ff6707eed",
      "tree": "7fb5e92c224adf98cadd67b7df99cc2d2851cbcb",
      "parents": [
        "bcbaaf3df56178263dbc110dcb0d1cf6c9d167c3"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Oct 07 17:15:04 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 10 12:51:28 2011 -0700"
      },
      "message": "Working ClassLoader\n\nChange-Id: Ia1122165e47f846a1d4506111849f830d9f14c1b\n"
    },
    {
      "commit": "f91c8c328c922ecd522e1d3508d2603e78de8a7b",
      "tree": "9ae1b28516bfac8698f34e56b4a07037b5c81c28",
      "parents": [
        "ff1ed4770bf7ff024a807b9f909b1a26abb78341"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Sep 21 17:30:34 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 22 11:28:21 2011 -0700"
      },
      "message": "Adding JNI code for dalvik.system.DexFile and java.lang.Class\n\nChange-Id: I079c037db77aeaca0dec06660f7551f57adf2607\n"
    }
  ]
}
