)]}'
{
  "log": [
    {
      "commit": "2c51f7e10917f3213fe83ad95d80eaf72d3f27cd",
      "tree": "c1027b84f88bca7f3137d871d9864342cc51d153",
      "parents": [
        "5a7a74a042e73a355f5cedffa0d2faf5340028fa",
        "32ae6e33303cc51b524d9eef9b2dd547ecc638e9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 27 11:07:08 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 27 11:07:08 2011 -0700"
      },
      "message": "Merge \"Improve -Xcheck:jni handling of jfieldIDs and jmethodIDs.\" into dalvik-dev"
    },
    {
      "commit": "32ae6e33303cc51b524d9eef9b2dd547ecc638e9",
      "tree": "cd825ccf7a28fa0682975f839ac54f3939a1f162",
      "parents": [
        "3116e85cec7373eb83f7e35e17c1de992a3ac671"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 27 10:46:50 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 27 10:46:50 2011 -0700"
      },
      "message": "Improve -Xcheck:jni handling of jfieldIDs and jmethodIDs.\n\nAlso fix naming conventions to match the rest of art.\n\nChange-Id: Id96046c677a97c7e3f0a9b2983a02b77de3b034e\n"
    },
    {
      "commit": "5a7a74a042e73a355f5cedffa0d2faf5340028fa",
      "tree": "7d28fe4828156e6bea2517c969099654488f116c",
      "parents": [
        "3116e85cec7373eb83f7e35e17c1de992a3ac671"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Sep 26 16:32:29 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Sep 27 10:24:38 2011 -0700"
      },
      "message": "Support for JNI local reference cookie.\n\nThis also fixes a cross compilation bug in reseting the top of the\nindirect reference table following a down call.\n\nChange-Id: I40d913a6f86dadfe87b58d6d13a1ff3613f270ac\n"
    },
    {
      "commit": "3116e85cec7373eb83f7e35e17c1de992a3ac671",
      "tree": "abb63bc35643e39f28447f56b86f02a72e7a750e",
      "parents": [
        "5d40f182181488eb39ccd19ffd306bb1fb9740c9",
        "fe6207f7d3a38e021f81f7c3d25f085883e4cf43"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 27 09:59:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 27 09:59:59 2011 -0700"
      },
      "message": "Merge \"Add one last memory barrier.\" into dalvik-dev"
    },
    {
      "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": "1ff230d113d25fbcd2986773799ac1ef504a6af0",
      "tree": "bff83a4e728f339d18a1bf7f8cb9384348bcf59c",
      "parents": [
        "20d8d673ed402e9d0292f1770313476ce94a9ef2",
        "b29e4d1423028fab47db3be6e41e4b2a067bf100"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Sep 26 17:51:15 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 26 17:51:15 2011 -0700"
      },
      "message": "Merge \"Misc codegen fixes related to register promotion\" into dalvik-dev"
    },
    {
      "commit": "fe6207f7d3a38e021f81f7c3d25f085883e4cf43",
      "tree": "c57ff9ab11f8ddcf89b2e33b8dafa4eca3965277",
      "parents": [
        "20d8d673ed402e9d0292f1770313476ce94a9ef2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 26 17:24:06 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 26 17:24:06 2011 -0700"
      },
      "message": "Add one last memory barrier.\n\n(At the time I added all the others, this code had yet to be written.)\n\nChange-Id: Id41e5730eec19d9968608cdcdfc487e48ddfb487\n"
    },
    {
      "commit": "20d8d673ed402e9d0292f1770313476ce94a9ef2",
      "tree": "f4561517c5a414aba89e3f159619f00835741827",
      "parents": [
        "2ae4f903744935ead9c3cae1ebf33090983f5690",
        "8e4aac52962d54cb4be2078b9cd95685e067133a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 26 17:13:09 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 26 17:13:09 2011 -0700"
      },
      "message": "Merge \"Add the \"- waiting on\"/\"- waiting to lock\" lines to the SIGQUIT output.\" into dalvik-dev"
    },
    {
      "commit": "8e4aac52962d54cb4be2078b9cd95685e067133a",
      "tree": "bb85a52e0326bef05acf9abe5e3d3b396c1d3795",
      "parents": [
        "03f034949fa7b44aa49e6603d8d5e7a55bf07795"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 26 17:03:36 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 26 17:03:36 2011 -0700"
      },
      "message": "Add the \"- waiting on\"/\"- waiting to lock\" lines to the SIGQUIT output.\n\nChange-Id: I0a8ab2e9e54c390e0d499ef464d82c2f2c628cbe\n"
    },
    {
      "commit": "b29e4d1423028fab47db3be6e41e4b2a067bf100",
      "tree": "c965f68c3c57750a837baf4f70fd9dc876adb082",
      "parents": [
        "395520eaa47eca25b92e86188accf3095d60af49"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Sep 26 15:05:48 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Sep 26 15:05:48 2011 -0700"
      },
      "message": "Misc codegen fixes related to register promotion\n\nThe post-promotion world no longer guarantees that wide result\npairs don\u0027t overlap with source operands.  Also had to narrow\na load-elimination optimization to apply only when using\ntemp registers for Dalvik virtual registers.\n\nChange-Id: I2afbbec865d5a14d46e539cce4d8b3d0e4e8880b\n"
    },
    {
      "commit": "e10b6974d54f38001aee7bec518d45a7d4fb64c1",
      "tree": "2516ebb62ec0eccc82d4e73a8d51897752f43cf3",
      "parents": [
        "03f034949fa7b44aa49e6603d8d5e7a55bf07795"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Sep 26 13:49:03 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Sep 26 15:03:03 2011 -0700"
      },
      "message": "Fix bug in HasSameMethodDescriptorClass on return types\n\nAlso included:\n- Make oatdump tolerant of missing code\n- Include class status in oatdump output\n- Additional oat_process support for testing\n\nChange-Id: Id1b8d5662ca061f2dc22b2b087b5a5945e54b91c\n"
    },
    {
      "commit": "03f034949fa7b44aa49e6603d8d5e7a55bf07795",
      "tree": "b75293e4ef7962c18dcee3998f90c00f1f8f30aa",
      "parents": [
        "e6087635d92063fac472eaa0b70d96f264dcef60"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 26 13:38:08 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 26 13:56:02 2011 -0700"
      },
      "message": "Another go at hardening Class::DumpClass.\n\nChange-Id: I327a53c20e8221009ed44042920f8dc06ce3d281\n"
    },
    {
      "commit": "e6087635d92063fac472eaa0b70d96f264dcef60",
      "tree": "bb0344604b7ec5c028d4eef5ca3be6ca236c97b7",
      "parents": [
        "395520eaa47eca25b92e86188accf3095d60af49"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 26 12:18:25 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 26 12:18:25 2011 -0700"
      },
      "message": "Dump the pending exception when CheckJNI spots a call to a function that requires there to be no pending exception.\n\nChange-Id: Ice81e23c408ce15902a6270c8835ceabb0e5e278\n"
    },
    {
      "commit": "395520eaa47eca25b92e86188accf3095d60af49",
      "tree": "23cff36a71ea43eeb6a4bb7a7544c45aa3534c85",
      "parents": [
        "14357e842b611279d467b64d450c569af33a6936"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Sep 25 19:35:00 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Sep 26 10:56:37 2011 -0700"
      },
      "message": "Assorted fixes for running frameworks apps\n\n- Adding Heap::target_utililization_\n- Convert ClassNotFoundError to ClassNotFoundException in Class.forName\n- Finish String::GetHashCode\n- Changed Runtime.gc to unimplemented\n- Disable preload simulation in oat_process\n- Empty native placeholder for org.apache.harmony.dalvik.ddmc.DdmServer\n- Bonus: Fix problem with reflective invocation of constructors and private methods\n\nChange-Id: If11b273e2f82e8e0fa7161a756098514e1156a19\n"
    },
    {
      "commit": "14357e842b611279d467b64d450c569af33a6936",
      "tree": "1160c2071afdde8cbf3d9eee2ea3b12a0bc98d03",
      "parents": [
        "c0dd312b4ae5d11c59145f86a327c799877fbf53"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 26 10:42:15 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 26 10:42:15 2011 -0700"
      },
      "message": "Add a -verbose:thread option.\n\nChange-Id: Ie9bbe2195d7c427379e4a27d3fe51f1a71e58597\n"
    },
    {
      "commit": "c0dd312b4ae5d11c59145f86a327c799877fbf53",
      "tree": "2fe0b14a122ec003033a76b309097b124be5ce36",
      "parents": [
        "c0ecd655083e559159d1ad22a6213d16527e0e2b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 26 10:15:43 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 26 10:15:43 2011 -0700"
      },
      "message": "~ should have been !.\n\nChange-Id: Ia5c939dddba192593883e1c009663ce6a0ecdb9c\n"
    },
    {
      "commit": "c0ecd655083e559159d1ad22a6213d16527e0e2b",
      "tree": "d5aae61fd7a08d6453e7c2eed6b50a9bd06742f8",
      "parents": [
        "9407c60800c95902fba0b3c3265520d47c1e7052"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Sep 25 18:11:54 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Sep 26 07:33:28 2011 -0700"
      },
      "message": "Various optimization fixes\n\nMultiple problems surfaced when register promotion was enabled.  This\nCL takes care of a few, but more remain.  The main problems dealt with\nhere are related to not having data types handy on invokes.  Solved by\nintepreting the shorty of the target and updating the operand names\nappropriately.\n\nThe other problem was a little nastier.  The codgen infrastructure wasn\u0027t\nexpecting wide results to overlap source operands (for example:\n\n    add-long (v0,v1) \u003d (v1,v2) + (v3,v4)\n\nIn the old world, the result pair would start with a fresh name\nand temps.  In the new world, though, the register promotion mechanism\nretains the mappings.  Not a difficult problem to solve, but I\u0027ll\nneed to very carefully examine the existing long op generators to\nmake sure they can handle overlaps.\n\nChange-Id: I019607620f7a78cadc9e7c57f247806d0a68243d\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": "4681c809ba35d50fab92c592ce8d2c7f8b2731f7",
      "tree": "218759bc9564bdbaa49d1be89d257ecddd3a8a14",
      "parents": [
        "54643083afd5b99f4d52a32b4030aec0db8d0e2f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 25 18:04:37 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 25 18:04:37 2011 -0700"
      },
      "message": "Various things.\n\nChange-Id: I6911c995d7635b95e6dc6b9112bf4e1adf85e830\n"
    },
    {
      "commit": "54643083afd5b99f4d52a32b4030aec0db8d0e2f",
      "tree": "15540ab584d218062e9f93eb3c629006eb9a2dc4",
      "parents": [
        "06f24e3a36f8611d6c1a873af49f381b9fad9f6f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 25 17:48:00 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 25 17:48:00 2011 -0700"
      },
      "message": "Log when a Thread tries to set its name.\n\nUseful when debugging early failures to have thread names rather than just ids.\n\nChange-Id: I3e00e530847cabb70a1894d2ddaaeb0251642aad\n"
    },
    {
      "commit": "06f24e3a36f8611d6c1a873af49f381b9fad9f6f",
      "tree": "1918721cc314f2069aed56ffe5c684a860817cf6",
      "parents": [
        "7a3aeb4d7580164c6a6905c63b96823b77ff5a64",
        "719b323e6a290a075239ac8f4b664e23fd3190f4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 25 17:45:19 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 25 17:45:19 2011 -0700"
      },
      "message": "Merge \"Use JNI to start the daemon threads.\" into dalvik-dev"
    },
    {
      "commit": "719b323e6a290a075239ac8f4b664e23fd3190f4",
      "tree": "0562143a735681976390565ffa01f42ed1e60352",
      "parents": [
        "15fdb8cfb5b2e3fc882113ec0648d492cebf852c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 25 17:42:19 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 25 17:42:19 2011 -0700"
      },
      "message": "Use JNI to start the daemon threads.\n\nAvoids manually messing with thread state, which I feel we\u0027re doing too\nmuch of.\n\nChange-Id: Ie75b7545ad473346bfa5a4694146e6d84a7cfbe6\n"
    },
    {
      "commit": "7a3aeb4d7580164c6a6905c63b96823b77ff5a64",
      "tree": "be2ab3919e39b1a96c36ca138bfc9af63005107c",
      "parents": [
        "15fdb8cfb5b2e3fc882113ec0648d492cebf852c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 25 17:39:47 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 25 17:39:47 2011 -0700"
      },
      "message": "Thread state fixes.\n\nAttaching a native thread should give you a thread in the kNative state.\nTo be able to run managed code when a thread detaches, we need to be in\nthe kRunnable state.\n\nChange-Id: I9c8048469d0e2d2a53e8fd85261975bbffe16b4f\n"
    },
    {
      "commit": "15fdb8cfb5b2e3fc882113ec0648d492cebf852c",
      "tree": "a44ae1aab6788f95c704d21ef4704502b52c175d",
      "parents": [
        "d801cbcb56aabb0881733d52662337b895382790"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Sep 25 15:45:07 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Sep 25 17:23:51 2011 -0700"
      },
      "message": "Floating point callee save support in exception delivery.\n\nUntested until we promote floating point values in the compiler.\n\nChange-Id: I20fe66cb59e2f31b21043479dde898326aec668f\n"
    },
    {
      "commit": "d801cbcb56aabb0881733d52662337b895382790",
      "tree": "2fcaf3036c914d973f08470c36a44cd3e8f79644",
      "parents": [
        "c0c8dc8e677957d167066a2d06973126f108a6aa",
        "e555dc0a2d4807f22a3c1e26908d80b2d22f9c99"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 25 14:04:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 25 14:04:59 2011 -0700"
      },
      "message": "Merge \"Improve our choices of exceptions to throw.\" into dalvik-dev"
    },
    {
      "commit": "c0c8dc8e677957d167066a2d06973126f108a6aa",
      "tree": "98242f7d64d09b85bee3c021e6d66a3cbcaf19b3",
      "parents": [
        "2a20cfd0b7fc81099f5de0da782ebcc1cb262792"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Sep 24 18:15:59 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Sep 25 11:57:24 2011 -0700"
      },
      "message": "Support for currently untested exceptions/errors.\n\nReplace place holder implementations of exception/error code with code\nthat is likely mostly correct. Testing and creating detail messages are\nTODO items for each of these exceptions/errors and warning are created\nto reflect this need.\n\nAs we don\u0027t currently generate code to throw these exceptions, they are\nuntested.\n\nChange-Id: I75876a9cca37892fa065eccdf34f9868b4142ec9\n"
    },
    {
      "commit": "e555dc0a2d4807f22a3c1e26908d80b2d22f9c99",
      "tree": "63266db0a1703bae7cc960e4913cfe7ea080ce35",
      "parents": [
        "2a20cfd0b7fc81099f5de0da782ebcc1cb262792"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 25 10:46:35 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 25 10:46:35 2011 -0700"
      },
      "message": "Improve our choices of exceptions to throw.\n\nChange-Id: I81b22db4013fda9b0a982c16c403f0165ee4be8d\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": "65ca077378935beb113bb5aec5e890054ca3286e",
      "tree": "d077a7d7953fc3ffa08b3570623ee4f0ee5ea437",
      "parents": [
        "ed3e930109e3f01804ca32cee4afe4f2d4b3f4d8"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Sep 24 16:03:08 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Sep 24 17:37:33 2011 -0700"
      },
      "message": "Tolerant compilation of classes with missing super classes\n\nChange-Id: If64f25ae36204ab2ea5499f27601696dea9d4016\n"
    },
    {
      "commit": "ed3e930109e3f01804ca32cee4afe4f2d4b3f4d8",
      "tree": "41c3ffd3fdade2244b4cd3824c98419edecbca86",
      "parents": [
        "8060925c45cc2607ab92390d7366c6c0cfdfe4bb"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Sep 23 17:34:19 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Sep 23 18:34:31 2011 -0700"
      },
      "message": "assert to DCHECK conversion\n\nAlso replaced static function defs with a STATIC macro to make normally\nhidden functions visible to DCHECK\u0027s traceback listing).  Additionally,\nadded some portions of the new type \u0026 size inference mechanism (but not\ntaking advantage of them yet).\n\nChange-Id: Ib42a08777f28ab879d0df37617e1b77e3f09ba52\n"
    },
    {
      "commit": "8060925c45cc2607ab92390d7366c6c0cfdfe4bb",
      "tree": "42a50d2de4cc7622b19d6cd7a20b3d99d60a00a2",
      "parents": [
        "bc2f3e3e41d02eb2896dc16390c5c4023a7b5649"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 23 17:24:51 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 23 18:08:21 2011 -0700"
      },
      "message": "Implement Class.getDeclared(Constructors|Fields|Methods).\n\nThis required making sure that a Method* that represents a constructor\nhas java.lang.reflect.Constructor as its class.\n\nChange-Id: I25908845a2b8d686d5404ac584693db0edd5853c\n"
    },
    {
      "commit": "bc2f3e3e41d02eb2896dc16390c5c4023a7b5649",
      "tree": "1f229465f28c2178a7fe849e45bc2fd91d3dab4a",
      "parents": [
        "21d9e8323124a832a21679ca83808bc9c68ed365"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 22 17:16:54 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 23 17:11:55 2011 -0700"
      },
      "message": "Add support for oat_process for use as a wrap.* launcher\n\nAdd test support for running Calculator\n\nChange-Id: I7ec0681febe6f6c836452e8afb4c12a2ebfa0ea8\n"
    },
    {
      "commit": "21d9e8323124a832a21679ca83808bc9c68ed365",
      "tree": "d41c36c06524f913761f3b2e107d48d668feb660",
      "parents": [
        "31cc62d259b86844b505c3bfe15b44e372f705b8"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 23 17:05:09 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 23 17:05:09 2011 -0700"
      },
      "message": "Exception support for object allocation.\n\nStrengthen asserts, no extra unit tests as expect good coverage on this\nalready.\n\nChange-Id: Ie8786932667b70d20c0cdf69b4b6b721b6244ded\n"
    },
    {
      "commit": "31cc62d259b86844b505c3bfe15b44e372f705b8",
      "tree": "3b596e14a2e7fc39027a1016e5b7c77887714330",
      "parents": [
        "3311f2763c4103f7c378af417a2863f7e2c224f3",
        "b886da8e3c26443ab4d2aa63268bd673c354c3d2"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 23 16:48:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 23 16:48:26 2011 -0700"
      },
      "message": "Merge \"Support for exceptions from array allocation.\" into dalvik-dev"
    },
    {
      "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": "3311f2763c4103f7c378af417a2863f7e2c224f3",
      "tree": "b6a9a450ac4996b79df66599f194eeb9445b7179",
      "parents": [
        "e51a511ccee3f3c0120807321bcc160fcaa664be",
        "042946dda087c5f3d3aed48349baa33127cf2faf"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Sep 23 16:04:19 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 23 16:04:19 2011 -0700"
      },
      "message": "Merge \"Fix dalvik vm reg to callee save mappings\" into dalvik-dev"
    },
    {
      "commit": "042946dda087c5f3d3aed48349baa33127cf2faf",
      "tree": "bb025ac206db674667c50dea7e084e52140ff8f7",
      "parents": [
        "c41e5b5ae1befe2c602d55de1dbc04d1914f4a6c"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Sep 23 15:49:27 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Sep 23 15:49:27 2011 -0700"
      },
      "message": "Fix dalvik vm reg to callee save mappings\n\nNeglected to include fp regs promoted as a double.\n\nChange-Id: I7ca6ad5e755c5d2e20c1c903cf41491d605f258e\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": "382ece5707c7b7c61f44a01f57ac22df9a8197d0",
      "tree": "1a881a51db58dbec2ffa7661b716797aabeae3ff",
      "parents": [
        "4a801a4f0138a3a4a5a7615af567c5755abe0d7a",
        "dd8df69d5f6fcd8de424fa25484d698f9e614526"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 23 14:49:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 23 14:49:35 2011 -0700"
      },
      "message": "Merge \"Class.isAssignableFrom and Class.isInstance.\" into dalvik-dev"
    },
    {
      "commit": "dd8df69d5f6fcd8de424fa25484d698f9e614526",
      "tree": "c6ff9654c665ce191ac8dc6e3002d918c4cc30f3",
      "parents": [
        "d1bb4f6b7c8dda429f61937cd42f3a0b7367c271"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 23 14:42:41 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 23 14:42:41 2011 -0700"
      },
      "message": "Class.isAssignableFrom and Class.isInstance.\n\nChange-Id: I5fd52a80a08cad1ca98f7e13a6cf56add952d8af\n"
    },
    {
      "commit": "4a801a4f0138a3a4a5a7615af567c5755abe0d7a",
      "tree": "b8844bef8e4cf5502e52233d32ed4bf0230b36e4",
      "parents": [
        "d1bb4f6b7c8dda429f61937cd42f3a0b7367c271"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Fri Sep 23 13:53:40 2011 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Fri Sep 23 14:36:31 2011 -0700"
      },
      "message": "Enabled access check for classes and methods in the verifier.\n\nAll checks should pass in frameworks. The only thing left in the\nverifier is to tolerate classes/methods/fields that fail to resolve\ninitially.\n\nChange-Id: I2afe0295bb16542259b2122a9056b3139d908871\n"
    },
    {
      "commit": "d1bb4f6b7c8dda429f61937cd42f3a0b7367c271",
      "tree": "be340dd80cfc607b011a183328a277433a7007c2",
      "parents": [
        "418d20fc407052d4152157f61e7453359f902383"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 23 14:09:45 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 23 14:09:45 2011 -0700"
      },
      "message": "Fix build.\n\nChange-Id: Iafac241cac1b51639a7ef7c694f0abf5c1275e6d\n"
    },
    {
      "commit": "418d20fc407052d4152157f61e7453359f902383",
      "tree": "250a190e03cb4c8d509dc3a13fd4607f888965ca",
      "parents": [
        "c41e5b5ae1befe2c602d55de1dbc04d1914f4a6c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 22 14:00:39 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 23 13:58:05 2011 -0700"
      },
      "message": "Implement reflective method invocation.\n\nChange-Id: Ib3af9d7e00bf226398610b5ac6efbfe3eb2d15e8\n"
    },
    {
      "commit": "c41e5b5ae1befe2c602d55de1dbc04d1914f4a6c",
      "tree": "fa122d75b64193d7c2dee7a1be871a5ae8511493",
      "parents": [
        "f4afb7aec4e51c2e682cf3af4d6511add74d2f38"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Sep 23 12:46:19 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Sep 23 13:53:25 2011 -0700"
      },
      "message": "Add tables to map between callee saves and vregs\n\nAlso added function to return sp-relative offset for Dalvik\nvirtual registers using Method*\n\n[Note: must be matched with corresponding libcore change to\nreflect new field in Method]\n\nChange-Id: Id739908c6232ce60763d8199bc05111e960da46e\n"
    },
    {
      "commit": "f4afb7aec4e51c2e682cf3af4d6511add74d2f38",
      "tree": "6e1a9fcda7651a09db2405aba0364db823e2de7e",
      "parents": [
        "59bb20066abad67b386f4ffbfae2fd7cc5a24c08",
        "916e74e45b60902af342a71bdbfb806ff29c6c2b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 23 12:01:44 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 23 12:01:44 2011 -0700"
      },
      "message": "Merge \"Add some stats to oatdump\" into dalvik-dev"
    },
    {
      "commit": "59bb20066abad67b386f4ffbfae2fd7cc5a24c08",
      "tree": "11d966446644d33cc2b757a88974e66eefefe32e",
      "parents": [
        "53d6ff445706c390c541d10ef11f1b2f19ab14e8",
        "dc51b79e65abcdad094ccd5e5a2caf5153433d49"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 23 11:59:02 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 23 11:59:02 2011 -0700"
      },
      "message": "Merge \"Save/restore local table state on down calls.\" into dalvik-dev"
    },
    {
      "commit": "916e74e45b60902af342a71bdbfb806ff29c6c2b",
      "tree": "f3b57960bf020b1db7691500b233eae593c0e7e4",
      "parents": [
        "53d6ff445706c390c541d10ef11f1b2f19ab14e8"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 23 11:42:01 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 23 11:52:57 2011 -0700"
      },
      "message": "Add some stats to oatdump\n\nChange-Id: I0370f96c2abf789f327bad2ad54f7bdbcce11431\n"
    },
    {
      "commit": "53d6ff445706c390c541d10ef11f1b2f19ab14e8",
      "tree": "f1e863afe6c57bf0bf9b32a2c4642f3707b4ec41",
      "parents": [
        "d8b877a20c87e3c7ebef4a3ddd1d8896b2a5b822"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 23 10:45:07 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 23 11:03:48 2011 -0700"
      },
      "message": "Reverts to track dalvik and libcore\n\nRevert \"Tracking removal of Method.NO_ANNOTATIONS static field from libcore\"\nThis reverts commit c6766ed17d27417bfce62c31b342b3faa47ada5d.\n\nRevert \"Implement Class.getDex.\"\nThis reverts commit 98fb41647a5664922a196fd1f6b343e6bad8e51e\n\nRevert \"Track libcore change.\"\nThis revert commit c3d530c371d5c915f4d4545810d77d391dbbfec9\n\nChange-Id: I7159af63f100fc9810e6c2e5ef18b0c4942acc8b\n"
    },
    {
      "commit": "dc51b79e65abcdad094ccd5e5a2caf5153433d49",
      "tree": "0a1b40cf58c98180407939bcc2431b33a52b9e20",
      "parents": [
        "d8b877a20c87e3c7ebef4a3ddd1d8896b2a5b822"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 22 20:41:37 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 23 00:08:33 2011 -0700"
      },
      "message": "Save/restore local table state on down calls.\n\nAlso add unit test.\n\nChange-Id: Ia1dc54eaac20c4bbb1ca3d9ac2933d6ab0241261\n"
    },
    {
      "commit": "d8b877a20c87e3c7ebef4a3ddd1d8896b2a5b822",
      "tree": "92aeaf574b00a8177eba50d6408b5dbc183bc28d",
      "parents": [
        "8fe11f02fdf16ad03d91a891c1a4570b85a82c83",
        "932746a4f22951abcba7b7c4c94c27b1bf164272"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 22 20:06:48 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 22 20:06:48 2011 -0700"
      },
      "message": "Merge \"Stack overflow error and unit test.\" into dalvik-dev"
    },
    {
      "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": "8fe11f02fdf16ad03d91a891c1a4570b85a82c83",
      "tree": "7f1aaf42769da80df4bea91dfd651c25192c1192",
      "parents": [
        "f7ec49081379552a421c592eb608e95fc4c7babd",
        "a0841a83323a82e3bed3d0b5f2e6ec3795f496be"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 22 17:07:28 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 22 17:07:28 2011 -0700"
      },
      "message": "Merge \"Abstract Method Error unit test and fixes.\" into dalvik-dev"
    },
    {
      "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": "f7ec49081379552a421c592eb608e95fc4c7babd",
      "tree": "5dd246731e061cbc08354a2220575e35c79522e4",
      "parents": [
        "cbba6ac9bf9a6c630a7aafae6d8767b5ddbb6fd5",
        "e0cfb6fef149e4b001d580809b2815eb6e181a09"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Sep 22 16:53:18 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 22 16:53:18 2011 -0700"
      },
      "message": "Merge \"Fixes to allow the verifier to process frameworks.\" into dalvik-dev"
    },
    {
      "commit": "e0cfb6fef149e4b001d580809b2815eb6e181a09",
      "tree": "2903cafda5cf17650c58679086de1221d1f8d004",
      "parents": [
        "98fb41647a5664922a196fd1f6b343e6bad8e51e"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Sep 22 16:42:56 2011 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Sep 22 16:42:56 2011 -0700"
      },
      "message": "Fixes to allow the verifier to process frameworks.\n\nI\u0027ve disabled the access checks for class and method, which need some\nfixing, but nothing in frameworks should be failing in the verifier\nanymore.\n\nChange-Id: Ic16a8627b6a5b74b385a1f30dbc937c2ced910a4\n"
    },
    {
      "commit": "cbba6ac9bf9a6c630a7aafae6d8767b5ddbb6fd5",
      "tree": "c0d4c56f7062c95100ea644fbf3385b9c09c8399",
      "parents": [
        "98fb41647a5664922a196fd1f6b343e6bad8e51e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 22 16:28:37 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 22 16:42:02 2011 -0700"
      },
      "message": "Implement stub for initialize static storage base.\n\nAlso fix a race in thread list.\n\nChange-Id: Ice35c2fa14e7a9a0585e89d558815ab99bbdd6b9\n"
    },
    {
      "commit": "98fb41647a5664922a196fd1f6b343e6bad8e51e",
      "tree": "8af776aee481d8d0a56d743487ca1eface1d6bc6",
      "parents": [
        "0c64f5ebef8ad6470be87cd2d50934180c91b70a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 22 15:24:13 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 22 15:24:13 2011 -0700"
      },
      "message": "Implement Class.getDex.\n\nChange-Id: Iefb1e21a364e3e3b9f32ffd6ba57b55cfaee8c3b\n"
    },
    {
      "commit": "0c64f5ebef8ad6470be87cd2d50934180c91b70a",
      "tree": "8ea66d89ba6c92d6edfb8f7253cb29ec0583d207",
      "parents": [
        "c3d530c371d5c915f4d4545810d77d391dbbfec9"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Sep 22 16:52:20 2011 -0400"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Sep 22 16:55:25 2011 -0400"
      },
      "message": "Move annotations to managed code.\n\nChange-Id: I8491f5d8b489b6fb4f80d4cbca9a05c0cf47816d\n"
    },
    {
      "commit": "c3d530c371d5c915f4d4545810d77d391dbbfec9",
      "tree": "094472092750d9d278b7eb53f8d5aa178f4d281d",
      "parents": [
        "f91c8c328c922ecd522e1d3508d2603e78de8a7b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 22 12:10:40 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 22 12:10:40 2011 -0700"
      },
      "message": "Track libcore change.\n\nChange-Id: Ibb4374008f2657b8ffd2ed08329d319151107d04\n"
    },
    {
      "commit": "f91c8c328c922ecd522e1d3508d2603e78de8a7b",
      "tree": "9ae1b28516bfac8698f34e56b4a07037b5c81c28",
      "parents": [
        "ff1ed4770bf7ff024a807b9f909b1a26abb78341"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Sep 21 17:30:34 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 22 11:28:21 2011 -0700"
      },
      "message": "Adding JNI code for dalvik.system.DexFile and java.lang.Class\n\nChange-Id: I079c037db77aeaca0dec06660f7551f57adf2607\n"
    },
    {
      "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": "49de87b5c118cc536f2bd68c4fd46fce3d3abcfc",
      "tree": "87fe5f2879c811f58bec7821523a8fdbc95e3304",
      "parents": [
        "aad7201a2453091b6a22984985fba0a328757b59",
        "fea966e51e65f2040e1510a2e39d407baad29b2c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 22 10:27:18 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 22 10:27:18 2011 -0700"
      },
      "message": "Merge \"Use regular JNI for initializing the boxing types.\" into dalvik-dev"
    },
    {
      "commit": "fea966e51e65f2040e1510a2e39d407baad29b2c",
      "tree": "57fc15f6c7d2bc863016f739473c26ffb8dc0b79",
      "parents": [
        "33203b59aa5f27bac0433bdb640f1f1e911186eb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 22 10:26:20 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 22 10:26:20 2011 -0700"
      },
      "message": "Use regular JNI for initializing the boxing types.\n\nChange-Id: I2ae94b7a9cbd2831fb73e58aa9f71e50edb78f87\n"
    },
    {
      "commit": "aad7201a2453091b6a22984985fba0a328757b59",
      "tree": "f3facf847f4c6a6232a0d868596c7ab1414e5e6e",
      "parents": [
        "c1f45048b90a85018c6b063c31bc088dc3dd993d"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Sep 21 21:52:09 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Sep 21 21:52:09 2011 -0700"
      },
      "message": "Move null checks to bvector utility callers\n\nIt\u0027s generally ok to encounter basic blocks with no interesting\ndataflow info, but better to skip in the callers of the utilities\nthan in the utilities themselves (to make it explicit).\n\nChange-Id: I27b2c774381d4315d51436527ddf0378e5c05d32\n"
    },
    {
      "commit": "c1f45048b90a85018c6b063c31bc088dc3dd993d",
      "tree": "fe2a976af407f8a77828306e9000837009150480",
      "parents": [
        "ae7cbf45460b472dbd159ab565d55b2880703abb"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Sep 21 16:03:19 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Sep 21 20:03:23 2011 -0700"
      },
      "message": "Suspend check reworking (ready for rewiew)\n\nI hate burning a register, but the cost of suspend checks was just too high\nin our current environment.  There are things that can be done in future\nreleases to avoid the register burn, but for now it\u0027s worthwhile.\n\nThe general strategy is to reserve r4 as a suspend check counter.\nRather than poll the thread suspendPending counter, we instead simply\ndecrement the counter register.  When it rolls to zero, we check.  For\nnow I\u0027m just using the counter scheme on backwards branches - we always\npoll on returns (which is already heavyweight enough that the extra cost\nisn\u0027t especially noticable).\n\nI\u0027ve also added an optimization hint to the MIR in case we have enough\ntime to test and enable the existing loop analysis code that omits the\nsuspend check on smallish counted loops.\n\nChange-Id: I82d8bad5882a4cf2ccff590942e2d1520d58969d\n"
    },
    {
      "commit": "ae7cbf45460b472dbd159ab565d55b2880703abb",
      "tree": "06df332a557297d987395fa341a951375b84a1aa",
      "parents": [
        "33203b59aa5f27bac0433bdb640f1f1e911186eb",
        "010cffc1b8d64a4afc1943729642477a16e9c3fb"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Sep 21 18:40:28 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 21 18:40:28 2011 -0700"
      },
      "message": "Merge \"Restore Method* following invoke with \u003e 20 args\" into dalvik-dev"
    },
    {
      "commit": "010cffc1b8d64a4afc1943729642477a16e9c3fb",
      "tree": "58a953afdf3b41372b367bc9a7a6de1b908ad2d4",
      "parents": [
        "c6766ed17d27417bfce62c31b342b3faa47ada5d"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Sep 21 18:28:43 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Sep 21 18:28:43 2011 -0700"
      },
      "message": "Restore Method* following invoke with \u003e 20 args\n\nIn the case of a huge number of arguments, the invoke setup code\nwill call memcpy(), which trashes the caller saves.  Need to restore\nMethod*, which had already been loaded into arg0/r0.\n\nChange-Id: I3a9b74132fb407263afef2a103ccac071ea6a653\n"
    },
    {
      "commit": "33203b59aa5f27bac0433bdb640f1f1e911186eb",
      "tree": "ddb6c4a6b2c2acf423ae5adccd82e64b976a7145",
      "parents": [
        "c6766ed17d27417bfce62c31b342b3faa47ada5d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 20 19:42:01 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 21 17:39:00 2011 -0700"
      },
      "message": "Field reflection.\n\nChange-Id: I10ffddbbc20cb5b4bbe7df52fef721e12f4b852c\n"
    },
    {
      "commit": "c6766ed17d27417bfce62c31b342b3faa47ada5d",
      "tree": "d8cb372d2d8c80a95acdc74d0fe62bf3db7db916",
      "parents": [
        "27ec961a1da540ba7f16c07a682585ab167317ad"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Sep 21 11:42:59 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Sep 21 11:42:59 2011 -0700"
      },
      "message": "Tracking removal of Method.NO_ANNOTATIONS static field from libcore\n\nChange-Id: Iba14a194e3c9e05af04a3d1cd23b42990d77894e\n"
    },
    {
      "commit": "27ec961a1da540ba7f16c07a682585ab167317ad",
      "tree": "0aa6cb8345e394fe0ebe608bc26aa2acbdac1393",
      "parents": [
        "03fa263ba90e9f6b11231576c6b9cc434e67141d"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Sep 19 20:20:38 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Sep 21 10:36:24 2011 -0700"
      },
      "message": "Adding oat_process\n\n- Added oat_process, a version of app_process use to launch frameworks apps\n- Added liboat_runtime, a version of libandroid_runtime that uses art instead of dvm\n  This is just a special makefile, frameworks/base/core/jni code is used for source\n- Added support for build a boot.oat with the full BOOTCLASSPATH\n  The older smaller boat.oat is now core.oat\n- Added mem_map code for making sure a requested memory region is available\n  Moved mem_map code to cc file to make easier to debug with smaller rebuild\n- Moved oat base address to 0x6000000 as a work around to host addres conflict\n- Added -Xms and -Xmx options to dex2oat to allow build specific memory options\n- Fixed miranda method initialization problem found compiling full bootclasspath\n- Made compiler.cc tolerant of verification errors found compiling full bootclasspath\n- Bumped arena block alloc warning to avoid noise when compiling full bootclasspath\n- Marked implicit GC unimplemented to fail fast\n- Added --output argument to oatdump\n- Made many object asserts tolerate access in IsErroneous state\n  now that verifier is failing validation of some classes during compilation\n- Made runtime tolerate unknown access as short term solution for oat_process\n- Workaround SSA issue to restore full bootclasspath compilation\n- Added test-art-target-processs to excercise oat_process with \"am\"\n  \"am\" found bug where class_linker was using Method::GetClass and not ::GetDeclaringClass\n\nChange-Id: I1a645a142b163e06bab9e72eb094ae1f1dbfbd97\n"
    },
    {
      "commit": "03fa263ba90e9f6b11231576c6b9cc434e67141d",
      "tree": "bcf4970d1f845f99b1df9133b85270e8eb284aca",
      "parents": [
        "4a2b41793d18d402286ae37e9de4fd392bc75a08"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Sep 20 17:10:57 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Sep 20 20:40:34 2011 -0700"
      },
      "message": "Rework type \u0026 size inference, literal usage\n\nFixes a bug in the old type inference mechanism (wasn\u0027t properly\npropogating type info across Phi \u0026 move nodes).  Combined type and\nsize inferences passes.\n\nFixed long-standing bug in the code to load a special double-precision\nimmediate (would have been extremely difficult to hit this in the field).\nImproved loading floating point immediates.\n\nChange-Id: I1ec72edc3b25525f14d965089f8952d4f0294942\n"
    },
    {
      "commit": "4a2b41793d18d402286ae37e9de4fd392bc75a08",
      "tree": "1edc6171c4875fe88d3b93357c0c1fe5bd6caa99",
      "parents": [
        "64bf5a33d55aa779ef452552a466943002d39e4f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 20 17:08:25 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 20 17:08:25 2011 -0700"
      },
      "message": "Throw exceptions from ClassLinker.\n\nChange-Id: I0a00595d675af21c259639800c80dbd61ba721ff\n"
    },
    {
      "commit": "64bf5a33d55aa779ef452552a466943002d39e4f",
      "tree": "2aac5abebb39f55f28940093212f20ed5ba59fb7",
      "parents": [
        "6bbe8b053c1b6177c6fbe0ff88a96d863ce76d3b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 20 14:43:12 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 20 14:43:12 2011 -0700"
      },
      "message": "Implement VMClassLoader\u0027s native methods.\n\nChange-Id: I6e617f415e54ce29c3a0a470b58e79d3aaa0a4bf\n"
    },
    {
      "commit": "6bbe8b053c1b6177c6fbe0ff88a96d863ce76d3b",
      "tree": "18079645c3280d4dbf31eeafd8e907b9fbd2140a",
      "parents": [
        "01158d7a57c8321370667a6045220237d16e0da8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 20 13:15:00 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 20 13:15:00 2011 -0700"
      },
      "message": "Implement VMStack.getClosestUserClassLoader for art.\n\nChange-Id: Ia26650984f289b1c5c63a9501f3304d970739a46\n"
    },
    {
      "commit": "01158d7a57c8321370667a6045220237d16e0da8",
      "tree": "f62e0bef39f7f04c969327f6a8540d7cff6e373d",
      "parents": [
        "6699709cf27b706b5221527d9815dd9365911710"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 19 19:47:10 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 20 11:48:27 2011 -0700"
      },
      "message": "Implement most of VMStack and some of Zygote.\n\nChange-Id: I07e18259a0452a2a9b077148f4f1ca67d3f63427\n"
    },
    {
      "commit": "6699709cf27b706b5221527d9815dd9365911710",
      "tree": "0e966d6a9ceb74b9c054d9e603760a7578368017",
      "parents": [
        "3b5d379bf6a66198a948782e1a18974ffe516d89",
        "b4df5146854c42bf03c4ca02f441b6db73bfde0c"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Sep 20 11:35:36 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 20 11:35:36 2011 -0700"
      },
      "message": "Merge \"Added more checking upon resolution and bytecode rewriting to verifier.\" into dalvik-dev"
    },
    {
      "commit": "b4df5146854c42bf03c4ca02f441b6db73bfde0c",
      "tree": "8723f6b46da9161ef5a22cc42a7ec0bf2bce47b8",
      "parents": [
        "845490bda68f7d025ea7f45775c847d2932e00dc"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Sep 19 20:25:32 2011 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Sep 20 11:33:51 2011 -0700"
      },
      "message": "Added more checking upon resolution and bytecode rewriting to verifier.\n\nAccess checks are performed when methods and fields are resolved. Also,\nerroring bytecodes are now overwritten in the memory mapped dex file.\nTo do this, the code sets the memory mapped dex file as writable before\nverification and set it back to read only after verification is done.\nThe overwritting occurs only in memory and the original dex file remains\nunchanged.\n\nChange-Id: I054394fb57e83d1ac5b6f200ab993d70cd9f55e6\n"
    },
    {
      "commit": "3b5d379bf6a66198a948782e1a18974ffe516d89",
      "tree": "0fea1277d25a4fe69b4954e4c8184cec083813c4",
      "parents": [
        "9651f425f7413772a7b5352da2b04eb7de7d416f"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Sep 20 11:01:40 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Sep 20 11:01:40 2011 -0700"
      },
      "message": "Fix sub codegen bug\n\nAncient codegen bug, very uncommon case.\n\nChange-Id: I1f7c277f8a61ba21bf987f9d8b4d206f7f03d4e0\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": "845490bda68f7d025ea7f45775c847d2932e00dc",
      "tree": "2fc5c0f3fa40a491a3467dfc25d71fc2e23058f1",
      "parents": [
        "9d5ccec86d60c9ddd811836b9a2bc28d0b3d11fe"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Sep 19 15:56:53 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Sep 19 16:18:27 2011 -0700"
      },
      "message": "Cleanup resolution of type, field, method indexes\n\nWhen resolving a type_idx of a static field, you cannot assume the\ntype_idx refers to the class that actually provides the storage, it\nmight be a subclass. The compiler now resolves to the storage class if\npossible at compile time, otherwise it reverts to the slow path.\n\nWhen resolve field and method indexes, you need to know if a field is\nstatic or instance and if a method is direct or virtual. Previously we\ntried to guess, which led to problems in classes that had one of\neach. Now the compiler resolves which kind of field and method based\non the context of class definitions and dex instructions.\n\nChange-Id: I31826dc90562057eadd81f39d6369aa1216509af\n"
    },
    {
      "commit": "9d5ccec86d60c9ddd811836b9a2bc28d0b3d11fe",
      "tree": "3a65213e8238770bb62ec54c8d82d230be405621",
      "parents": [
        "9086572fa809d1a19d886b467e4da3ce42016982"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 19 13:19:50 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 19 15:06:39 2011 -0700"
      },
      "message": "Implement as much of VMDebug as we can reasonably do right now.\n\nNo hprof and no method tracing, but everything else.\n\nChange-Id: Ifccd1f08e31f34b947c30f1211db788aae674d81\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": "47d913865f35576b39a3b7f17720c344a6b99fa5",
      "tree": "02ec2dda7817d9c964362d62017dab5c30ba7c63",
      "parents": [
        "25c3325bf95036bf325fc7cb21b4fd6d40282857",
        "e007b10d3c621c4171f760fc825ad76d7e93833b"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Sep 19 09:49:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 19 09:49:35 2011 -0700"
      },
      "message": "Merge \"Fix host regression on JNI compiler test.\" into dalvik-dev"
    },
    {
      "commit": "e007b10d3c621c4171f760fc825ad76d7e93833b",
      "tree": "352153e3f5755cd3291acd34adbe7a6ba6023df8",
      "parents": [
        "e5de95b3f9609e02fefd7cda7b21f30c9412eb4c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Sep 19 09:47:09 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Sep 19 09:47:09 2011 -0700"
      },
      "message": "Fix host regression on JNI compiler test.\n\nChange-Id: I90556a8201d7a56b5d3467c0d5e17702d58da933\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": "e5de95b3f9609e02fefd7cda7b21f30c9412eb4c",
      "tree": "0a8ef975ac588b444a99957e66e502df84895589",
      "parents": [
        "c0fe6c7dcc3d5269d2c7dcffafe8b0741f6b8bca"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Sep 18 20:31:38 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Sep 18 23:16:14 2011 -0700"
      },
      "message": "Fix JNI thread state transitions.\n\nThread state transitions need correct fencing. This change introduces\nthe fences and makes the behaviour match that of Thread::SetState.\n\nChange-Id: Ia0ff68e2493ae153cf24d251e610b02b3f39d93e\n"
    },
    {
      "commit": "c0fe6c7dcc3d5269d2c7dcffafe8b0741f6b8bca",
      "tree": "d069d52ede0ce006827f789935a6395d30b6ae92",
      "parents": [
        "081be7fcd72490937e188e9ef56e72df06b7b006"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Sep 18 20:19:14 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Sep 18 21:04:18 2011 -0700"
      },
      "message": "Fix manyargs test\n\nHad the src \u0026 dst backwards in the argument copying case \u003e 20 arguments.\n\nChange-Id: I0247c4ac2992d4505277a773cfbf65edc7d57695\n"
    },
    {
      "commit": "081be7fcd72490937e188e9ef56e72df06b7b006",
      "tree": "02037944700df5c68c209fefb2bd00b0bc1c60fa",
      "parents": [
        "29f2742a478e4f5bd2ec7473410c5e5e7134a6f2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 18 16:50:26 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 18 17:21:57 2011 -0700"
      },
      "message": "Implement Object.clone.\n\nAlso add a conditional to Thread to keep tests running.\n\nChange-Id: I02145973af0fca823acb689e04912c2020d9c650\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": "fa3baf7998f0af9de067eadf1f3b9a0b45d13349",
      "tree": "a28ef389b6bb31d1a15a0a53eca5fd6f11a9b27a",
      "parents": [
        "bbf1e41e8d9b2446756e729f30c2501fb3e682c1"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Sep 18 15:44:15 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Sep 18 15:44:15 2011 -0700"
      },
      "message": "Store return address before performing a thread dump\n\nChange-Id: Ifabe65cba60bb0d01b70346b923a09c48f90d9ba\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": "038a806df72f884d22283a84a31c9a1d35ba1fdf",
      "tree": "c980ef0f8dbfb35dfedcd9faa0804df3f3e03f84",
      "parents": [
        "3101efb8f0e02fcfa70229c15631755cad758536"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 18 14:12:41 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 18 14:12:41 2011 -0700"
      },
      "message": "Thread.join, GC daemons, suspend daemons on shutdown, and wait for non-daemon threads to exit.\n\n(I\u0027ve been testing with a modified SystemMethods test that does various thread\noperations.)\n\nChange-Id: I3087087546f90c43da7a0e63fae918ff0a6e7005\n"
    },
    {
      "commit": "3101efb8f0e02fcfa70229c15631755cad758536",
      "tree": "ba568c88e0a2a0b9d4c92bdede1cd8274c191694",
      "parents": [
        "93dd9660955f1c0f068c57199c1945fc51fb84a7",
        "3b80347bfb3affe6fe193de5390624d6fbd746c5"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Sep 18 14:10:27 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 18 14:10:27 2011 -0700"
      },
      "message": "Merge \"Assembler fix\" into dalvik-dev"
    },
    {
      "commit": "3b80347bfb3affe6fe193de5390624d6fbd746c5",
      "tree": "ca56993c6ef3c4cd4089cd5d1302ab6b0b87f344",
      "parents": [
        "5b8e4c810a97c9dc417142b8c6e07871ae15c797"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Sep 18 13:48:32 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Sep 18 13:53:43 2011 -0700"
      },
      "message": "Assembler fix\n\nUnlike pc-relative loads and branches, arithmetic operations using\nthe program counter do not implicitly word-align pc+4, but rather use\n(current pc + 4) without alignment as the source.\n\nChange-Id: If9a7eee8614c04f513fa5593fe9d58dd429f9023\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": "b6db9d29038a0e8dea8a399b155bd60448ec5e97",
      "tree": "f0a0f96027d1732b21839dd088eb1708ece2cf4b",
      "parents": [
        "03c99df35373efa1924d0ab9c0d21f9061afe8ea"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Sep 18 11:39:12 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Sep 18 11:39:12 2011 -0700"
      },
      "message": "Convert a DCHECK to a COMPILE_ASSERT\n\nChange-Id: I3719ef5ad7339bba4b21bbb96b2e4f0554846d4a\n"
    },
    {
      "commit": "03c99df35373efa1924d0ab9c0d21f9061afe8ea",
      "tree": "211cd72a2713c6a2d9f99f8c999e651f50432959",
      "parents": [
        "534f045c57532f5689ccad269faa35b655a44f77"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Sep 18 10:52:00 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Sep 18 10:52:00 2011 -0700"
      },
      "message": "Fix Class_getDeclaredConstructorOrMethod to look at direct as well as virtual methods\n\nChange-Id: Ibc34e3e55b408b2ef04e439960c63fb6e98d06eb\n"
    },
    {
      "commit": "534f045c57532f5689ccad269faa35b655a44f77",
      "tree": "7bc4ca21aaf8dc056cfaf0632cd5e810abbf8674",
      "parents": [
        "5b8e4c810a97c9dc417142b8c6e07871ae15c797",
        "ad42e1327fca837531e4feac8841de3960c4df45"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 18 10:41:13 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 18 10:41:13 2011 -0700"
      },
      "message": "Merge \"Exception work clean up.\" into dalvik-dev"
    },
    {
      "commit": "5b8e4c810a97c9dc417142b8c6e07871ae15c797",
      "tree": "1a28a30bfca5e29d2abb33ad8fa27e66ab9beae9",
      "parents": [
        "3a7b4f26387b3529899f3cf16cdd6f1e200ded80"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Sep 18 01:38:59 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Sep 18 01:56:40 2011 -0700"
      },
      "message": "Change Class::component_type_ and implement reflect.Array\n\nChange-Id: I9e06f31577551c738eca2621146c8d2328119442\n"
    },
    {
      "commit": "ad42e1327fca837531e4feac8841de3960c4df45",
      "tree": "de7c955804ac46da7988638e9aa478899457c4f8",
      "parents": [
        "3a7b4f26387b3529899f3cf16cdd6f1e200ded80"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Sep 17 20:23:33 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Sep 17 20:23:33 2011 -0700"
      },
      "message": "Exception work clean up.\n\nChange-Id: Ide71ba25ea70b39651f80d9ff469019898a929e6\n"
    }
  ],
  "next": "3a7b4f26387b3529899f3cf16cdd6f1e200ded80"
}
