)]}'
{
  "log": [
    {
      "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": "c8dd298c88e142f5ca4fdf1f1a1a000c43d6eb19",
      "tree": "b0e4b41464d109f6581aa7d94747cf6da2881827",
      "parents": [
        "745016fa05eab1ce549c361c71756e208fe0c102",
        "30fab40ee5a07af6b8c3b6b0e9438071695a57f4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 26 17:52:33 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 26 17:52:33 2012 -0800"
      },
      "message": "Merge \"Upgrade to latest dlmalloc. Refactor Heap and related APIs to use STL like naming.\" into dalvik-dev"
    },
    {
      "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": "745016fa05eab1ce549c361c71756e208fe0c102",
      "tree": "11d3da8f42d7ddc0b69e5db3de14ec1fbbd69ab1",
      "parents": [
        "f3778f66879fa038a7c9ebe46d5bc4167ddef7d8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 26 15:24:13 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 26 15:24:13 2012 -0800"
      },
      "message": "Be honest about our assertions implementation.\n\nChange-Id: Ida4512e2953a47df999a125fa417cb867e22d45b\n"
    },
    {
      "commit": "f3778f66879fa038a7c9ebe46d5bc4167ddef7d8",
      "tree": "50499b6687d784cdcf571f5b6c5885d5f75be334",
      "parents": [
        "aa56b7287426ffc476843ad2ffab9eb70709e4ab"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 26 14:14:35 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 26 15:14:55 2012 -0800"
      },
      "message": "Fix test 046.\n\nLooks like a recent change put us on an untested code path, and we need\nto start distinguishing callers\u0027 intentions. We can also remove some\nunnecessary duplication.\n\nChange-Id: I950139e6fdc8656b89d8e1520e8b50f681c7f7b2\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": "cd74c4b3a6893c876c6e03fd99a1264249653d80",
      "tree": "fd59dad11cb63ab6ff40be13e1572e1c2becab67",
      "parents": [
        "844f9a072454eb9dca1022299b6bf99ef4294008"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jan 23 13:21:00 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jan 25 11:07:15 2012 -0800"
      },
      "message": "Fix thread hang\n\n- Primary problem was ScopedThreadListLock was releasing heap lock in constructor instead of destructor\n- Secondary problem was ScopedThreadListLock should not be used with Mutex::Wait\n- Added Thread.getStackTrace case to ThreadStress that reproduces YouTube problem\n- Added Mutex::GetDepth and related methods that were useful in diagnoising this issue\n\nChange-Id: I1bdc7245e9b411378b98f4dcf498ad66eb96366d\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": "94c0e33ac8773f250564cd024647a65c23761fb3",
      "tree": "29bdbd1c0a5d23cc3850dc60a3bc911cc18b10d2",
      "parents": [
        "c20a83e440557924dacaf8ec519e086865aaf5a5"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 18 22:11:47 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 18 22:35:30 2012 -0800"
      },
      "message": "Interface dispatch bug\n\nInterface methods should bind to the lowest sub-interface. Only search\ndeclared methods in a class before trying to find the interface method\nvia the iftables.\n\nUnit test that declares toString in an concrete class, where toString\nhas been made an interface method in CharSequence. ecj compiles this\nmethod call into an invokeinterface (hence the custom build).\n\nChange-Id: Iefa394c9e7a22da9c6ea58f07a77880102c2f966\n"
    },
    {
      "commit": "9ab05deb8c6fea15721870ee6420afa6587f52a6",
      "tree": "79d0c58e32ca1555a3999164f6e507706b8b8c29",
      "parents": [
        "754128802c6f85c256f845721d684bd00febddc9"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Jan 18 15:43:48 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Jan 18 15:43:48 2012 -0800"
      },
      "message": "Fix for issue 5884080: Loop formation regression\n\nThis CL is the art version of\n  https://android-git.corp.google.com/g/#/c/159057/1\nThe basic problem had been partially fixed in the existing art code,\nbut this CL is a more comprehensive fix.\n\nChange-Id: I59336ed4265a3535d6da7d51c9243430c68536bd\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": "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": "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": "12100a534aa9d5819de87586f53631642ab0f364",
      "tree": "94b82196e910499e39158c811be7c37df91ea79d",
      "parents": [
        "a68a1cb0769d618331d65a94d1a9cde68fcbb5ea"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jan 10 11:04:55 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jan 10 11:04:55 2012 -0800"
      },
      "message": "Fix for test 003-omnibus-opcodes\n\nThe test is holding a string that is hoped to be cleared live in a dex\nregister. Avoid this bug in the test by creating the weak reference in a\nseparate method. Bug: 5771901\n\nChange-Id: I8713e153ec0ce7e028d0587ac8132596d73e955b\n"
    },
    {
      "commit": "fe9cf7aee70aa3aeda32c64bd80194b52664c22e",
      "tree": "a61a305f102317832020478cadc51615c29290a7",
      "parents": [
        "ab3530dce2119432ce076e2499743cc7ee358e67"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 09 18:18:25 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 09 18:18:25 2012 -0800"
      },
      "message": "Rename SystemMethods to ReflectionTest.\n\nThis test started out as one thing, but ended up as something else.\n\nChange-Id: Idf85693cf49acf0ed198a92c4f3c66db31214ac0\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": "a5c0c21ac37756698374d233210cfd5b8e8b4436",
      "tree": "d628a75b8b60d1580d00cfb2d9bd3c059564162f",
      "parents": [
        "c3b77c7c2971124cbf3b2d9da64e7a8a9a649f2e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 16 15:25:15 2011 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 16 15:25:15 2011 -0800"
      },
      "message": "Ensure that 055 checks we don\u0027t cheat on the library side...\n\nClass.isEnum is expensive, but we need to make sure that it\u0027s cached\nrather than skipped.\n\nChange-Id: I130c683e3b48ccb2fd93dfca8e6ae3e73c8393f6\n"
    },
    {
      "commit": "831afe4c2334f3d96df39538023f122101c89384",
      "tree": "980cb1b75ba10ed3462c99ed827e75b23a5ffe0d",
      "parents": [
        "dbf05b722af99ba2fd2f4c4fc7eb6c3e9880e5d1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 15 17:27:34 2011 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 15 17:27:34 2011 -0800"
      },
      "message": "Improve the ThreadStress test to send SIGQUIT, and fix the bug that finds.\n\nI\u0027d heard complaints of a system_server deadlock on crespo, but wasn\u0027t seeing\nit on mysid. I did see it soon after trying to use crespo, but system_server\nhas way too many threads and adb is too damn unreliable for me to effectively\ndebug that. This improves ThreadStress so we exercise that path lots, and\ncatch the deadlock relatively quickly with relatively few threads.\n\nThe fix is explained in a code comment that\u0027s larger than the fix.\n\nChange-Id: I593bc94cf1239065a604703568420986a03ce628\n"
    },
    {
      "commit": "fbef9462e3bf2301dd5b337d351b6b70f7e31bc8",
      "tree": "2a373e07c766109a306f12a8169e57f4f4cfa0a7",
      "parents": [
        "6f45e8121ab05bb9dee9a039b959346e5476332a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 14 14:24:40 2011 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 14 14:24:40 2011 -0800"
      },
      "message": "Fix 088 the way the test\u0027s author intended.\n\nNot only was some of the verification code disabled in dalvik, part of the\ntest was too. This test was _intended_ to check that we fail gracefully\nwhen our monitor-enter stack overflows. Re-enable the test, and throw a\nverification error on overflow.\n\nChange-Id: Iaa973633ecc59c3c4810b97ada80eae1e4db3db5\n"
    },
    {
      "commit": "91250e0c3fb0ad758b9b97042a3fa86d5ae76763",
      "tree": "bb6f32bfc5178a9d56445b79ae0fd6763162e0a8",
      "parents": [
        "42298fab70318f39e53c0595e9fc570548dc253c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 13 22:30:35 2011 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 13 22:30:35 2011 -0800"
      },
      "message": "Knock 0.5s off the Calculator startup time.\n\nDown to 2.5s on mysid. We now only mess around with std::strings when we need\nto synthesize a descriptor. If we can just hand out a const char* straight from\nthe dex file -- which most of the time we can -- we now do.\n\nChange-Id: Iddec7062d8bd578bd25f671eb4d597e9ed064d65\n"
    },
    {
      "commit": "2d3430ac37a2d0fdc2015c364784aa0fed96197f",
      "tree": "b99ffdc9cbdf6007116ab8051f110f4b24a3f530",
      "parents": [
        "20a409c99a649a01cb7c65bd1089988445d8cdfd"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Dec 12 16:25:07 2011 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Dec 12 17:37:32 2011 -0800"
      },
      "message": "Fix regression in vm tests 021 and 082\n\ndex2oat defaults to build.art for the image which includes the junit\nclasses used by these tests. At runtime these tests are run with\ncore.art and so the code is missing. Change dex2oat to specify the boot\nimage is core.art.\n\nChange-Id: Icd80560ac06798634f47922cc9fb592966f2b511\n"
    },
    {
      "commit": "6ef827a33b04fd5413d2ad88fd4599ca1920c824",
      "tree": "77406068cca6949921ae61e07b8f933e107b5947",
      "parents": [
        "996a72b3b6149abbff1a5bddf2d6af6a77d3082f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Dec 11 14:57:47 2011 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Dec 12 11:20:06 2011 -0800"
      },
      "message": "Revert dex2oat file locking\n\nEffectively \"git revert 234da578a2d91ed7f2ef47b2ec23fb0033e2746b\"\n\nChanged run-test to do dex2oat on the host to eliminate original motivation for dex2oat locking\n\nChange-Id: I58d64f9b2ad7cf137df865945dd31361ca57f675\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": "4b0d1eec42241af8c65b42513a71539fe3307cdd",
      "tree": "c237b40b0031835a9789ae7d608c84716fe30690",
      "parents": [
        "6cb58afbc1cb1cec4220f49febda2177b2c0bfce"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 30 14:11:39 2011 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 30 14:11:39 2011 -0800"
      },
      "message": "Always compile tests with -g.\n\nAlthough it was useful in shaking out one bug to be debugging without -g, it\u0027s not\ngenerally useful.\n\nChange-Id: Ie585e142d8a8171c9d1be636e96963a2a9d6f739\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": "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": "c11607024d2e7a52ca690b8339306cab040e6653",
      "tree": "96ff9bd6a47dd71d18221a9037a6c1102ed64724",
      "parents": [
        "371814fd131d5b7b54a5839d292240f9c4ed4160"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Oct 27 15:48:45 2011 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Fri Oct 28 11:57:50 2011 -0700"
      },
      "message": "Added support for -XX:HeapGrowthLimit switch\n\nRuntime can now take in a growth limit for the heap, which can be\nsmaller than the maximum size of the heap, and will prevent the heap\nfrom growing beyond that size. The growth limit can also be cleared to\nincrease the size of the heap to the specified maximum size. This gives\napps some control of the size of the heap, but should be removed when we\nhave better ways to resize the heap.\n\nChange-Id: I338655bccd20bfd32e2318365f0f3283dbaaab1e\n"
    },
    {
      "commit": "371814fd131d5b7b54a5839d292240f9c4ed4160",
      "tree": "09d7f40b17af2fd6dd92a24dfd47c54fd346d6d0",
      "parents": [
        "fab62933853bf86275e683246f427cfe77205de3"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Oct 27 16:52:10 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Oct 28 00:30:11 2011 -0700"
      },
      "message": "Testing with the new verifier, fix comments as going through code.\n\nAdd helper functions for debugging GC map.\n\nChange-Id: I13fd4bbd5002bc1e9c8568be9ef3c0f16c2ab63f\n"
    },
    {
      "commit": "39723d3bdd9532af903efeac8908391bb94a12ac",
      "tree": "7c3c3c33c152466732be79812f47a3f994033af6",
      "parents": [
        "9fdfc1808f2a3845ee7e890a4e5d22a10f2ee93d"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Oct 24 02:20:31 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Oct 27 10:22:11 2011 -0700"
      },
      "message": "Fix the ReferenceMap test.\n\nChange-Id: Ib580210b2b51f5cf4480843dbb6b939bc2584956\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": "d2b8abf12778f3f8a56abeeda8591c39c47a8a90",
      "tree": "6b1be0db07b8bad10fd933f3baebfeb316ed977f",
      "parents": [
        "d1cc8363d4f4bbac7568b1d02a5ca481cd10830f"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Oct 24 20:42:51 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Oct 24 20:53:28 2011 -0700"
      },
      "message": "Fix the StackWalk unit test. SegFault was caused by wrong comparisons.\n\nChange-Id: Ie2c6bc44cb171a73bc20968feabdba328e35de74\n"
    },
    {
      "commit": "d1cc8363d4f4bbac7568b1d02a5ca481cd10830f",
      "tree": "df0c401ed6d5e4e9153268c3f336ead459a84cfc",
      "parents": [
        "4ffd31315bc0d00ec278e85feed15985de5ac3dc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 24 16:58:50 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 24 16:58:50 2011 -0700"
      },
      "message": "Wire up enough of the pieces that we can connect ddms or jdb.\n\n(And die with an UNIMPLEMENTED as soon as they connect, of course.)\n\nChange-Id: I9abb25d581384361c215b3cd96b8278c751e79ea\n"
    },
    {
      "commit": "d81871cbbaa34c649e488f94f61a981db33123e5",
      "tree": "a3adf3b7469fee507a4d4c4491942fbd48b4483d",
      "parents": [
        "262bf46ddc91e5b4fbd367127ff21a1877d939f2"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Oct 03 13:57:23 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Oct 24 11:56:15 2011 -0700"
      },
      "message": "Verifier clean up.\n\nThis is the first part in trying to move to a more rigorous mode of\nasserting the validity of garbage collection maps.\nIn the bring over of the verifier from Dalvik a large class had been\ncreated where all of the Dalvik/Dex functions were static methods of\nthat class. This rewrite introduces 3 key classes, Verifier that\norchestrates the verification of a method, RegisterLine which describes\nthe types associated with registers for a particular PC and RegType\nwhich describes the current type of a register within a line. The\nfunctionality is brought over from Dalvik but cleaned up to not do\nthings like goto. Failing within the verifier is also cleaned up. By\nvirtue of having stateful objects the interfaces between different\naspects of the verifier are greatly simplified.\nTo save space, RegTypes are cached upto a maximum possible 2^16, and\ngiven an Id. As the number of RegTypes is typically small this means\nthat we have a full OO implementation but at a lower space cost than the\ncurrent convention that uses botched together enum values requiring\n32bits of storage in a RegisterLine rather than 16bits (ie half the\nspace requirement per register in a register line). To make use of\nthis space more rigorous monitor verification is brought back, and\nultimately I think we can work around bug 3215458 with richer RegTypes\nthat are aware of literal objects.\nThe code removes short cuts that had been added to Dalvik\u0027s verifier and\nappear illegitimate, it also fixes a large number of bugs in the\ndescription of the verifier.\nWhere possible the spaghetti of code is replaced with straight line\nif-then-elsif.. code that clearly follows the ordering semantics of the\nspecification. The code is also aiming toward having a more type\nrigorous description of the verification process, and when this isn\u0027t\npossible following the description convention of the specification.\n\nChange-Id: Id25b742018a2ad5ea95687973cca610d7e19513c\n"
    },
    {
      "commit": "262bf46ddc91e5b4fbd367127ff21a1877d939f2",
      "tree": "a8c775ccabe058392fb008bc523605e34ed01bdb",
      "parents": [
        "ecbce8f17a80ddc8e5d80b075a8e334f1c2daf3c"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Oct 20 18:36:32 2011 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Oct 24 11:23:14 2011 -0700"
      },
      "message": "dex2oat invoked by system if it can\u0027t find an oat file for a dex file.\n\nThis allows the old dalvik tests to be run without ever explicitly\nrunning dex2oat on anything. Just upload the jar files and the system\nwill take care of generating the files it needs.\n\nChange-Id: Iad553bf6f57e28da4edb8eb0df47e62e08a0be44\n"
    },
    {
      "commit": "ecbce8f17a80ddc8e5d80b075a8e334f1c2daf3c",
      "tree": "477e70768a1fcf82c2e17bf3bc89865ddf8dbdb0",
      "parents": [
        "3bb81563481d02b5a6349b8ed918392454e761d8"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Oct 21 19:57:36 2011 -0400"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Mon Oct 24 12:58:46 2011 -0400"
      },
      "message": "Give proxy all of the return types. Part 2.\n\nChange-Id: I953144290307f46824642837530ac4deeb6a78b2\n"
    },
    {
      "commit": "3bb81563481d02b5a6349b8ed918392454e761d8",
      "tree": "d409347516f215acba0ac7090a44e0b536cba100",
      "parents": [
        "4514d3c0e69a49f5dbe19138330a2bb2aee36d63"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 21 18:52:59 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 21 18:52:59 2011 -0700"
      },
      "message": "Basic JDWP option parsing...\n\n...and just enough code to silence all the UNIMPLEMENTED warnings you get\nduring normal usage.\n\nChange-Id: I56820ac971b88581c4cb1f462c13331d8fa04c43\n"
    },
    {
      "commit": "4514d3c0e69a49f5dbe19138330a2bb2aee36d63",
      "tree": "f5bd420d6e5f1f2daeb418561c7adf016c161810",
      "parents": [
        "872d4ec7225444d9400d30f9027247deb91012fd"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Oct 21 17:01:31 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Oct 21 17:55:30 2011 -0700"
      },
      "message": "Fixes for ThreadStress test\n\n- Fix deadlock when ThreadGroup.remove(Thread) was run with\n  thread_list_lock_ but needed to GC to allocate an iterator\n- Fix ~MonitorList to clean ownership of any locks that might be held\n  by JNI or daemon threads on shutdown.\n\nChange-Id: I95e23c3b7c745f6a8387789949f3ec849458a27d\n"
    },
    {
      "commit": "7c6deaa3382f1f4fb0f591af206f03045c6e9004",
      "tree": "7f0a4e2956aae97b6d813eee620b486222b1333c",
      "parents": [
        "4f20aef512500525b2255d4b0e6984fe3e4b5229"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Oct 21 12:05:06 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Oct 21 12:35:43 2011 -0700"
      },
      "message": "Add ThreadStress test to try and exercise corner cases\n\nChange-Id: I8d151e9ba935b8c76406483c6c276cc26896aabf\n"
    },
    {
      "commit": "fb8a127fd2ca8eb6cbbc9d62b708c1fc2b3003a4",
      "tree": "f93c76c6f734cd44a858d7cfa20fc4bf546736a8",
      "parents": [
        "7f88e76688c5d74959d99bf3db4b4b0af88bfe29",
        "40381fb9dc4b4cf274f1e58b2cdf4396202c6189"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 20 12:27:42 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 20 12:27:42 2011 -0700"
      },
      "message": "Merge \"Reuse SIRT for C++ references\" into dalvik-dev"
    },
    {
      "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": "7c04610d42cad31e6593ae1561ed855aceac1d7a",
      "tree": "42c030ff5fc14983eca8dc85c87b5eb287c7634e",
      "parents": [
        "c393a4f7c91534ac41a81d66b12c22e68df28fc7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 19 18:16:03 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 19 18:16:03 2011 -0700"
      },
      "message": "Add --invoke-with and -d to the dalvik tests.\n\nChange-Id: I358945fd2b41c1615441c1687a582a66e662eba9\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": "bb1e8f0a07c12a8b0a2dd3cab6a1a7e825a54c6f",
      "tree": "b2c5d6d1765a6a4de8c3f90c32d78b424f870635",
      "parents": [
        "362f9bc807169bcfc8761dde067bbfb79b5ad0fd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 18 14:14:25 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 18 14:14:25 2011 -0700"
      },
      "message": "Implement -Xjnigreflimit.\n\nChange-Id: Iaa31cf4ea4f90fc76baa4472b67fe6c2cc0e0277\n"
    },
    {
      "commit": "2641f715c987ba560d246adf95e5e5434d70c6db",
      "tree": "139da90d8ab944997a7795b7e1da513b82a90678",
      "parents": [
        "accd83d1523545ac69bafd38e72a7d5cff8e2fac"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Oct 16 22:43:11 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Oct 17 14:56:38 2011 -0700"
      },
      "message": "Move test codes out of src/. They belong to the test/ directory.\n\nChange-Id: Icd671cfef4026facef37c81aa67f4bed24e8f640\n"
    },
    {
      "commit": "accd83d1523545ac69bafd38e72a7d5cff8e2fac",
      "tree": "1bad139a9b741483e34adc23b249e9f7fd1b6913",
      "parents": [
        "6f7c958469d9b5a44ca2472058961a13d437b7bf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 14:25:58 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 14:25:58 2011 -0700"
      },
      "message": "Fix a heap lock/thread list lock deadlock.\n\nWe had an uncaught OOME whose uncaught exception handler -- running\nwith the thread lock held -- was trying to cause a GC while some\nother thread had the heap lock and was waiting for the thread list\nlock.\n\nChange-Id: I22177129562268837127d9edcc63ef5e93054bdf\n"
    },
    {
      "commit": "d81cdcc27ba1c0bc8a48d28b5d4f93006500e18c",
      "tree": "0cc5bacf4d180f73ba04469c57a1f7b974378fa8",
      "parents": [
        "7f14116b1daeb2d6c80ed93716f734d34865eae1"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Mon Oct 17 14:36:48 2011 -0400"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Mon Oct 17 14:37:45 2011 -0400"
      },
      "message": "Fix annotations test 004.\n\nWe use the Java return type rather than looking the return type up\nfrom the dex file because we don\u0027t have a dex file to look it up in.\n\nThe expected results were sorted statics first; now we\u0027re sorting\nthem non-statics first.\n\nChange-Id: Id4ac52cdec9b472483ec055e47ca1bc3c6a2d885\n"
    },
    {
      "commit": "556217477768af1b2abf6768f007c09f226bbe7e",
      "tree": "e01728694ac959b0bec32106aad6a0c1b1af4fc6",
      "parents": [
        "0691851db8fb542f4058dfb6e75faf3f9a9f5ff4"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 17 00:41:56 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 17 00:41:56 2011 -0700"
      },
      "message": "Add ParallelGC to reproduce system_server hang\n\nChange-Id: Ie563663df5fc744755102719378446b9efa16cf3\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": "9b27e1c213d72f59f8ac760cb7a25fbaa5a66059",
      "tree": "c6732da009349e308f0a53275be4a530250111f0",
      "parents": [
        "3b6baaa203fa63f1522b2172a1645f90412afdae"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Oct 16 12:54:20 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Oct 16 12:54:20 2011 -0700"
      },
      "message": "art/test build fixes\n\nSome of the old Dalvik tests have custom build rules - changed to\nsupport new location of core.art in data/art-test.\n\nChange-Id: I4a84c299e99c3567d8afe4f76e23a35ae26b754e\n"
    },
    {
      "commit": "c9b1e49b91a33abd4a90ec1bb395249f8cb69a6c",
      "tree": "d37fdeb0ad07efb2b524ae78b52c1b694ccd76a8",
      "parents": [
        "dc0f4c9d841e8c740018b1aa26eb9e8024a170f0",
        "63433ba79fbe063881c263f8b348fb990c25a83e"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat Oct 15 20:39:58 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Oct 15 20:39:58 2011 -0700"
      },
      "message": "Merge \"Add a unit test for ReferenceMap that involves try-catch-finally.\" into dalvik-dev"
    },
    {
      "commit": "63433ba79fbe063881c263f8b348fb990c25a83e",
      "tree": "eaab2d75b9e390ae71c1101538818a8830152e71",
      "parents": [
        "8e1b4ff0870dab12388b7064526a70bdd67082f6"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat Oct 15 18:40:39 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat Oct 15 18:42:21 2011 -0700"
      },
      "message": "Add a unit test for ReferenceMap that involves try-catch-finally.\n\nStress test the ReferenceMap when the program may have out-of-bound\nexception.\n\nChange-Id: Iec892d9564c501794571a7c52519ac539a792d6e\n"
    },
    {
      "commit": "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": "47a0d5a6f221066c3daf7f67f2122ed9c9cd217c",
      "tree": "a14a0bec52655075b5e14844328d0df440b616ec",
      "parents": [
        "0839bdb71ba2dba8782f1813d7f7cee67a6f6a28"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Oct 12 21:20:05 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Oct 12 22:29:03 2011 -0700"
      },
      "message": "Move art content to /data\n\noat tests, gtests, and run-test content to /data/art-test\nboot.oat and boot.art to /data/art-cache\n\nChange-Id: I68f9f6798bc4ea0596642ff5624f3e77dec6ccbe\n"
    },
    {
      "commit": "9ca7a1fdd0daa546b790adb6a24dbc13c22df76a",
      "tree": "8e63b5714186aee1d4464a9340d614d080886527",
      "parents": [
        "bf61ba3dcd9d9895b86a05e88762ff034b09b263"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 14:29:52 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 14:32:59 2011 -0700"
      },
      "message": "Add -Xzygote to suppress starting the signal catcher thread.\n\nChange-Id: Iae98ac9d362c71074befbc702f8cae96888211ec\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": "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": "5f9298a3430998af855930dc5df3133f55e1516c",
      "tree": "9e458066cc1b512f988e48659328dbc6cc47640c",
      "parents": [
        "3b3e118262c4717ef367e73445442e640f4093d8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 14:20:20 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 14:20:20 2011 -0700"
      },
      "message": "\"Fix\" racy test 030.\n\nDalvik fails this test too. I think two waits of 5s on one side and a 10s wait\non the other is too racy. This is a quick hack that brings one side down to two\nlots of 4s.\n\nChange-Id: I1176e21a3c31832f899d9423a89124c24dfd962d\n"
    },
    {
      "commit": "3b3e118262c4717ef367e73445442e640f4093d8",
      "tree": "aea80a1c9da052168144de89c0af988f6833f30c",
      "parents": [
        "32caed449e4f2ecd90ebb116a714df0ebcc537e9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 13:53:01 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 13:59:40 2011 -0700"
      },
      "message": "Fix the thread test to not be racy.\n\nWe shouldn\u0027t assume we know what order threads will be started in.\nRunning a debug build, it sometimes takes \u003e 1ms to start the next\nthread.\n\nChange-Id: Icb7792f83809ad414cfcdf0828cdc198698deaf1\n"
    },
    {
      "commit": "32caed449e4f2ecd90ebb116a714df0ebcc537e9",
      "tree": "594fc125ba24aacdeb98729cdce7c5df4eca0a3e",
      "parents": [
        "8eb434f151dd04f23738f4dc7703eb156aa4acb9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 13:41:44 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 13:41:44 2011 -0700"
      },
      "message": "Update test 031 to track the libcore annotations implementation changes.\n\nChange-Id: I22c6954dfff28d3c9a1faa193bc42b527a142f85\n"
    },
    {
      "commit": "510c878c73d944e8306d346e978f880bf2d06fd9",
      "tree": "88088d93560d4be86997b419b347df2c0c99b6a2",
      "parents": [
        "f57c47c29cd3388d1d78008a71c4e18f2217b70c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 10:57:34 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 10:57:34 2011 -0700"
      },
      "message": "Fix the expectations for test 007 to match the RI\u0027s output.\n\nAlso distinguish between building and running in run-test.\n\nChange-Id: I4ca1a8b86839995959dd86b341086eb962e6f094\n"
    },
    {
      "commit": "8cbc8bc716d7a47019ad14403920c72547b2fb96",
      "tree": "58f2a58cb52de0a9ea36eeb8e4ddd6a0861b698a",
      "parents": [
        "58ae9416e197ae68ed12ed43d87407d4dfb15093"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 04 11:19:45 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 04 11:24:27 2011 -0700"
      },
      "message": "Use a test-specific name for each generated file.\n\nThis lets us run multiple tests in parallel (and know what we\u0027ve got lying\naround on our devices).\n\nChange-Id: I90ecc4ceaae0ee4b323d861c2b408e2944a2f8c1\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": "33f741eefef8f8012f6c190b39355f2e0430d535",
      "tree": "8d17953423f87d6fec38404dd503b6bfad9ac474",
      "parents": [
        "1afef11c4cfb0ac37db7aba183bf71f938af2520"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 03 11:24:05 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 03 11:24:05 2011 -0700"
      },
      "message": "Remove opening of DexFile from pointer\n\nChange-Id: I158e75e9e72f1dcc579742ff08c80d3f857852b3\n"
    },
    {
      "commit": "1afef11c4cfb0ac37db7aba183bf71f938af2520",
      "tree": "4ca9e7e64636ef79b3ad6cfbbadeb0d569b77dc4",
      "parents": [
        "d61ae7535b4d20cd9ceee9cdd96cdf89270e6bd0",
        "e24fa61603a60ade3797e4a0c8b3fccb346cb048"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 03 10:28:56 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 03 10:28:56 2011 -0700"
      },
      "message": "Merge \"Separate oat from image\" into dalvik-dev"
    },
    {
      "commit": "e24fa61603a60ade3797e4a0c8b3fccb346cb048",
      "tree": "9ec5ed942eb9ece6d4d261ffd21956c94f9968fe",
      "parents": [
        "06cbeb990e94f9c4576601e27145fe132e34a686"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 29 00:53:55 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 03 10:28:05 2011 -0700"
      },
      "message": "Separate oat from image\n\nChange-Id: If2abdb99826ead14e3465d90ba2acffd89709389\n"
    },
    {
      "commit": "d61ae7535b4d20cd9ceee9cdd96cdf89270e6bd0",
      "tree": "456df7d2a463db461a83167c70f4010ce64bbaa8",
      "parents": [
        "06cbeb990e94f9c4576601e27145fe132e34a686"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 02 17:47:42 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 02 17:47:42 2011 -0700"
      },
      "message": "Remove dead cruft from SystemMethods.\n\nThis needs a lot more cleanup. This is just a start.\n\nChange-Id: Iafe9bb1f77885407ce4b988e0266cd2da1ef9a0c\n"
    },
    {
      "commit": "ed1c1e335acc9f61c7e25a78204f159ee3d13350",
      "tree": "91be0a05aaf7e18f655cad675e411ed56a79d48a",
      "parents": [
        "67786519786755d287bcda07dceb6b6110b4f3f0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 02 14:31:05 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 02 14:31:05 2011 -0700"
      },
      "message": "Fix field access.\n\nThere was a bug in the implementation where the native methods weren\u0027t\nnecessarily getting a null receiver but art::Object insists that you only\nget/set static fields on a null receiver.\n\nAlso, these tests assume that fields are in the setAccessible(false) state\nby default. In our system, they\u0027re not.\n\nChange-Id: I935614fec013be465fc0bc30d3c717f12476e09b\n"
    },
    {
      "commit": "7502e2a419f84808518cf212b3d7145c7b959c76",
      "tree": "0eb3a05d72305db9b758ffc2d283ac5e428f9026",
      "parents": [
        "5cb5ad27944efb08d4556b3c0d362302e37e832b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 02 13:24:37 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 02 13:24:37 2011 -0700"
      },
      "message": "Fix the 051-thread test.\n\nThis changes Thread::Create to clean up the requested stack size before\npassing it to pthread_attr_setstacksize.\n\nI modified the test to work around the inherent raciness in the test, which\ncurrently causes us trouble because with all the debug logging, the thread\nthat initializes System.out takes longer than 1ms, so the first 40 or so\nthreads all get woken in non-numeric order.\n\nChange-Id: I8047bf00330aaf4210dcb53a4437b1fe0562179e\n"
    },
    {
      "commit": "5cb5ad27944efb08d4556b3c0d362302e37e832b",
      "tree": "63334f19072ca2ba7179973f0ce62101ee89605d",
      "parents": [
        "d6fe38d96b6116bd53cf2cb14734af8d69e08661"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 02 12:13:39 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 02 12:13:39 2011 -0700"
      },
      "message": "Fix exception throwing to support no detail message.\n\n(The empty string as a detail message is distinct from a NULL detail message,\nand is treated differently by Throwable.printStackTrace.)\n\nChange-Id: I8c65deac9f18c5782dcf6e72e4c37e6dd4174fe9\n"
    },
    {
      "commit": "68c5478a1a80d37124d379396cba7085836b371f",
      "tree": "2c1b684f31372fb33a12e5cbf9f335ed9ed60991",
      "parents": [
        "f839654685310ee295346e7bc345ad9037adc1d9"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Oct 01 12:42:21 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Oct 01 12:42:21 2011 -0700"
      },
      "message": "Update exception test with new traceback\n\nChange-Id: Ia125ccdb206b10ef5bed9c81e9e6d67c3f81bd5f\n"
    },
    {
      "commit": "795d78f4d04c8d007bf2bdf2ed4131379bcf19c7",
      "tree": "9d6288a561f82997ddd60ee0109949a65807cb79",
      "parents": [
        "d2e0f90f0ab743743c4bb893b2a694b366b2b147"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Fri Sep 30 18:34:35 2011 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Fri Sep 30 18:34:35 2011 -0700"
      },
      "message": "Old tests run with new system.\n\nThe tests are ported and run with the new system, though many currently\ndon\u0027t pass. Some of the tests also need additional fixing to run\nproperly.\n\nChange-Id: I3263cf5dcb0fe064a3e6c02e4aa1bb9a067f64c7\n"
    },
    {
      "commit": "5d1ac920fdaef5d4ec8f66bb734488cd9660b024",
      "tree": "dd372f306ab70f4c86759869b1f74eca62ff6f2b",
      "parents": [
        "c31664f3d82e6cd68275a529a8a73f067a52e8be"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Sep 29 17:41:15 2011 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Sep 29 17:41:15 2011 -0700"
      },
      "message": "Adding old unit tests to test suite.\n\nThese tests are copied straight over. They\u0027ll still run, but they\u0027re\nusing the old system.\n\nChange-Id: If494519e52ddf858a9febfc55bdae830468cb3c8\n"
    },
    {
      "commit": "abcfde3b9661618a88e170fac6fdf092a59eb993",
      "tree": "81b14e7b70438c8b2490bf7ae26a1707db26afd2",
      "parents": [
        "557e027f86d86f801e1b48055f8116f2d83d3d5c"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Sep 29 15:05:18 2011 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Sep 29 15:05:18 2011 -0700"
      },
      "message": "Fixed test for static final fields that don\u0027t use \u003cclinit\u003e.\n\nStatic final fields that are initialized by a compile-time constant\nexpression are replaced by copies of the constant value. This is done by\nthe compiler, and the dex file format passes it on.\n\nChange-Id: I19c9b63508a4632ac32b8b877f33d68bfb3b054b\n"
    },
    {
      "commit": "4f894e385e8ac018f078be75fea0a45696626b15",
      "tree": "ce10f5891f700c6535091984c251730e8e50d02c",
      "parents": [
        "d1422f81bf9b35cb2aad3fb5615d3f5209014709"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue Sep 27 21:33:19 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Sep 28 15:47:56 2011 -0700"
      },
      "message": "Fix stack scanning bugs: Add PC OFFSET before retrieving Registermap.\n\nGC passes for the MemUsage of 5 MB * 100.\nNote that RegisterMap is uncompressed. Also add new GC test.\n\nChange-Id: I7a7afc845d4582f8f2f3ba95e4716266ec46c635\n"
    },
    {
      "commit": "8ab8328fe00ba9906fa8c1f6b96003d84f784215",
      "tree": "a117aab842bfd3a048b8238ca05b286363ec6605",
      "parents": [
        "07a8c8cf2472e64a8dbe736710a7670958f5b152"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Sep 25 00:05:53 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue Sep 27 13:36:03 2011 -0700"
      },
      "message": "Add a test to trigger GC.\n\nChange-Id: I398465ae0129612d0f8742d129a4c82c796584a3\n"
    },
    {
      "commit": "5d40f182181488eb39ccd19ffd306bb1fb9740c9",
      "tree": "f76c0593d7be5975543411a3d85134e846774ba5",
      "parents": [
        "1ff230d113d25fbcd2986773799ac1ef504a6af0"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Sep 26 22:29:18 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Sep 27 01:24:39 2011 -0700"
      },
      "message": "Fixes for \"null instanceof\" and class initialization\n\nFirst issue was that the codegen seemed to expect r0 to contain 0 for\na false result in the null object case. This is a quick fix to make\nthat true. Given that the code is doing the work of a null check and\npulling out the object\u0027s class, the code should probably just pass the\nclass to the helper function, making this a case of IsAssignableFrom,\nnot instanceof.\n\nSecond issues were related to missing EnsureInitialized calls in two\ndifferent code paths, one coming from reflection, one coming from\nmanaged code. New Class::AllocObject assert should help keep us out of\ntrouble in the future in this area, although perhaps Heap::AllocObject\nshould have a check as well.\n\nChange-Id: Ib7975b6457481c1ac85135d38f42c6061e6443a0\n"
    },
    {
      "commit": "9407c60800c95902fba0b3c3265520d47c1e7052",
      "tree": "de5f2f0cc2d7840da217ec70c04644f4a6f38b53",
      "parents": [
        "4681c809ba35d50fab92c592ce8d2c7f8b2731f7"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Sep 16 10:36:43 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Sep 25 23:34:37 2011 -0700"
      },
      "message": "Stack scanning: Find RegisterMap and unit-test it. Add decoding of the map.\n\nTests disabled, because there is a bug in System\u0027s LoadLibrary.\n\nChange-Id: Ied3f4a31ce454f37c4d0f9caacd4ba03c4adb493\n"
    },
    {
      "commit": "2a20cfd0b7fc81099f5de0da782ebcc1cb262792",
      "tree": "ef9b496f2ea83edce5cbe4a427dbaafd710bff16",
      "parents": [
        "65ca077378935beb113bb5aec5e890054ca3286e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 23 19:30:41 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 25 10:29:48 2011 -0700"
      },
      "message": "Implement java.lang.reflect.Constructor.constructNative.\n\nChange-Id: Iefa92ad1bd89073d4bfa9a80b9e4f0dea90a5849\n"
    },
    {
      "commit": "b886da8e3c26443ab4d2aa63268bd673c354c3d2",
      "tree": "26f01b0d92a79dea97fe80ccc580a7cbcd0178ac",
      "parents": [
        "e51a511ccee3f3c0120807321bcc160fcaa664be"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 23 16:27:54 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 23 16:27:54 2011 -0700"
      },
      "message": "Support for exceptions from array allocation.\n\nAdds support for exceptions during array allocation and checked array\nallocation (used by filled-new-array). Adds more unit tests.\n\nChange-Id: I3438b257a1cf19538d8b72529097a74347ac3b99\n"
    },
    {
      "commit": "e51a511ccee3f3c0120807321bcc160fcaa664be",
      "tree": "24ae359ac6331afbfabcfb8b938bfad2e4d44ce6",
      "parents": [
        "382ece5707c7b7c61f44a01f57ac22df9a8197d0"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 23 14:16:35 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 23 15:24:10 2011 -0700"
      },
      "message": "Exception support for CanPutArrayElementFromCode.\n\nAlso a unit test.\n\nChange-Id: I6fb4b4180d36ea2d8447a9b4d5cf28cf410960cd\n"
    },
    {
      "commit": "932746a4f22951abcba7b7c4c94c27b1bf164272",
      "tree": "4a841e3990467b22c36c74cca1e7a952754e49e6",
      "parents": [
        "a0841a83323a82e3bed3d0b5f2e6ec3795f496be"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 22 18:57:50 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 22 20:05:44 2011 -0700"
      },
      "message": "Stack overflow error and unit test.\n\nChange-Id: Ie7198569207b1b87c50d986df002c551ad5d7d3a\n"
    },
    {
      "commit": "a0841a83323a82e3bed3d0b5f2e6ec3795f496be",
      "tree": "de2812c45564635af1445260ad52dd42272104e9",
      "parents": [
        "cbba6ac9bf9a6c630a7aafae6d8767b5ddbb6fd5"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 22 14:16:31 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 22 16:59:56 2011 -0700"
      },
      "message": "Abstract Method Error unit test and fixes.\n\nChange-Id: I14015ffd9f8adca9d0b2d90b91811c920b13716d\n"
    },
    {
      "commit": "ff1ed4770bf7ff024a807b9f909b1a26abb78341",
      "tree": "40cda83cda306f4ade883141d3e0a40fb0790100",
      "parents": [
        "49de87b5c118cc536f2bd68c4fd46fce3d3abcfc"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Sep 20 13:46:24 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 22 11:08:56 2011 -0700"
      },
      "message": "Class cast, fill array and interface exception support.\n\nThis change uses the deliver exception mechanism to implement support\nfor a number of runtime exceptions. It also tidies up code in the\ncompiler and allocates a singular callee save method in the image.\n\nAlso adds a fix for JNI internal test where we weren\u0027t passing\nThread::Current() and that this value is now being used in generated code.\n\nChange-Id: I57eefd9afe40e92fa3a7e737f1a2ed7e1094b5c1\n"
    },
    {
      "commit": "9651f425f7413772a7b5352da2b04eb7de7d416f",
      "tree": "bd72ec24dc9901a03c19cd93c72e80bbd3af0b89",
      "parents": [
        "845490bda68f7d025ea7f45775c847d2932e00dc"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Sep 19 20:26:07 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Sep 19 20:58:22 2011 -0700"
      },
      "message": "Implement NPE, div by 0 and AIOBE.\n\nImplement runtime support for throwing NPE, divide by 0 and\nArrayIndexOutOfBounds excptions. Add simple unit tests.\n\nChange-Id: I69453c10b6692aa79512bcab1f68c5ab16c8c256\n"
    },
    {
      "commit": "9086572fa809d1a19d886b467e4da3ce42016982",
      "tree": "15e28b57d4500d7daff225f993affabbbd22cefb",
      "parents": [
        "47d913865f35576b39a3b7f17720c344a6b99fa5"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Sep 19 11:11:44 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Sep 19 13:06:22 2011 -0700"
      },
      "message": "Fix for implicit null test for oat.\n\nThis change also cleans up the notion of the callee save method with a\n\"IsPhony\" call. Stack visitors check whether the frame they are on has a\nlegitimate method with \"HasMethod\".\n\nChange-Id: I8ac0fdd595c1e764fdc22cfa9c6a394595f7e141\n"
    },
    {
      "commit": "25c3325bf95036bf325fc7cb21b4fd6d40282857",
      "tree": "58d95f906ca62f9cf69106c459db972e32af01a0",
      "parents": [
        "e5de95b3f9609e02fefd7cda7b21f30c9412eb4c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Sep 18 15:58:35 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Sep 19 09:31:34 2011 -0700"
      },
      "message": "Fix compiler class initialization to properly deal with super classes\n\nAlso moving active parts of compiler_test to be oat tests including\nIntMath and Invoke. Added an interface invocation test case to Invoke\ntest. Changed Compiler to CHECK that it is not used once the\nRuntime::IsStarted, forcing some jni_compiler_test to have two phases,\none for compiling before Runtime::Start and one for JNI operations\nafter the Runtime::IsStarted.\n\nFinally, fixed Class::CanPutArrayElementFromCode by removing\nCanPutArrayElement and calling IsAssignableFrom directly.\n\nChange-Id: I52ca4dbc0e02db65f274ccc3ca7468dce365a44e\n"
    },
    {
      "commit": "29f2742a478e4f5bd2ec7473410c5e5e7134a6f2",
      "tree": "aad7a0ddf57e680fa9a9049648e1d0f3a58d7cb3",
      "parents": [
        "fa3baf7998f0af9de067eadf1f3b9a0b45d13349"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 18 16:02:18 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 18 16:06:07 2011 -0700"
      },
      "message": "Uncaught exception handlers and automatic removal from thread groups.\n\nAlso fix exception stack traces to only include what they should.\n\nChange-Id: I9aebc48515b60bfb2b93710192d9a1407936e04a\n"
    },
    {
      "commit": "bbf1e41e8d9b2446756e729f30c2501fb3e682c1",
      "tree": "c66ce4a4e3ac6ff4b0d3ce9f1d535360ef1ad2d8",
      "parents": [
        "038a806df72f884d22283a84a31c9a1d35ba1fdf"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Sep 18 14:14:51 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Sep 18 14:23:49 2011 -0700"
      },
      "message": "Move main method tests from gtests to oat tests\n\nChange-Id: Ifffa4d083488114d6cc14d578ec2be7db8a7553f\n"
    },
    {
      "commit": "93dd9660955f1c0f068c57199c1945fc51fb84a7",
      "tree": "bb22f1aa51d295e7b18f39e4ce3c6e6933408edc",
      "parents": [
        "b6db9d29038a0e8dea8a399b155bd60448ec5e97"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Sep 17 23:21:22 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Sep 18 13:08:32 2011 -0700"
      },
      "message": "Implicit NPE support when no exception given to throw.\n\nThis change adds support for creating an implicit NPE when throw is used\nwithout giving an exception object. It extends the CatchTest to check\nthe functionality is correct. It also weakens a too strong assertion\nabout when an address lies within code.\n\nChange-Id: I33742cce4deb31b4e0e9b7bd386f78e8cba3e53a\n"
    },
    {
      "commit": "c228252eb1bf859c6b976b9493269ea31b3c14c9",
      "tree": "f09c7d1cc28e10d33aabd61acf64da88bead3651",
      "parents": [
        "dc33ad5db2dc6ed9b76d5219888626a604debbe1"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Sep 17 10:33:14 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Sep 17 10:35:52 2011 -0700"
      },
      "message": "Fix order CheckCastFromCode and enable Fibonacci test\n\nChange-Id: I6dc589df3a328777678ac407110810cec9bf5480\n"
    },
    {
      "commit": "67375acd9fec74cc2054554fe1ed0a7d213e1e47",
      "tree": "0ac0bc114bbd9f0eef75d5d12e062554122d52f4",
      "parents": [
        "f867b6f706818c886087f61b89d1e8f5fc4653cf"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 14 00:55:44 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Sep 17 03:31:50 2011 -0700"
      },
      "message": "Support for exception throwing from JNI.\n\nThis change modifies the exception throwing JNI unit test to be\nrealistic and implements the missing exception throwing pieces on X86.\nIt also corrects some issues on ARM including methods with arguments\nLJII (such as compareAndSwapInt).\n\nChange-Id: I375f6efe2edeebb8007d7aa12c10b49742a8f119\n"
    },
    {
      "commit": "43a364291dcdfe08e530e9568748359735dd7442",
      "tree": "1141a3f0f91c527dfe28796e88f166d2bc0ed7fd",
      "parents": [
        "303b01ed0d36017371e29b1f1e209dd19896ac9e"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Sep 14 14:00:13 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Sep 14 15:40:34 2011 -0700"
      },
      "message": "Fix null check elimination\n\nThe existing null check elimination mechanism suffered from the same\nlimitation as the SSA renaming: it took shortcuts that were valid in\na trace compilation world, but not in a method compilation world.\n\nThis CL replaces the old mechanism, and additionally takes advantage\nof some the fact that \"this\" is always non-null, as are objects returned\nfrom OP_NEW_* (thanks Ian!).\n\nTwo test cases added.  The one for ensuring that unnecessary null checks\nare elminated requires manual inspection.  The other - that we don\u0027t\neliminate a necessary null check - is disabled until exceptions are working.\n\nChange-Id: I2a9b72741f56617bf609e4d7c20244796c988f28\n"
    },
    {
      "commit": "303b01ed0d36017371e29b1f1e209dd19896ac9e",
      "tree": "4ddc4250e3871e5e9bac0c2e1763c746d6f3f7b2",
      "parents": [
        "c0efedb7584070b84e4f18f691580b8c79aff036"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Sep 14 00:46:13 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Sep 14 12:45:59 2011 -0700"
      },
      "message": "Add unit test for exercising AbstractMethodErrorStub code.\n\nChange-Id: I6021459a75681c92a40931f591852e974f1ca1a6\n"
    },
    {
      "commit": "f0cde549bed96e16401a347a4511b59130c61e84",
      "tree": "a5c91481513ea75897d0f64ae9bb660923f42a94",
      "parents": [
        "5ea047b386c5dac78eda62305d14dedf7b5611a8"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Sep 13 14:55:02 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Sep 13 15:13:44 2011 -0700"
      },
      "message": "SSA renaming fix \u0026 invalid opcode fix\n\nThe old SSA renaming mechanism was able to take some shortcuts because\nof the limited CFG shapes it encountered.  Shortcut replaced and previous\nworkaround code removed.\n\nAlso fixes a regression introduced by the stack bounds checking change\nwhich sometimes resulted in an (opcode \u003c 0x200) assert failure, and\nremoves an optimization flag and associated code that no longer applicable.\n\nChange-Id: I617e9e5347dfd3a7e8f44a9772647bf4530631d6\n"
    },
    {
      "commit": "31384c59bb4b387f29f2b6d4d3db886c29b81170",
      "tree": "e6143162d188dd8f038e66edf1164f78b37922f8",
      "parents": [
        "ec5adf351879cb6235faf2c6c068c2553d85a7d2"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue Sep 06 15:27:45 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Sep 12 10:50:34 2011 -0700"
      },
      "message": "Generating stub code for registering a jni function at runtime.\n\nOn ARM and x86. Added a unit test.\n\nChange-Id: I6b1ee09ad18295108f406ce21d73555796ecbba6\n"
    },
    {
      "commit": "1240dade91d6c4bbf4e367ca608fcdc15348da45",
      "tree": "d44767871d0febadc9773df9839c16977cde91be",
      "parents": [
        "2d7404799fa4ca5d2dc925b3d411c642ff3cb4aa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 09 16:24:50 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 09 16:52:46 2011 -0700"
      },
      "message": "Test conversion of floats and doubles to strings.\n\nThere was some confusion about what Method::HasCode meant, and we weren\u0027t\nquite ready to compile all methods _and_ be able to invoke them. We were\nalso missing a couple of native methods in Throwable that we need if we\u0027ve\ncompiled all Throwable\u0027s code (because the next time we ask ClassLinker to\ndo anything, it\u0027ll try to throw NoClassDefFoundException from one of the\nClassLoaders, and that will try to run a Throwable constructor, which will\nend up trying to call these native methods).\n\nChange-Id: If4783f3c866aaa72413d7b7810ef2541d418ae33\n"
    },
    {
      "commit": "2a475e7b93d754e0a7525bb5c7059386307ea63a",
      "tree": "000c5f4483de6c4e90ba5bcdee5f616c1e499b50",
      "parents": [
        "a475f392df7a66211056a8dc57a2aff92b0b8ceb"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Sep 07 17:19:17 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Sep 08 07:57:25 2011 -0700"
      },
      "message": "Check-cast, instance-of, misc fixes\n\nSupport for check-cast and instanceof (largely untested).  Added a bunch of\nhelper stubs, a debugging option to show the method name if we try to branch\nto an uncompiled method, new tests and a missing call to reset the compiler\u0027s\narena storage.\n\nChange-Id: I933ad1fbdbca110f92c9201cae2353bf4862a8ac\n"
    },
    {
      "commit": "5dbddeee1cb4e0962c7267db0588b563bf45526f",
      "tree": "72ea085f32727295b987199ccea907a9ca731680",
      "parents": [
        "6108953a145c1affcadc1e0a91b17e647ee52a02"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Sep 07 16:38:26 2011 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Sep 07 16:58:24 2011 -0700"
      },
      "message": "Added tests for interfaces that extend other interfaces.\n\nExercises IsAssignableFrom and FindInterfaceMethod. Also made\nClass::Implements private again and switched to using IsAssignableFrom.\n\nChange-Id: Iea195a2cc124a87ebb3d87d778a7edcd25984b46\n"
    },
    {
      "commit": "98e0e5eb4792dd71ef696b8601c93b527193b0d3",
      "tree": "c6748b31acadf1b627935fcaf0bf7578c6e85aba",
      "parents": [
        "f5ecf06388960bc1424ed0a8652c78e345d82106",
        "7a99c11d220ec68c208b507570e3a78c2c18a7a1"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 07 13:24:34 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 07 13:24:34 2011 -0700"
      },
      "message": "Merge \"Fix various JNI compiler bugs/unimplementeds.\" into dalvik-dev"
    }
  ],
  "next": "7a99c11d220ec68c208b507570e3a78c2c18a7a1"
}
