)]}'
{
  "log": [
    {
      "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": "4d9716c19cc25911e639272048abd0d6702bb082",
      "tree": "fdd9d47f7ebb3bcbb19224a34eb7216f3d212821",
      "parents": [
        "0f09676a8f61809c474e71b4a677093615bfba19"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jan 30 01:49:33 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jan 31 12:01:50 2012 -0800"
      },
      "message": "Class::SetStatus(kStatusError) now checks that an exception is pending and uses it to SetVerifyErrorClass\n\nChange-Id: I02f4adc51ac6da88d4969655fa828f93941c4c0a\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": "748382f38dfe7a0d9a426a4b72fcfc399ba1a5da",
      "tree": "246c47e2b1ec9b81ddb39d73c9a1faeabf93713a",
      "parents": [
        "c8dd298c88e142f5ca4fdf1f1a1a000c43d6eb19"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 26 18:07:38 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 26 18:14:14 2012 -0800"
      },
      "message": "Make the class loading behavior closer to the RI\u0027s.\n\nChange-Id: Ic2ab91dc5a455a97dbcbe1f2d7b464a888d5bb66\n"
    },
    {
      "commit": "30fab40ee5a07af6b8c3b6b0e9438071695a57f4",
      "tree": "86514e3535c8b23cf52249a202076b59ac532021",
      "parents": [
        "f3778f66879fa038a7c9ebe46d5bc4167ddef7d8"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Jan 23 15:43:46 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 26 17:32:10 2012 -0800"
      },
      "message": "Upgrade to latest dlmalloc. Refactor Heap and related APIs to use STL like naming.\n\nWe fail assertions in the existing heap code, as does Dalvik. This refactoring\nis to clean the heap and space APIs and to reduce duplication of data\nand thereby solve a failing assertion in the card table.\n\nThis change also wires up clearing of soft references including before\nout-of-memory errors are reported.\n\nIn doing this change it was made clear that mspaces are buggy (and\nviolating invariants with the garbage collector). This\nchange upgrades to an un-Android molested version of dlmalloc-2.8.5 and\nimplements a version of the mspace morecore routine under ART control.\n\nrun-test 061-out-of-memory is updated for current heap sizes.\n\nChange-Id: I377e83ab2a8c78afb9b1881f03356929e2c9dc64\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": "10037c866b04550fc5461058c398c2e3e509381a",
      "tree": "91ef9ebf54962b25c2faf6e66e2b9ca4d383cbbe",
      "parents": [
        "20e1ebb6d7b9959971baf0903beb0c7f7169e716"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Jan 23 15:06:23 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Jan 25 16:30:59 2012 -0800"
      },
      "message": "Added pass to verify structure of dex file.\n\nWhen a dex file is first opened, this pass runs through to make sure\nsizes and offsets of the various sections of the dex file match the\nheader and don\u0027t overlap.\n\nChange-Id: I4900c9665d6572ccfca2fe5f79d5d48ce7252036\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": "844f9a072454eb9dca1022299b6bf99ef4294008",
      "tree": "f21b0a3c2418540c9c65914b6029a881ecae0747",
      "parents": [
        "e8f3212ff9d47dbe368ea7f2e243b5e9e8680620"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 24 20:19:58 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 24 20:19:58 2012 -0800"
      },
      "message": "You can\u0027t call initCause on a ClassNotFoundException.\n\nUnlike NoClassDefFoundError, ClassNotFoundException has to be constructed\nwith a cause, or it will stupidly set a null cause which can\u0027t then be\nchanged.\n\nThis patch also fixes incorrect caching of jclass local references in statics,\nwhich I noticed while fixing the test I\u0027d broken.\n\nChange-Id: I017f4a4e4158554427ccb37b650c985add28980c\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": "07bb855daaad20f2d300418cee5a2d977758a3a1",
      "tree": "edca03b63266e62609b09b57234b757dd2ec5ebb",
      "parents": [
        "8d5ffb03e4da64f2d650d94fae94c192e758b409"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jan 18 22:10:50 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jan 18 22:57:54 2012 -0800"
      },
      "message": "Use lower_bound to search multimap\n\nChange-Id: If829ecf068e1726740ea4f8dd64f6944938337a4\n"
    },
    {
      "commit": "c20a83e440557924dacaf8ec519e086865aaf5a5",
      "tree": "3387abb42c31093ae9d83a2b364a03aedfe8bae1",
      "parents": [
        "e5448b5a12003b405b22cde3b94f962ab4888a87"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 18 18:15:32 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 18 20:58:03 2012 -0800"
      },
      "message": "Eager verification GC maps are present in debug mode\n\nChange-Id: Iaefc0bf937ae1476bcfb0aadd6a3e5e434e2d621\n"
    },
    {
      "commit": "e5448b5a12003b405b22cde3b94f962ab4888a87",
      "tree": "1192cf30e8b0132a9317290d18402ed9af8c4681",
      "parents": [
        "db9f4c08d8b23495796874158a56bdac612c7a6e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 18 16:44:06 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 18 16:44:06 2012 -0800"
      },
      "message": "Remove most of the unordered_ stuff and use the standard equivalents instead.\n\nChange-Id: I01c6f195fd2cf6edbe430fb31e99b2e2748c2088\n"
    },
    {
      "commit": "e7d856b911222aa000ca2be0f8f63f5b292141c3",
      "tree": "9628ef94e879c7ae026dd37ec05e1ab3251d830a",
      "parents": [
        "a51dc5b0a57fdf0574c069a15e065ccc96958f02"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jan 11 18:10:55 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jan 17 17:42:34 2012 -0800"
      },
      "message": "Add GC map to oat file\n\nChange-Id: Ied0462c711a09e2542f231c3b2fa31239958bd28\n"
    },
    {
      "commit": "26c0a1a376d8cd639fe6b16594fcb55a723450c0",
      "tree": "885e831445e7cafad50bd6b8aaefbbdedb0a91f9",
      "parents": [
        "20ee660cf7cc1038af40d5c6b43b3b6b426c3fc5"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Jan 17 16:28:33 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Jan 17 16:28:33 2012 -0800"
      },
      "message": "Fixed tracer to stub additional classes as they\u0027re loaded.\n\nChange-Id: I00425f0ce6778426b9de3df80568c19b008324b4\n"
    },
    {
      "commit": "672f520b125639c090cc38c9ae7231e0dfbd31dd",
      "tree": "85b433a9ff0be58a118711b6a9be0e7c0b5aa5e9",
      "parents": [
        "b52b01ac70ccc5a56e108d81451beda0e1d320a0"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 12 18:06:40 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 12 18:06:40 2012 -0800"
      },
      "message": "Fix race in double verifying super class\n\nChange-Id: I75089d0be8ad13b22300dd59bcc88da61d349e0d\n"
    },
    {
      "commit": "b52b01ac70ccc5a56e108d81451beda0e1d320a0",
      "tree": "13702b538f5ee819273c2e56a59aaac7b9476303",
      "parents": [
        "ec9822908b052272f4a7035dfdf6e639fd4535ca"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 12 17:01:38 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 12 17:01:38 2012 -0800"
      },
      "message": "Don\u0027t duplicate interfaces in iftable\n\nMirroring AOSP Change Idb4a13ca\nhttps://android-review.googlesource.com//#/c/30900/\n\nChange-Id: I5d5a7b2993f8a9b2d96cb3e80c1d47d3b994c1ae\n"
    },
    {
      "commit": "bdfb1a5cd8a4132023a9333458cde52ccad500a8",
      "tree": "13afda4b6862b36ddfbcff43cef3b8388235d769",
      "parents": [
        "63efec135fa63c00dd7360afb319bee875c5d5e7"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 12 14:05:22 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 12 14:05:22 2012 -0800"
      },
      "message": "Fix 084-class-init\n\nDon\u0027t update the code and direct methods table for classes that are\nstill initializing as a 2nd thread may need to wait for class\ninitialization.\nFix the return value of EnsureInitialized when the class initializer\nthrows an exception.\n\nChange-Id: I571d983f1a4025b5bcdd51b817d252ef131a6e97\n"
    },
    {
      "commit": "595799e000e95f999a6fd4ac3d32f2f2a16f9947",
      "tree": "d4f5645aa2577c88ed4579f9226f5f0076cf0fed",
      "parents": [
        "be125a931c8cf7274345c69b2bf35fb6e66e4001"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 11 17:32:51 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 11 17:32:51 2012 -0800"
      },
      "message": "Fix test 086-classloader\n\nClean up method signature verification.\nCorrect ensure initialized to return false only when exceptions are\npending.\n\nChange-Id: Ib8c2e788ed16e08975138e7ef363ba9435c4cfcd\n"
    },
    {
      "commit": "be125a931c8cf7274345c69b2bf35fb6e66e4001",
      "tree": "88afd5db04694ae2ca02a59a07a572645be3635b",
      "parents": [
        "ab7661375c717fdaac1c03f81d9687dfe6a82f78"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 11 15:19:49 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 11 15:22:43 2012 -0800"
      },
      "message": "Fixes for 068-classloader\n\nCheck access to super class during linkage.\nDon\u0027t allow findLoadedClasses to return erroneous classes.\n068-classloader still needs a fix to validate method signatues before it will\nrun successfully.\n\nChange-Id: I9c3cfcfc1357c94300fddad7d16de3cd670e2f80\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": "761bfa80704937024fdbe58c2b6fd4599760efaf",
      "tree": "6568a442e34764eed4353653eb84114df9f90a96",
      "parents": [
        "c981848a3425662034c5429b61c035e7533b896d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 11 10:14:05 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 11 10:14:05 2012 -0800"
      },
      "message": "Don\u0027t throw NPE in findClass if an exception is pending.\n\nBug in Change Icf6363e1 that inhibits the phone booting.\n\nChange-Id: I2b8d4723fe34b649416baad64197f7abf49a46f9\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": "866c8627626b7c47fb69b498b341772d7dfa7f60",
      "tree": "2282599145a52d26e30b29094cff724fb524da18",
      "parents": [
        "d601af8d9549ca95a911afb2fc67c4e562da661f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jan 06 16:35:13 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jan 06 17:23:29 2012 -0800"
      },
      "message": "Minor OatFile ownership and --oat-fd\u003d argument formatting\n\nChange-Id: Idd2e6aca574b473222d75a0fab1fe7538c6a787b\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": "a6cc893c4b142cd410fc956963b6f5a014e983ad",
      "tree": "72d9542065e45660c7b2f002a7c03dd9ad5a8a78",
      "parents": [
        "89521898b56f2ebc3fb68acfb6bc6dde9b6f5c38"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jan 04 14:44:07 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jan 05 14:43:21 2012 -0800"
      },
      "message": "Add installd support to dex2oat\n\nChange-Id: Id1a64403ccea7dc2c1e8b8340d33d383d4045a33\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": "db7d5e96d3e4090e69fac7b4ec1fc1bdcc0b436c",
      "tree": "b8f693169c289a3872ca9216a4d5233b72e66c5f",
      "parents": [
        "92cb498ffd2185fc8f8da7cd25fe485d0e7e3355"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 16 18:47:37 2011 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 16 18:47:37 2011 -0800"
      },
      "message": "Fix class_linker_test now FindClass uses const char*.\n\nAlso move FindSystemClass into the .cc file, where it belongs.\n\nChange-Id: I171555ad6cf408be926b3f99ea61e2c5a835d1ec\n"
    },
    {
      "commit": "92cb498ffd2185fc8f8da7cd25fe485d0e7e3355",
      "tree": "6f7b195c82559184595c82c5fa04942b1ace49f3",
      "parents": [
        "34bfee11c5c36ed3090c46900727fd6c44b3710f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 16 16:57:28 2011 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 16 16:57:28 2011 -0800"
      },
      "message": "Fix some Mac OS size_t versus int complaints.\n\nChange-Id: I80bd0737122e76b42090fa0eed9b3f7c33b3640b\n"
    },
    {
      "commit": "c3b77c7c2971124cbf3b2d9da64e7a8a9a649f2e",
      "tree": "b8f2b70fb281d2d8b617491755bcdb7f798af837",
      "parents": [
        "90040194a1b5c441dde5c8a8b6d637c23972e0f3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 15 20:56:48 2011 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 16 14:17:50 2011 -0800"
      },
      "message": "Avoid copying and strlen(3) in the FindClass path.\n\nChange-Id: I789f3c883596d1852a2c1954ce7a207e6f937117\n"
    },
    {
      "commit": "6b0870dfaaa2e69a900ad7ed88e4e1d3697445aa",
      "tree": "e2b70620ea145ec8c0cace1ce558c9fdcb5dcd78",
      "parents": [
        "5c9f0b4d3933cdf6c3897dead3f77b16515b401c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Dec 15 19:38:12 2011 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Dec 15 20:18:49 2011 -0800"
      },
      "message": "Fixes relating to 003-omnibus-opcodes\n\nFix computation of bits needed for a PC in GC map.\nIn the case that ClassLinker::FindClass fails with a class loader,\nignore the exception and raise a NoClassDefFoundError.\nElide callee-save methods from stack traces.\n\nChange-Id: Ie0b7a544816e0c28d0f7df5821828aa84267cab7\n"
    },
    {
      "commit": "dbf05b722af99ba2fd2f4c4fc7eb6c3e9880e5d1",
      "tree": "41a93654631c6163c777172e9254ab48ba4010e5",
      "parents": [
        "c2b4447ae9c0c1e77595620acac6508999df6698"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Dec 15 00:55:24 2011 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Dec 15 10:18:54 2011 -0800"
      },
      "message": "Adding newly required headers\n\nChange-Id: I4c121eaf8fdade8b038fdc696df2d93309d78133\n"
    },
    {
      "commit": "c2b4447ae9c0c1e77595620acac6508999df6698",
      "tree": "20192c2044d004b364a7f8aa6c9cd3a272e3e706",
      "parents": [
        "fbef9462e3bf2301dd5b337d351b6b70f7e31bc8"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Dec 14 21:17:17 2011 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Dec 15 06:45:50 2011 -0800"
      },
      "message": "Fix for test 044-proxy\n\nProxy implementation was incomplete following meta-data refactoring,\ncomplete this change.\n\nChange-Id: Ic0567bdef373dbae17031a30aabc779027173229\n"
    },
    {
      "commit": "29e7ac74a3f9aec192099fec381baadaa55730ad",
      "tree": "350ef2b28d55411a31b838159191bf461aec03da",
      "parents": [
        "4d3c95bd7ee7d67993dc09617ee4138fa33af70f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Dec 05 23:42:57 2011 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Dec 14 11:02:24 2011 -0800"
      },
      "message": "Moving from libdvm to libart (1 of 5)\n\nChange-Id: I6541802c5f403a4ba4424818084b94bebe71dfca\n"
    },
    {
      "commit": "b067ac2fe225c76fc9eb9434ef62cbb797bfa425",
      "tree": "7afaac5b70dbcc2515f769b0d000240b1f20f4ab",
      "parents": [
        "91250e0c3fb0ad758b9b97042a3fa86d5ae76763"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 13 18:05:09 2011 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Dec 14 07:03:49 2011 -0800"
      },
      "message": "Fix for 073-mismatched-field test\n\nART distinguishes between static and instance field resolution whereas\nJava doesn\u0027t. Interface static fields bind more closely than those of\nsuperclasses. Implement field resolution code for the verifier so that\nit can determine incompatible class change errors when a static field\nbinds before an instance field.\nAlso don\u0027t search all iftable interfaces, search them in superclass\norder (as the specification dictates).\n\nChange-Id: I43b45bada8b9099ad805b244be10833d59bacfe3\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": "5fc5a0c8801028195ead49910b98a3490aa506ea",
      "tree": "20228918159eeb1b32ec05850d1761111bc4bf4f",
      "parents": [
        "96835e7b2b6c1e06e747cf8cf97a206fb902205a"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 13 10:39:49 2011 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 13 10:39:49 2011 -0800"
      },
      "message": "Fix VM test 065 and 066\n\nFix bug in setting the VerifyErrorClass, set this when super and\ninterface types are incorrect.\n\nChange-Id: Ib779e3e5c5aaa8ae4f83a673194f27bb31b37d13\n"
    },
    {
      "commit": "4dd9b4d95eec9db5338fb9bf132f9bb8facf6cf4",
      "tree": "f9dc6f6e6a55acea3a08f1f568ae6900c1dd7dd1",
      "parents": [
        "20a409c99a649a01cb7c65bd1089988445d8cdfd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 12 18:29:24 2011 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 13 08:23:08 2011 -0800"
      },
      "message": "Clean up verbose logging.\n\nChange-Id: I6b01980e7145c4f8d25a5b50f620903f61a1b427\n"
    },
    {
      "commit": "9f1ab126ff140f452c124dddf9b8a1ced6daf89a",
      "tree": "e65ecdb43832e3d53287a2c927949ae7409a92e7",
      "parents": [
        "6ef827a33b04fd5413d2ad88fd4599ca1920c824"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Dec 12 08:52:43 2011 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Dec 12 13:38:55 2011 -0800"
      },
      "message": "Address various dex2oat hangs\n\nclass_linker.cc - add support for no such field error\ndex_verifier.cc - address cases where type information isn\u0027t available\ndue to verification errors\ndex_verifier.h - support for monitor nesting upto 64 deep\n\nThese changes address Bug: 5742499, Bug: 5743100, Bug: 5742810\n\nChange-Id: I2e9a77059314c84f21ad5d194bad77c7f2fa2ee9\n"
    },
    {
      "commit": "4740cdff25875c530649a670b15e8ac52bfd7252",
      "tree": "0ca835b636fe2b6854ba65bee2eee3c4ea983048",
      "parents": [
        "0ad5bb8ea378a223eb6eaf89e0be2823c6f87c0e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 07 14:07:12 2011 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 07 14:07:12 2011 -0800"
      },
      "message": "Notify the debugger of class preparation.\n\nChange-Id: Ic9863d0cc1176c474df2239a286a01393845d589\n"
    },
    {
      "commit": "7fe2c691866ad643b9e21dd2c9d36fa79ec454c3",
      "tree": "1d7f200316a1d44d3af1dd3bdf1ea02fefce348b",
      "parents": [
        "3891c775503b1113a918180d9ecdaa79e92c69c6"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 06 16:35:59 2011 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 06 16:35:59 2011 -0800"
      },
      "message": "Don\u0027t log \"Failed to find OatDexFile\" when failure may be expected.\n\nChange-Id: I82b8eac2f90902b2adaca67d97dbf4d601c19122\n"
    },
    {
      "commit": "6d4d9fcb4f01e287ee29e81cd1c941ee5d11d379",
      "tree": "4c715bef86a3c5a47f9cea43c4a092cf4766ed4b",
      "parents": [
        "86b0010c79ef95b5333cd540b7d3af34a9f1a643"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 30 16:24:48 2011 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 06 14:02:09 2011 -0800"
      },
      "message": "Reduce meta-data object sizes, introduce meta-data helper classes.\n\nChange-Id: Id14ad218f1c74c659701352fdf1a45bf6444daa3\n"
    },
    {
      "commit": "6fa602d614d418f38afebb4d44f42e7dc0b4bd94",
      "tree": "90a8fcbead7ee9b5536916c9750c3889d5aebe3e",
      "parents": [
        "aed4be94da51b4fbb54c728151f0daf11535f6ab"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 02 17:54:25 2011 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 02 17:54:25 2011 -0800"
      },
      "message": "Implement static field getting/setting, and basic Eclipse support.\n\nEclipse uses a few new calls that I hadn\u0027t seen from any of the other\ndebuggers.\n\nChange-Id: Iccb45f226431b6cd30a17f7b5ee8397e0838c1fc\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": "47daf8794bf1ce8eba3f7d185af08f177a003396",
      "tree": "28bca21edf8cc3695c97d2d418ab91910e0bdf85",
      "parents": [
        "434424a3f60f2129aaa1780ac6a5c2618bc789e0"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Nov 23 11:42:45 2011 -0500"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Nov 23 11:42:45 2011 -0500"
      },
      "message": "Fix the compiler to resolve against the boot class loader first.\n\nI encountered a bug due to vogar including its own ancient copy\nof Kxml. We were using vogar\u0027s Kxml at compile time and the boot\nclass path\u0027s Kxml at runtime, resulting in incorrect behavior.\n\nThis fixes the class linker to use the same parent-first strategy\nin the compiler as in the runtime.\n\nThe result is that compiling vogar with the ancient Kxml will now\ncrash the compiler (fail fast) rather than doing undefined bad\nthings at runtime.\n\nI\u0027ve opened bug http://b/5663506 to fix the compiler to throw\nlinkage errors at runtime rather than crashing.\n\nChange-Id: I60702e8687f1b763b58895e7f75c6abeb32a11a0\n"
    },
    {
      "commit": "dbb4079eb1e7d7738c81a97c8dd2550885c1093a",
      "tree": "733d5c08027ae65fb89132609d2aec9e6e2d747d",
      "parents": [
        "25e79a5e9ecd4bf30e0ea90a7dd4313f7f44bc3c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 18 17:05:22 2011 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 18 17:47:00 2011 -0800"
      },
      "message": "Start implementing jdb \"locals\".\n\nThis lets us show the names and types of the locals, but all the values\nwill show up as 0/null. We\u0027re going to have to walk the whole stack and\ntake callee-save frames into account to do that right.\n\nChange-Id: Ic6e115513b6e65ae7ed4b7274e70bc514e83190a\n"
    },
    {
      "commit": "a215526d5c789cbef0f81a1f9aba22541a841cca",
      "tree": "4d6baa6e24d41027300bd22a7b7746267dd45f23",
      "parents": [
        "254db0ff7ea6509a1c2914b1d9532e2041a0c4c4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 16 16:26:58 2011 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 16 16:56:41 2011 -0800"
      },
      "message": "Implement enough JDWP functionality that we can attach jdb.\n\nYou can also try \"classes\" and \"classpath\", though anything else\ndeadlocks because we\u0027re suspended but jdb thinks we aren\u0027t. I don\u0027t\nthink that\u0027s a new bug with this patch, though, so I\u0027ll look at that\nnext.\n\nChange-Id: I54456b6a7fe72642be696c66aa485dc0c8a7f913\n"
    },
    {
      "commit": "254db0ff7ea6509a1c2914b1d9532e2041a0c4c4",
      "tree": "2b76fd513207c6679a50a91638d95361e9a05ae6",
      "parents": [
        "9b1a4f425711c26d0465d54a1cb95ec4a813322a"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Nov 16 16:44:11 2011 -0500"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Nov 16 17:21:45 2011 -0500"
      },
      "message": "Pass the classpath to dex2oat.\n\nThis makes it possible to run applications that have multiple\ndex files on the classpath.\n\nChange-Id: I15264a001a46ddb253e87f2739e6b9644348f1be\n"
    },
    {
      "commit": "a3760aad59f41bb0b1d46733165a2d7219ecca73",
      "tree": "28c031bac11cc172f04b8943e189bf1d065acd9c",
      "parents": [
        "169c9a7f46776b235d0a37d5e0ff27682deffe06"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Nov 14 14:32:37 2011 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Nov 14 15:40:11 2011 -0800"
      },
      "message": "Refactor the use of Method by the oat compiler.\n\nChange-Id: Ib0ee18ed06846f82567f746edc7a5049dc6215df\n"
    },
    {
      "commit": "0571d357843c53e042f370f5f2c2e9aa3fe803a9",
      "tree": "197e5b1c0b1bf0ee8cc0e1960470d0a8d203b4af",
      "parents": [
        "33dc7717cd16592bcc825350bea6305be9eb2ea1"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Nov 03 19:51:38 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Nov 13 11:57:18 2011 -0800"
      },
      "message": "Refactor the use of Method by the compiler.\n\nRemove the dependence on the Method object in dex2oat, allowing lazier\nresolution.\nIntroduce new find and iterators in DexFile to simplify common\noperations and avoid misuse of class data items.\n\nChange-Id: I39fb8252190f543d89d8b233076355cec310fe08\n"
    },
    {
      "commit": "234da578a2d91ed7f2ef47b2ec23fb0033e2746b",
      "tree": "f0d92cfd9163ebc00a94d629c9606f523821d2c8",
      "parents": [
        "cac6cc72c3331257fa6437b36a131e5d551e2f3c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 03 22:13:06 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 04 16:09:39 2011 -0700"
      },
      "message": "Basic file locking.\n\nIf someone\u0027s already doing dex2oat, wait for them to finish rather\nthan duplicate their work.\n\nChange-Id: Id620c75e013cbbcc84f5bf62a7629533a95307df\n"
    },
    {
      "commit": "cac6cc72c3331257fa6437b36a131e5d551e2f3c",
      "tree": "f2d690a06397d3fceac391802925f48909e999d7",
      "parents": [
        "64155032b391fd7132bdd04ec0669135ae1176a2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 03 20:31:21 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 03 20:31:21 2011 -0700"
      },
      "message": "More SIGQUIT detail, earlier exit in AttachCurrentThread, handling recursive aborts, and reporting debug/optimized builds.\n\nChange-Id: I932b49a8e92a91e340b4d98b8771dd4a41b61229\n"
    },
    {
      "commit": "64155032b391fd7132bdd04ec0669135ae1176a2",
      "tree": "f5379d9cb293c9f5b370c40fe6c0df19fe24b2a3",
      "parents": [
        "f8a199cb0c53b7a6f0def21ec5b462992d93746b"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Nov 03 17:56:34 2011 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Nov 03 18:26:34 2011 -0700"
      },
      "message": "Added caching of indexes for annotations.\n\nThis is a multiproject change, along with changes to libcore and\nframeworks/base.\n\nChange-Id: I333ffd264f58667f1ee25845e1de12ca99a8c299\n"
    },
    {
      "commit": "5d76c435082332ef79a22962386fa92a0870e378",
      "tree": "db8fdd7bfba3617494157b483e9df979f76dfdcc",
      "parents": [
        "4b6fe5a568ca2bc5e8fa110bf7af692cab220a15"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Oct 31 21:42:49 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 02 01:25:57 2011 -0700"
      },
      "message": "Mark non-image spaces and use write barrier for image spaces.\n\nDon\u0027t mark string and class roots that are in the image, alloc space\nreferences will be caught by the write barrier.\n\nChange-Id: Idcf9e4ede3b83556d4f8a01276273726dc6eea46\n"
    },
    {
      "commit": "28ad40dc3ec2f09b0ffd4f6d6787bf1b532ccd5d",
      "tree": "f5628e47948a0d255112a3a7a01b67db41c8d424",
      "parents": [
        "e0918556e7551de638870dcad3f2023f94f85a50"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 27 15:19:26 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Oct 28 23:14:15 2011 -0700"
      },
      "message": "Support for unresolved types in new-instance during verification.\n\nAlso, ensure that classes that don\u0027t load are erroneous, warn early\nabout exceptions left on a thread by the verifier/compiler, factor out\nslowpath checks for the compiler and fix the slowpath selector for\nconst-class.\n\nThis change causes more dex cache misses at runtime (more slowpath\nexecution). It also requires a \"mm clean-oat\".\n\nChange-Id: I014b49ebdd7d8f7dd2e39cc0958fc0b708d58c4c\n"
    },
    {
      "commit": "9074b99bfbd5419e340f138a018b673ce71f77e8",
      "tree": "0910d8eb0e08eb6cb45a1f307b31b1bc17d70c31",
      "parents": [
        "b82b6878fb000d4731063b1bf15c39ff7c50b61f"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 26 17:41:55 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 26 22:53:21 2011 -0700"
      },
      "message": "Better unresolved type support.\n\nAlso fix bug where miranda methods were changing their declaring class\nand thereby breaking their return type indices.\nAdd support for dumping stacks on abort.\n\nChange-Id: I3782864736b12d1f81ab9aea4909213d3344ba13\n"
    },
    {
      "commit": "0dd7ddaa36a2cf37490dc166ebc21818364130a7",
      "tree": "e381ae0cc965d2135ad99f07826333ccd03dfe90",
      "parents": [
        "ed6d78ed93c9b5b1988af6ca502a7e2eee0f2aaf"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 25 15:47:53 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 25 20:28:07 2011 -0700"
      },
      "message": "Several fixes for proper creation and use of vmap tables\n\nChange-Id: I7696115af4263df18ede0777ae14de7a3a7ada3b\n"
    },
    {
      "commit": "ed6d78ed93c9b5b1988af6ca502a7e2eee0f2aaf",
      "tree": "ace0bd817196693c462ee9bba00de196577e290a",
      "parents": [
        "f6a1e1e44b94221c4e6b063b36921c712a33910b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 25 17:35:14 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 25 17:35:14 2011 -0700"
      },
      "message": "Regenerate the .oat file found in FindOatFile if it\u0027s out of date.\n\nChange-Id: I285242c254d2622a7b92e7d7b5ffa38c1972633c\n"
    },
    {
      "commit": "5d84040e2231de1d48e6f30cab2cc8d4beb8effe",
      "tree": "3d327896eef070328f4cb0adef0ebbc0b03d6370",
      "parents": [
        "6b4ef025af12b158d117fc80fc79acf620f411a0"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Oct 24 17:09:45 2011 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Oct 25 10:31:32 2011 -0700"
      },
      "message": "Created --runtime-arg switch for dex2oat to pass arguments to runtime.\n\nThis replaces the -Xms, -Xmx, and -verbose options.\n\nChange-Id: Idc023b6d369bd8b5df932b9f2eb6dbc79d591ab1\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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "bf61ba3dcd9d9895b86a05e88762ff034b09b263",
      "tree": "554dae60ef90029ee8c72c87ef31f61ca88dd1d5",
      "parents": [
        "11dc6d927f75a95a680b38fee7373bf12baca398"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 10:53:09 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 11:02:53 2011 -0700"
      },
      "message": "Use a class root for detecting java.lang.ref.Reference subclasses.\n\nChange-Id: Ie2b74a5f2a16fedb49b65fbb67e13459877d8822\n"
    },
    {
      "commit": "928bf02d2172afdc7162101aa9fa70b0d02243c3",
      "tree": "1015194cd625ac231e356b15a7b302f08811c9b6",
      "parents": [
        "582a7d16bb0db323d8bd730beb61578aa3765f43"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 11 02:48:14 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 11 02:48:14 2011 -0700"
      },
      "message": "Ensure getConstString uses slow path for non-image compilation\n\nChange-Id: If7f0eeb277e1ddc9028c90d4b8fab1621f1ea77e\n"
    },
    {
      "commit": "582a7d16bb0db323d8bd730beb61578aa3765f43",
      "tree": "ec5ce05edac63b7849b39463d02470d4cc4fde3f",
      "parents": [
        "df143242f4beaad4cc9fbabebfc033b68c40964e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 10 18:38:42 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 10 18:38:42 2011 -0700"
      },
      "message": "Fix a handful of reflection bugs.\n\nWe now pass test 046.\n\nChange-Id: Ie605ed99e64038435608fe388c59526674af5489\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": "72ee0ae6207a5c0f1b13bb6a556e3e6f4d77a46a",
      "tree": "f50eaaccf3ca9e8c20c11e34a72cca239a490530",
      "parents": [
        "2da50365eec2e77fca8925ba6b42edfecbdf6ad7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 10 17:31:28 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 10 17:31:28 2011 -0700"
      },
      "message": "Disallow direct subclasses of java.lang.ref.Reference.\n\nMore extra-linguistic bullshit.\n\nChange-Id: Ib2c5328e5d934a06d5df8902d4b10ad28c458278\n"
    },
    {
      "commit": "2da50365eec2e77fca8925ba6b42edfecbdf6ad7",
      "tree": "e0f26ba77c3f44dd299b19d9eacbc64ea3847cc1",
      "parents": [
        "92827a5fc2598589b3717269cc09c33b8c53f30b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 10 16:57:08 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 10 17:09:45 2011 -0700"
      },
      "message": "Inherit java.lang.ref-ness from superclasses.\n\nOtherwise the GC doesn\u0027t know to treat you specially.\n\nAlso sweep system weaks. (Though sweeping the monitors is still unimplemented.)\n\nChange-Id: Ia89b58fd36dfd5c6c7dca70d432ddc838ca37ac5\n"
    },
    {
      "commit": "92827a5fc2598589b3717269cc09c33b8c53f30b",
      "tree": "e1bf729c78f160c54b9afdb87e999f4f97d5fdcd",
      "parents": [
        "6f495f2898a418f87e2a919e04fe23521bb0b9e9"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 10 15:50:01 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 10 15:50:01 2011 -0700"
      },
      "message": "Setup AbstractMethodError and dlsym stub when loading from oat\n\nChange-Id: Ie97fa6eb3cfb7d0c6224aa6914f28a7b137ae056\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": "6384f644e8120a15bddb9a72976eac1c158aba16",
      "tree": "c9f68810417e3e1e8ed56a2aff5e4f05bd6c85a3",
      "parents": [
        "f5a7a476e7ea63e094ff0f011dccc170607e6f6b"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Oct 07 18:08:35 2011 -0400"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Oct 07 18:11:31 2011 -0400"
      },
      "message": "Don\u0027t crash if the source file is null\n\nChange-Id: I63245c44c6faf394dd449a43c406dc464e81a309\n"
    },
    {
      "commit": "f5a7a476e7ea63e094ff0f011dccc170607e6f6b",
      "tree": "4f07e57d5e3d2a82eeefcb7c6409f36b383b1d96",
      "parents": [
        "c2858561314513cc7bce2da7e13664aefef5a2ac"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 07 14:31:02 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 07 15:08:48 2011 -0700"
      },
      "message": "Enhance CHECK_EQ and friends to allow extra detail to be appended (like CHECK).\n\nChange-Id: Iaa980892ab31621c8bcca9ea7c6c4ee743333f45\n"
    },
    {
      "commit": "3320cf46afd082398aa401b246e6f301cebdf64d",
      "tree": "99ef2b240ad81fa7cafa0bca51ca2364120fa762",
      "parents": [
        "4f0d07c783afef89703dce32c94440fc8621a29b"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 04 14:58:28 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Oct 07 11:59:20 2011 -0700"
      },
      "message": "Move rest of code related blobs from Method to oat\n\nChange-Id: I55041b564ab65317c8b1f863005f20ba650a0322\n"
    },
    {
      "commit": "4f0d07c783afef89703dce32c94440fc8621a29b",
      "tree": "f6f4b68d5afc6551c61d3e86153878d9891ea13a",
      "parents": [
        "3ddac99d4dc6a036fac59d8f0bdc664ef619fb04"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 06 23:38:47 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Oct 07 11:40:56 2011 -0700"
      },
      "message": "Spill possibly reference holding registers for runtime calls.\n\nLive references may be in registers when we crawl a stack for GC during\na runtime call. Whilst an exception won\u0027t occur we need to save the\ncallee save registers into the frame so the stack crawl can find their\nvalues. Create variants of the callee save method to save just the\nregisters that are necessary.\n\nChange-Id: I6fa479bffcbc333fe846f9bd3ef2e626e0209ed9\n"
    },
    {
      "commit": "d9cdfe91a4812a86d90a139569eac18e2b6de3fb",
      "tree": "8e4c87645a50b7a825586735143956c53eb9a6ac",
      "parents": [
        "efdbac54eef6209772dadf7d24c7b3d37dcc8713"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 16:09:04 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 16:09:04 2011 -0700"
      },
      "message": "Fix the weird state transitions in verification.\n\nThis probably wants to be done differently, without Compiler involving\nClassLinker, and with DexVerifier being told whether it should throw\nor not. But this gets us further for now.\n\nTest 077 still crashes, but that\u0027s now in code that\u0027s actively being\nworked on, which I\u0027ll leave for now.\n\nChange-Id: I4f265b20663837547933d0c5fa70032d22fc6c12\n"
    },
    {
      "commit": "bc258fafc4a83bba82a306aeb08a30fae7cb61fc",
      "tree": "b49f858e98e0747a0cdfeb1a78b39b8d70c338bd",
      "parents": [
        "5f9298a3430998af855930dc5df3133f55e1516c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 14:45:21 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 14:45:21 2011 -0700"
      },
      "message": "Fix IncompatibleClassChangeError.\n\nBefore, we\u0027d hit the end of FindClass and blow up because we don\u0027t expect a\npending exception.\n\nChange-Id: Ia3ca89d2460782275c5217c31ce3b057d12d4fa6\n"
    },
    {
      "commit": "92f14b266d0d9b5b5645bb56447a5dd22217b92c",
      "tree": "f3b08336085ce25b8c3bf7b97b3cca547e792d2f",
      "parents": [
        "510c878c73d944e8306d346e978f880bf2d06fd9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 12:29:54 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 12:31:39 2011 -0700"
      },
      "message": "Make sure that array_iftables_ is initialized when loading from an image.\n\nThis fixes test 009-instanceof2.\n\nChange-Id: Ieba95a295e34381aeb16f5950376ff8700b624de\n"
    },
    {
      "commit": "ad25ac568407ceb14334e8551dd1c4dd0fd6993c",
      "tree": "f1e2edb4b87d0b5ce35f94069db2f6cdb77db210",
      "parents": [
        "8c2f6414e1cff9a024a14369352f7ce112528b9e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 04 19:13:33 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 05 22:40:00 2011 -0700"
      },
      "message": "Static and direct resolution stub.\n\nEnsure that invoke static and direct go through a stub that causes\nresolution and initialization.\n\nChange-Id: I872900560322817d8f4378b04ac410d9ea0b3b17\n"
    },
    {
      "commit": "adb460d96702573de6e732ad58ca0380405cd928",
      "tree": "f70ad27d5fc007b70765a76644519234466dee61",
      "parents": [
        "68e76526e98432625464022cb26f66b9ef6f5af4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 05 17:02:34 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 05 17:02:34 2011 -0700"
      },
      "message": "Implement finalization.\n\nAlso make System.gc no longer a no-op. This replaces some of the\nMemberOffsets exposed by Heap with intention-revealing functions\nthat we\u0027ll want to share between all the actual GC implementations,\nbut there\u0027s still more to be done.\n\nChange-Id: I57ba26c0416fbbfe20142b7b6e27108684add7f9\n"
    },
    {
      "commit": "20cde9033d51103f31e21436e88f80e1170c78ad",
      "tree": "4b7c66092d988a9ed9345b66868da9cdf5cc8b4a",
      "parents": [
        "b408de744566a5c5a80be1ba7f5c88407e816945"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 04 17:37:27 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 04 17:56:41 2011 -0700"
      },
      "message": "Add Class::IsFinalizable and Object::AddFinalizerReference.\n\nAlso correctly set the special bit in Class\u0027 flags.\n\nWe need compiler support before I can go further.\n\nChange-Id: Ib7a637d7140a6f8c416635738d4d0b57c17ad628\n"
    },
    {
      "commit": "34f426c49ac2de8cea70acef6b9ecdd8e62209d2",
      "tree": "d838a44f5d9b3ba6d08164d577c6fb71156076b4",
      "parents": [
        "8cbc8bc716d7a47019ad14403920c72547b2fb96"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 04 12:58:02 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 04 13:00:10 2011 -0700"
      },
      "message": "Make class roots an image root\n\nChange-Id: I1f1513bf34caa736c0dd7518a92f493b4573d776\n"
    },
    {
      "commit": "58ae9416e197ae68ed12ed43d87407d4dfb15093",
      "tree": "9fa93ce844f931155bf4a1d060f091f3285fb205",
      "parents": [
        "4d0207c3ed28bbbb8c583a3c3a37f00d1cd4dedc"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 04 00:56:06 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 04 10:39:42 2011 -0700"
      },
      "message": "Simplify command line arguments\n\nChange-Id: I9d6902b0c447fd8fbe5600fd36139791b2ceefb7\n"
    },
    {
      "commit": "4d0207c3ed28bbbb8c583a3c3a37f00d1cd4dedc",
      "tree": "5a0a78f71729f35646081e3b872b2eac1f3db5d5",
      "parents": [
        "f43f03a2ace71a6f45eb4861d77d6a4064ffd06f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 03 19:14:34 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 03 19:14:34 2011 -0700"
      },
      "message": "Wrap non-Error throwables in ExceptionInInitializerError.\n\nThis doesn\u0027t fix test 084 because we still need the stub to ensure \u003cclinit\u003e is\nrun before static method invocation, but it gets us to the point where that\u0027s\nthe only failure in the test, and that\u0027s already being worked on.\n\nChange-Id: I9835394a733421541d9687f66aeb3bef9f5dbb0e\n"
    },
    {
      "commit": "d760bc40f564dcf7908b5d17474d1312fca400b5",
      "tree": "2a2296bb30e761fedeaf1461d56c9a2c355bac4e",
      "parents": [
        "d61ae7535b4d20cd9ceee9cdd96cdf89270e6bd0"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Oct 03 14:54:53 2011 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Oct 03 14:54:53 2011 -0700"
      },
      "message": "Fixed class linker ResolveType for multi-dimensional arrays.\n\nThe functionality of GetComponentType was changed to return the array\ntype, but one dimension less, instead of returning the basic element\ntype. Making the code drill all the way down fixes this.\n\nChange-Id: I89f6810a1362bb9d9c06c530d12646eb1375fccb\n"
    }
  ],
  "next": "5cb5ad27944efb08d4556b3c0d362302e37e832b"
}
