)]}'
{
  "log": [
    {
      "commit": "726079d3e2e50854cd6ca4c393f4529a796dba58",
      "tree": "717baafeaeadead98668b9ae6e0323cbb6347a25",
      "parents": [
        "fe2e17f424584ad6969c6fcf7cf6364c69355d53"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 07 18:43:44 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 10 11:02:18 2011 -0700"
      },
      "message": "Finish the OutOfMemoryError implementation.\n\nThis copes with the double-OOME case.\n\nAlso check that I don\u0027t leave local references in a newly-attached thread\u0027s\nlocal reference table, and fix the leaks this discovered.\n\nAlso fix the code that implements fillInNativeStackTrace to cope with the\nsituation where we\u0027re not able to allocate (because we\u0027re throwing\nOutOfMemoryError and there\u0027s not enough space left for our arrays).\n\nAlso fix the order of checking for a pending exception and popping the\nlocal references in the JNI native method invocation stub. (This fixes\nthe warnings we\u0027d been seeing from the IndirectReferenceTable in test 064.)\n\nAlso improve some -Xcheck:jni output.\n\nThis fixes test 061.\n\nChange-Id: Icc04a2c06339bd28d6772190350a86abfc5734b8\n"
    },
    {
      "commit": "fe2e17f424584ad6969c6fcf7cf6364c69355d53",
      "tree": "ad4b5837bcc7f2d346adbe5b8aff46833d0aa1a8",
      "parents": [
        "bf7dca57e51e85a647c63cec984048ca03c5f071"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Oct 10 09:35:02 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Oct 10 09:35:02 2011 -0700"
      },
      "message": "Simplify compiler\u0027s suspend check mechanism.\n\nMove to a single mechanism for suspend checks.  Previously backwards\nbranches only checked the suspend count when an internal counter\nreached zero, while returns always checked.  Now all checks use\nthe counter.\n\nChange-Id: Ibca2881e102babbd134bb9b41d798e9e4a3b522c\n"
    },
    {
      "commit": "bf7dca57e51e85a647c63cec984048ca03c5f071",
      "tree": "0000c1b0767e37c59a0cd31837e49c157301edff",
      "parents": [
        "e70708051e06119c04be33ca49fb16bef8162059",
        "ae67599981e17cdfd51418c35e56e2a7c5ef4c72"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Oct 09 18:25:22 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Oct 09 18:25:22 2011 -0700"
      },
      "message": "Merge \"Various assembly fixes.\" into dalvik-dev"
    },
    {
      "commit": "ae67599981e17cdfd51418c35e56e2a7c5ef4c72",
      "tree": "628f154344135cb51c94a9885b5cfae9e7a35f37",
      "parents": [
        "c10717a0b86d5719556ac3286fcb47aa2f2416fc"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Oct 09 17:10:22 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Oct 09 18:23:51 2011 -0700"
      },
      "message": "Various assembly fixes.\n\nChange-Id: I42655af8dc3d7201d53c3393cdc585d9faa8cb82\n"
    },
    {
      "commit": "e70708051e06119c04be33ca49fb16bef8162059",
      "tree": "f1ebe2ed4af44c28216642f7b32d6c20d6100d91",
      "parents": [
        "c10717a0b86d5719556ac3286fcb47aa2f2416fc"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Oct 09 17:56:06 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Oct 09 18:19:46 2011 -0700"
      },
      "message": "Compiler/assembler fix\n\nThere are three Thumb encodings for push and pop, and one of\nthem (Thumb2/t2) requires at least two registers in the push/pop\nlist.  This CL adds the single-register encoding (which is really\njust another name for a standard base-modifying load/store).\n\nChange-Id: I963c472a0d5f288654417dbd85758d6b5cc61388\n"
    },
    {
      "commit": "c10717a0b86d5719556ac3286fcb47aa2f2416fc",
      "tree": "dacfc078eb74ef4b201cbb55ebe60c2ebaec106f",
      "parents": [
        "4a510d8750d50b77353d0a5a891d1b9b3a48ecd5"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Oct 09 14:40:13 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Oct 09 15:01:08 2011 -0700"
      },
      "message": "Fix passing of sp in art_test_suspend\n\nSP of caller was being passed to artCheckSuspendToCode, rather than\nthe SP following save frame creation.  This led to the caller\u0027s\nmethod* getting stepped on.\n\nChange-Id: I644f2d6495d9274506a442c8a4a42985601ecb41\n"
    },
    {
      "commit": "4a510d8750d50b77353d0a5a891d1b9b3a48ecd5",
      "tree": "f6df9490fee55d2eae88b2281993e94953c6a805",
      "parents": [
        "4a14bc2e374add8f7df8232b3af3d8881eb4c84b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Oct 09 14:30:24 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Oct 09 14:30:24 2011 -0700"
      },
      "message": "Ensure R4 is initialized for upcall. Sort suspend naming.\n\nChange-Id: I73eb49e1af2ced971eeaafb7c07f5d964dae1824\n"
    },
    {
      "commit": "4a14bc2e374add8f7df8232b3af3d8881eb4c84b",
      "tree": "2b49ca069ccbc433127709d1c471438893f89a84",
      "parents": [
        "bb7d7730e553438d86ae45003e15ed8bf99d88d6",
        "ce9eca6de042f26e9eebc41c9bee8b4d14f753aa"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Oct 08 16:10:57 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Oct 08 16:10:57 2011 -0700"
      },
      "message": "Merge \"Move from code field routines to runtime support.\" into dalvik-dev"
    },
    {
      "commit": "bb7d7730e553438d86ae45003e15ed8bf99d88d6",
      "tree": "f79e5741df85e72350000593ea79dd9879e7d992",
      "parents": [
        "6384f644e8120a15bddb9a72976eac1c158aba16"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Oct 07 18:24:50 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Oct 07 18:24:50 2011 -0700"
      },
      "message": "Turn on optimization by default\n\nChange-Id: I13bcac29c8ac8ed738f803ca5d78d92d15d6372e\n"
    },
    {
      "commit": "ce9eca6de042f26e9eebc41c9bee8b4d14f753aa",
      "tree": "7a141da8787f6653b30595f478ec656fd8dd01d6",
      "parents": [
        "6384f644e8120a15bddb9a72976eac1c158aba16"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Oct 07 17:11:03 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Oct 07 18:24:23 2011 -0700"
      },
      "message": "Move from code field routines to runtime support.\n\nAdd support for exceptions from these routines. Use a macro for pending\nexception delivery. Fix bug in object_test where the signature of a\nFromCode function had changed.\n\nChange-Id: If486eff8659e5f6bb38d95b1139e8981656e4fb0\n"
    },
    {
      "commit": "6384f644e8120a15bddb9a72976eac1c158aba16",
      "tree": "c9f68810417e3e1e8ed56a2aff5e4f05bd6c85a3",
      "parents": [
        "f5a7a476e7ea63e094ff0f011dccc170607e6f6b"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Oct 07 18:08:35 2011 -0400"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Oct 07 18:11:31 2011 -0400"
      },
      "message": "Don\u0027t crash if the source file is null\n\nChange-Id: I63245c44c6faf394dd449a43c406dc464e81a309\n"
    },
    {
      "commit": "f5a7a476e7ea63e094ff0f011dccc170607e6f6b",
      "tree": "4f07e57d5e3d2a82eeefcb7c6409f36b383b1d96",
      "parents": [
        "c2858561314513cc7bce2da7e13664aefef5a2ac"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 07 14:31:02 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 07 15:08:48 2011 -0700"
      },
      "message": "Enhance CHECK_EQ and friends to allow extra detail to be appended (like CHECK).\n\nChange-Id: Iaa980892ab31621c8bcca9ea7c6c4ee743333f45\n"
    },
    {
      "commit": "c2858561314513cc7bce2da7e13664aefef5a2ac",
      "tree": "e9fc3b127b2a0c7466041f8c4e74b8d5c6257149",
      "parents": [
        "6825326abfef92d4e1bf6afddef1a319aa18d08c",
        "78090d119d5e23ff35ecddac1f4a98e4c050bb07"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 07 15:07:29 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 07 15:07:29 2011 -0700"
      },
      "message": "Merge \"Don\u0027t say UTF-8 in an error message when we mean Modified UTF-8.\" into dalvik-dev"
    },
    {
      "commit": "78090d119d5e23ff35ecddac1f4a98e4c050bb07",
      "tree": "b614f3f02328ec38ad126b5708804675eaf6a38d",
      "parents": [
        "a43cb5e8fb29989dbb986b9b91a68cda150aa3c8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 07 14:31:47 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 07 14:35:22 2011 -0700"
      },
      "message": "Don\u0027t say UTF-8 in an error message when we mean Modified UTF-8.\n\nChange-Id: I2069daa76acdc5a541b5db2222f7c77fcbc56847\n"
    },
    {
      "commit": "6825326abfef92d4e1bf6afddef1a319aa18d08c",
      "tree": "1706bf3e0bbdb9f7a704140f70011c1b362fa294",
      "parents": [
        "a43cb5e8fb29989dbb986b9b91a68cda150aa3c8"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Oct 07 14:02:25 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Oct 07 14:16:01 2011 -0700"
      },
      "message": "Reg utility fix\n\nLong ago in a galaxy far away, there was a trace compiler that\nhandled short code fragments with a small, sparse and variable\nset of temp registers.  In that situation, doing linear reg\nlookups wasn\u0027t terrible.  In the new world that has a fixed and\npacked set of registers, a linear search is unnecessary, foolish\nand wasteful.  [P.S. perf showed that roughly 25% of all\ncompilation time was spent doing register manipulation!]\n\nChange-Id: I6f23d9f70367fb4139cc28a27fd9fdf8beffa270\n"
    },
    {
      "commit": "a43cb5e8fb29989dbb986b9b91a68cda150aa3c8",
      "tree": "de48a2f28f3515b8c668adbcf7d632cf6f76bbf1",
      "parents": [
        "3320cf46afd082398aa401b246e6f301cebdf64d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 07 11:37:59 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 07 12:13:53 2011 -0700"
      },
      "message": "Fix exception_test.cc and thread.cc and revert 3ddac99d4dc6a036fac59d8f0bdc664ef619fb04.\n\nThe test was wrong, and jni_compiler_test failed too because we\u0027d missed one\nplace where we need to mangle the PC.\n\nChange-Id: Ib67ca081e17b5ee8b8c64696082858b212b157f1\n"
    },
    {
      "commit": "3320cf46afd082398aa401b246e6f301cebdf64d",
      "tree": "99ef2b240ad81fa7cafa0bca51ca2364120fa762",
      "parents": [
        "4f0d07c783afef89703dce32c94440fc8621a29b"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 04 14:58:28 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Oct 07 11:59:20 2011 -0700"
      },
      "message": "Move rest of code related blobs from Method to oat\n\nChange-Id: I55041b564ab65317c8b1f863005f20ba650a0322\n"
    },
    {
      "commit": "4f0d07c783afef89703dce32c94440fc8621a29b",
      "tree": "f6f4b68d5afc6551c61d3e86153878d9891ea13a",
      "parents": [
        "3ddac99d4dc6a036fac59d8f0bdc664ef619fb04"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 06 23:38:47 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Oct 07 11:40:56 2011 -0700"
      },
      "message": "Spill possibly reference holding registers for runtime calls.\n\nLive references may be in registers when we crawl a stack for GC during\na runtime call. Whilst an exception won\u0027t occur we need to save the\ncallee save registers into the frame so the stack crawl can find their\nvalues. Create variants of the callee save method to save just the\nregisters that are necessary.\n\nChange-Id: I6fa479bffcbc333fe846f9bd3ef2e626e0209ed9\n"
    },
    {
      "commit": "3ddac99d4dc6a036fac59d8f0bdc664ef619fb04",
      "tree": "6c54efd6041912f1676ac9b43dddcfdd7684560a",
      "parents": [
        "418dfe7849f45535b5388a91bd7a16cfc20a612b"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Oct 07 00:48:09 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Oct 07 00:48:09 2011 -0700"
      },
      "message": "Fix the PC. And we pass the unit tests on host and target again.\n\nChange-Id: I44a8db00269471bacd4031259f57358670583e49\n"
    },
    {
      "commit": "418dfe7849f45535b5388a91bd7a16cfc20a612b",
      "tree": "60af35d2d9352910c782d2ce90f63a4d89d4a516",
      "parents": [
        "1cb0a1dfc32531c79a968aeac26ccb5525862497"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 18:56:27 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 18:56:27 2011 -0700"
      },
      "message": "Enable AllocWithGrowth and OutOfMemoryError throwing.\n\nAlso fix a bug where we weren\u0027t correcting the pc for the first stack frame.\n\nChange-Id: Ic4196987eac85eff2f6d14171b19b4f5890b6c4d\n"
    },
    {
      "commit": "1cb0a1dfc32531c79a968aeac26ccb5525862497",
      "tree": "61d0345bd2b9b951026c9ce18d51c2b2d6963255",
      "parents": [
        "40c47b50f6c37ff2af919a0d51f12d3e7cc794a3"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 06 15:24:35 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 06 17:27:15 2011 -0700"
      },
      "message": "Support for resolving unknown direct/static methods.\n\nIf we can\u0027t resolve a method we don\u0027t know whether it is direct or\nstatic from the dex information (other than the invocation instruction).\nAdd support for a third type of resolution stub that can discover the\ntype of the method based on the calling method and PC of the invocation\ninstruction. Its still unimplemented to look up the instruction and\nfigure out if the type is static or not.\n\nChange-Id: I8b76e6ba2c946376e7fe287dbcca17bcaab0e133\n"
    },
    {
      "commit": "40c47b50f6c37ff2af919a0d51f12d3e7cc794a3",
      "tree": "f30e257c56ba6578739254f9c455aa3c256b0118",
      "parents": [
        "33a129cb771f7e8850b085d6158e5c8bf1e1da32",
        "d9cdfe91a4812a86d90a139569eac18e2b6de3fb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 17:01:03 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 06 17:01:03 2011 -0700"
      },
      "message": "Merge \"Fix the weird state transitions in verification.\" into dalvik-dev"
    },
    {
      "commit": "33a129cb771f7e8850b085d6158e5c8bf1e1da32",
      "tree": "16a857d3c3a1cde47519a906edf964711540d597",
      "parents": [
        "7f1caabe2936b5b6e34d5740607f5f5d63356fea"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Oct 06 16:53:20 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Oct 06 17:00:27 2011 -0700"
      },
      "message": "Save callee-save registers on alloc helper calls\n\nThe allocations helpers may cause a gc, so we need to preserve\nall callee save registers that might contain a reference.\nDeleted obsolete unit tests.\n\nChange-Id: Ib14f4ca787af94e1d8e036bbb956ffc537eff226\n"
    },
    {
      "commit": "7f1caabe2936b5b6e34d5740607f5f5d63356fea",
      "tree": "c6676fd887d88565b2dac39d266ff8f3f81df5b2",
      "parents": [
        "efdbac54eef6209772dadf7d24c7b3d37dcc8713"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Oct 06 12:11:04 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Oct 06 16:47:17 2011 -0700"
      },
      "message": "Add an interface to Space, so Heap no longer needs to be friend of Space.\n\nAlso, fix and add comments with respect to utilization.\n\nChange-Id: Ia9d27cc16d2b85ac97a48fee80567829f41224f4\n"
    },
    {
      "commit": "d9cdfe91a4812a86d90a139569eac18e2b6de3fb",
      "tree": "8e4c87645a50b7a825586735143956c53eb9a6ac",
      "parents": [
        "efdbac54eef6209772dadf7d24c7b3d37dcc8713"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 16:09:04 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 16:09:04 2011 -0700"
      },
      "message": "Fix the weird state transitions in verification.\n\nThis probably wants to be done differently, without Compiler involving\nClassLinker, and with DexVerifier being told whether it should throw\nor not. But this gets us further for now.\n\nTest 077 still crashes, but that\u0027s now in code that\u0027s actively being\nworked on, which I\u0027ll leave for now.\n\nChange-Id: I4f265b20663837547933d0c5fa70032d22fc6c12\n"
    },
    {
      "commit": "efdbac54eef6209772dadf7d24c7b3d37dcc8713",
      "tree": "b167eb6f9d134ff8b33c4015465be50589f65906",
      "parents": [
        "bc258fafc4a83bba82a306aeb08a30fae7cb61fc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 15:06:18 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 15:06:18 2011 -0700"
      },
      "message": "Fix 069 by throwing IncompatibleClassChangeError at runtime when required.\n\nChange-Id: I158a9fea5a7f5daad30e082e16cc625b4e992c29\n"
    },
    {
      "commit": "bc258fafc4a83bba82a306aeb08a30fae7cb61fc",
      "tree": "b49f858e98e0747a0cdfeb1a78b39b8d70c338bd",
      "parents": [
        "5f9298a3430998af855930dc5df3133f55e1516c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 14:45:21 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 14:45:21 2011 -0700"
      },
      "message": "Fix IncompatibleClassChangeError.\n\nBefore, we\u0027d hit the end of FindClass and blow up because we don\u0027t expect a\npending exception.\n\nChange-Id: Ia3ca89d2460782275c5217c31ce3b057d12d4fa6\n"
    },
    {
      "commit": "8eb434f151dd04f23738f4dc7703eb156aa4acb9",
      "tree": "b06dccec664d80efbdfd45fc5753cea53a43807d",
      "parents": [
        "b6343d13efe41d38079d687e4d76db49ca1fea0e",
        "92f14b266d0d9b5b5645bb56447a5dd22217b92c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 12:34:16 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 06 12:34:16 2011 -0700"
      },
      "message": "Merge \"Make sure that array_iftables_ is initialized when loading from an image.\" into dalvik-dev"
    },
    {
      "commit": "92f14b266d0d9b5b5645bb56447a5dd22217b92c",
      "tree": "f3b08336085ce25b8c3bf7b97b3cca547e792d2f",
      "parents": [
        "510c878c73d944e8306d346e978f880bf2d06fd9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 12:29:54 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 06 12:31:39 2011 -0700"
      },
      "message": "Make sure that array_iftables_ is initialized when loading from an image.\n\nThis fixes test 009-instanceof2.\n\nChange-Id: Ieba95a295e34381aeb16f5950376ff8700b624de\n"
    },
    {
      "commit": "949f56ec8b17ac928693dc9636b5c3305f93978c",
      "tree": "c1d7c519f2596ca12fdf25e5d904f1948305e122",
      "parents": [
        "f57c47c29cd3388d1d78008a71c4e18f2217b70c"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Oct 06 11:05:45 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Oct 06 11:05:45 2011 -0700"
      },
      "message": "Nullcheck elimination fix\n\nTwo problems: looking at \"uses\" rather than \"defs\" to discover new\nresult that is known non-null, and search needed to extend into fallthrough\nbasic block.\n\nChange-Id: I11b4f5e4ce86552437ca9638c7b2728d1d7abc26\n"
    },
    {
      "commit": "f57c47c29cd3388d1d78008a71c4e18f2217b70c",
      "tree": "346cbf0cdfa1367d42343cdd3aa98a10bb1bf189",
      "parents": [
        "aeac7543ca481bf84922c1f50df75a27f9fb7163"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 06 00:06:17 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 06 00:08:46 2011 -0700"
      },
      "message": "Fix vmap handling. Adjust all PCs by -2 in WalkStack.\n\nVmap handling didn\u0027t increment the register when it got the first hit in\nthe core spill mask (bug exposed by register promotion). Adjust PCs by -2\nin WalkStack so that ToDexPc calls don\u0027t need adjustment. This corrects\nline number information on \"run-test 054\".\n\nChange-Id: Iebfb4109b5234bb7357b5ba538883c28dfc7cb26\n"
    },
    {
      "commit": "aeac7543ca481bf84922c1f50df75a27f9fb7163",
      "tree": "5289cbc89d27575c34b517ec30cfafd41aeba059",
      "parents": [
        "ad25ac568407ceb14334e8551dd1c4dd0fd6993c",
        "19e53eb4d48c4b90ebe6535295ccec9c225d62c6"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 05 23:39:55 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 05 23:39:55 2011 -0700"
      },
      "message": "Merge \"Callee-save these ARM registers: R5-R8, R10-R11 and LR.\" into dalvik-dev"
    },
    {
      "commit": "19e53eb4d48c4b90ebe6535295ccec9c225d62c6",
      "tree": "f256433c98b5b0bac344ef1727d2cdcf707cd615",
      "parents": [
        "8c2f6414e1cff9a024a14369352f7ce112528b9e"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Oct 05 19:11:46 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Oct 05 23:24:21 2011 -0700"
      },
      "message": "Callee-save these ARM registers: R5-R8, R10-R11 and LR.\n\nTo enable compiler\u0027s register promotion.\n\nChange-Id: Ic186bf735af686c667fb393c64dc17bae0733703\n"
    },
    {
      "commit": "ad25ac568407ceb14334e8551dd1c4dd0fd6993c",
      "tree": "f1e2edb4b87d0b5ce35f94069db2f6cdb77db210",
      "parents": [
        "8c2f6414e1cff9a024a14369352f7ce112528b9e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 04 19:13:33 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 05 22:40:00 2011 -0700"
      },
      "message": "Static and direct resolution stub.\n\nEnsure that invoke static and direct go through a stub that causes\nresolution and initialization.\n\nChange-Id: I872900560322817d8f4378b04ac410d9ea0b3b17\n"
    },
    {
      "commit": "8c2f6414e1cff9a024a14369352f7ce112528b9e",
      "tree": "f3d9a60e81d416f9e88971091ae163f228b36de5",
      "parents": [
        "fbfdce6952bee54a189af4b3984300301a5d62c1"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Oct 03 22:58:14 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Oct 05 18:42:36 2011 -0700"
      },
      "message": "Grow for improving target utilization. Applicable to the target side only.\n\nChange-Id: If57ff026b66953abdfb56263589bb1b2521552d6\n"
    },
    {
      "commit": "fbfdce6952bee54a189af4b3984300301a5d62c1",
      "tree": "cad923620d1665316d1e130873238103f9427428",
      "parents": [
        "c22185019fff728346ce022ce2dc74382d6e5b59"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Oct 05 17:33:32 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Oct 05 17:33:32 2011 -0700"
      },
      "message": "Teach ClassLinkerTest about Reference.referent\n\nChange-Id: I14ac62739c6e7afa34712d10b2db3d783945b5e4\n"
    },
    {
      "commit": "c22185019fff728346ce022ce2dc74382d6e5b59",
      "tree": "e0519cc3bbeeb504aa450543d89107fe0f888bdf",
      "parents": [
        "0826a7ce6023a7a3a629ec7d4ca0f43a1c967799",
        "adb460d96702573de6e732ad58ca0380405cd928"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 05 17:18:21 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 05 17:18:21 2011 -0700"
      },
      "message": "Merge \"Implement finalization.\" into dalvik-dev"
    },
    {
      "commit": "adb460d96702573de6e732ad58ca0380405cd928",
      "tree": "f70ad27d5fc007b70765a76644519234466dee61",
      "parents": [
        "68e76526e98432625464022cb26f66b9ef6f5af4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 05 17:02:34 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 05 17:02:34 2011 -0700"
      },
      "message": "Implement finalization.\n\nAlso make System.gc no longer a no-op. This replaces some of the\nMemberOffsets exposed by Heap with intention-revealing functions\nthat we\u0027ll want to share between all the actual GC implementations,\nbut there\u0027s still more to be done.\n\nChange-Id: I57ba26c0416fbbfe20142b7b6e27108684add7f9\n"
    },
    {
      "commit": "0826a7ce6023a7a3a629ec7d4ca0f43a1c967799",
      "tree": "ce2f8ce092dbc640ef8547438b90f4bb83f047be",
      "parents": [
        "68e76526e98432625464022cb26f66b9ef6f5af4",
        "e3de7495be03c16d6862359d618a2dcb3f3abf9b"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Oct 05 13:51:58 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 05 13:51:58 2011 -0700"
      },
      "message": "Merge \"Compiler - switch default for null invoke test\" into dalvik-dev"
    },
    {
      "commit": "e3de7495be03c16d6862359d618a2dcb3f3abf9b",
      "tree": "99b17ed768142a3746a5eea9a352d84db217a54b",
      "parents": [
        "99f272349671e14ceada1cc795ce4c66a38ddd3e"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Oct 05 13:37:17 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Oct 05 13:37:17 2011 -0700"
      },
      "message": "Compiler - switch default for null invoke test\n\nA while back we added a debugging option to test for a\nnull code address on invokes, and display a debug message\nif one was encountered.  Time to turn it off by default\n(it can still be enabled via compilerDebugFlags).\n\nChange-Id: Id73596aa1f288a2d0b3ce53894b48385de712988\n"
    },
    {
      "commit": "68e76526e98432625464022cb26f66b9ef6f5af4",
      "tree": "e657a389a34e5c14f0be60621b71124f15c2be4d",
      "parents": [
        "99f272349671e14ceada1cc795ce4c66a38ddd3e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 05 13:22:16 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 05 13:22:16 2011 -0700"
      },
      "message": "Start moving stack-related stuff out of thread.h.\n\nThis was in preparation for implementing \"SmartFrame\", which is back on hold\nwhile I finish finalization.\n\nChange-Id: I006c9cfbc34520b9b0a72972611036d908a1d84b\n"
    },
    {
      "commit": "99f272349671e14ceada1cc795ce4c66a38ddd3e",
      "tree": "ebd4a5c4c1ac47d837174daaf4684ae7b26c7b60",
      "parents": [
        "3ddc0d1108a00e14b60c60edcdeff3b81f9e35f9"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Oct 05 12:56:36 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Oct 05 13:11:35 2011 -0700"
      },
      "message": "Special-case Object.\u003cinit\u003e invoke\n\nIdentify direct invokes to Object.\u003cinit\u003e and handle them similar\nto the old-word OP_INVOKE_OBJECT_INIT_xxx.  Also, added missing\nnull check for range-style invoke-direct and invoke-interface.\n\nChange-Id: I5789db4e85609b780063c4788fa40d627a6988c4\n"
    },
    {
      "commit": "3ddc0d1108a00e14b60c60edcdeff3b81f9e35f9",
      "tree": "daae3f0f439fc95e29a611d366f82309316943f4",
      "parents": [
        "ce30293d222c864fa281da98bc896dd1c98a9a16"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Oct 05 10:36:21 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Oct 05 10:36:21 2011 -0700"
      },
      "message": "Fix Vmap table size\n\nConsistently use 16 bits to store Dalvik vreg number.\n\nChange-Id: I6d21c0ed7011e5defaa45571951ff7608d0ce80e\n"
    },
    {
      "commit": "ce30293d222c864fa281da98bc896dd1c98a9a16",
      "tree": "b56c3a7f8be3349aa50c78675e6959e51344938d",
      "parents": [
        "20cde9033d51103f31e21436e88f80e1170c78ad"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Oct 04 14:32:18 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Oct 05 09:22:57 2011 -0700"
      },
      "message": "Compiler cleanup\n\n  o Added slow path for string resolution\n  o Removed dead throw internal and runtime error\n  o Restructured debug and optimization disable flags for make it easier\n    for command-line option support.\n  o Removed/converted #if 1/0 blocks\n\nChange-Id: I65fc561a55437b3f74d0dfff5af87f938008d70e\n"
    },
    {
      "commit": "20cde9033d51103f31e21436e88f80e1170c78ad",
      "tree": "4b7c66092d988a9ed9345b66868da9cdf5cc8b4a",
      "parents": [
        "b408de744566a5c5a80be1ba7f5c88407e816945"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 04 17:37:27 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 04 17:56:41 2011 -0700"
      },
      "message": "Add Class::IsFinalizable and Object::AddFinalizerReference.\n\nAlso correctly set the special bit in Class\u0027 flags.\n\nWe need compiler support before I can go further.\n\nChange-Id: Ib7a637d7140a6f8c416635738d4d0b57c17ad628\n"
    },
    {
      "commit": "b408de744566a5c5a80be1ba7f5c88407e816945",
      "tree": "fa282edb7134f16de6e3ff81181e6d9724039ab3",
      "parents": [
        "4377a7e93b47386de1e0c2e472a6e3e99d235331"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 04 14:35:05 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 04 14:51:27 2011 -0700"
      },
      "message": "Implement the \"unreasonable array allocation\" OutOfMemoryError.\n\nThis doesn\u0027t fix test 061 because we still need AllocWithGrowth, but at least\nit gets us far enough to need that.\n\nChange-Id: Ia7b4a1f91a31e25d439f36b17280ce21c9ed8933\n"
    },
    {
      "commit": "ffcd30982980e466656467fcc5bcbed120455a6d",
      "tree": "2e89d992d2bd77916d9b5d2c7b2f95b2d47f4f9c",
      "parents": [
        "e1410a2e47f4fc94de4e4f300308ee857bf1120a",
        "34f426c49ac2de8cea70acef6b9ecdd8e62209d2"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 04 13:11:48 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 04 13:11:48 2011 -0700"
      },
      "message": "Merge \"Make class roots an image root\" into dalvik-dev"
    },
    {
      "commit": "34f426c49ac2de8cea70acef6b9ecdd8e62209d2",
      "tree": "d838a44f5d9b3ba6d08164d577c6fb71156076b4",
      "parents": [
        "8cbc8bc716d7a47019ad14403920c72547b2fb96"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 04 12:58:02 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 04 13:00:10 2011 -0700"
      },
      "message": "Make class roots an image root\n\nChange-Id: I1f1513bf34caa736c0dd7518a92f493b4573d776\n"
    },
    {
      "commit": "e1410a2e47f4fc94de4e4f300308ee857bf1120a",
      "tree": "fdda27f0251d65de1d40080ce56ab58353a8485b",
      "parents": [
        "8cbc8bc716d7a47019ad14403920c72547b2fb96"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 04 12:10:24 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 04 12:10:24 2011 -0700"
      },
      "message": "Fix the detail messages for NoSuchMethodErrors thrown from generated code.\n\nChange-Id: Ice525a5352fe66bf13d44752c59d3994b8bdfe97\n"
    },
    {
      "commit": "58ae9416e197ae68ed12ed43d87407d4dfb15093",
      "tree": "9fa93ce844f931155bf4a1d060f091f3285fb205",
      "parents": [
        "4d0207c3ed28bbbb8c583a3c3a37f00d1cd4dedc"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 04 00:56:06 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 04 10:39:42 2011 -0700"
      },
      "message": "Simplify command line arguments\n\nChange-Id: I9d6902b0c447fd8fbe5600fd36139791b2ceefb7\n"
    },
    {
      "commit": "4d0207c3ed28bbbb8c583a3c3a37f00d1cd4dedc",
      "tree": "5a0a78f71729f35646081e3b872b2eac1f3db5d5",
      "parents": [
        "f43f03a2ace71a6f45eb4861d77d6a4064ffd06f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 03 19:14:34 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 03 19:14:34 2011 -0700"
      },
      "message": "Wrap non-Error throwables in ExceptionInInitializerError.\n\nThis doesn\u0027t fix test 084 because we still need the stub to ensure \u003cclinit\u003e is\nrun before static method invocation, but it gets us to the point where that\u0027s\nthe only failure in the test, and that\u0027s already being worked on.\n\nChange-Id: I9835394a733421541d9687f66aeb3bef9f5dbb0e\n"
    },
    {
      "commit": "f43f03a2ace71a6f45eb4861d77d6a4064ffd06f",
      "tree": "17451ec1d0e04e4cc4d69b04321718eb2620af72",
      "parents": [
        "df59a25b4483d5810491ec5ff4274bfffb259bfd",
        "6c8867daab4af4667e0e816f6beafa7c5d13e043"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 03 16:45:31 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 03 16:45:31 2011 -0700"
      },
      "message": "Merge \"Implement artThrowVerificationErrorFromCode.\" into dalvik-dev"
    },
    {
      "commit": "6c8867daab4af4667e0e816f6beafa7c5d13e043",
      "tree": "103d25d3a799042c1746d2f05567dda27d8ed38a",
      "parents": [
        "33f741eefef8f8012f6c190b39355f2e0430d535"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 03 16:34:05 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 03 16:34:05 2011 -0700"
      },
      "message": "Implement artThrowVerificationErrorFromCode.\n\nChange-Id: Ib7f2ad06f20bd0a83fbab573bb16a9d2f872826a\n"
    },
    {
      "commit": "df59a25b4483d5810491ec5ff4274bfffb259bfd",
      "tree": "20243571a34c305c76d7c8cd48a8c61c085ee3df",
      "parents": [
        "33f741eefef8f8012f6c190b39355f2e0430d535",
        "d760bc40f564dcf7908b5d17474d1312fca400b5"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Oct 03 15:09:05 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 03 15:09:05 2011 -0700"
      },
      "message": "Merge \"Fixed class linker ResolveType for multi-dimensional arrays.\" into dalvik-dev"
    },
    {
      "commit": "d760bc40f564dcf7908b5d17474d1312fca400b5",
      "tree": "2a2296bb30e761fedeaf1461d56c9a2c355bac4e",
      "parents": [
        "d61ae7535b4d20cd9ceee9cdd96cdf89270e6bd0"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Oct 03 14:54:53 2011 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Oct 03 14:54:53 2011 -0700"
      },
      "message": "Fixed class linker ResolveType for multi-dimensional arrays.\n\nThe functionality of GetComponentType was changed to return the array\ntype, but one dimension less, instead of returning the basic element\ntype. Making the code drill all the way down fixes this.\n\nChange-Id: I89f6810a1362bb9d9c06c530d12646eb1375fccb\n"
    },
    {
      "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": "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": "06cbeb990e94f9c4576601e27145fe132e34a686",
      "tree": "2d05665391e5553ef797e7bfadccb6146bf04af0",
      "parents": [
        "0c8c6732ee872d6f475db6cd6c8e205e152b113c",
        "9dcc79df4ffc90b62f8e0eab18fa2aa90c38d5bd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 02 16:35:38 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Oct 02 16:35:38 2011 -0700"
      },
      "message": "Merge \"Add Class.getModifiers.\" into dalvik-dev"
    },
    {
      "commit": "9dcc79df4ffc90b62f8e0eab18fa2aa90c38d5bd",
      "tree": "a757a16060e37aa12158060e67c9b54d29f52ee4",
      "parents": [
        "e983d0062addbf374938df04d626243e08b79412"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 02 16:31:10 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 02 16:31:10 2011 -0700"
      },
      "message": "Add Class.getModifiers.\n\nThis doesn\u0027t cope with inner classes, but it lets us run more tests.\n\nChange-Id: I3f87b49e87cbe72a7d1d9aeede12ec88d59f8ea3\n"
    },
    {
      "commit": "0c8c6732ee872d6f475db6cd6c8e205e152b113c",
      "tree": "7aa76bf781be43faaa628bcb99749c3a5aece420",
      "parents": [
        "e983d0062addbf374938df04d626243e08b79412"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 02 16:14:13 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 02 16:14:13 2011 -0700"
      },
      "message": "Ensure we exit with EXIT_FAILURE if the main thread had an uncaught exception.\n\nChange-Id: I511d71d84992b2ec5efc7b2c2a39f7f279df941c\n"
    },
    {
      "commit": "e983d0062addbf374938df04d626243e08b79412",
      "tree": "2596e00f8f4079fbf3725ce79704043cc0a518e1",
      "parents": [
        "ed1c1e335acc9f61c7e25a78204f159ee3d13350"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Oct 02 14:48:56 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Oct 02 14:48:56 2011 -0700"
      },
      "message": "Revert optimization settings\n\nMy last CL mistakently enabled some optimization for ToT.  They\u0027re\nnot quite ready yet - turning off.\n\nChange-Id: I11c7beb6e272edd7620a132bc06328255c5962a5\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": "67786519786755d287bcda07dceb6b6110b4f3f0",
      "tree": "2312b3b48a502b06d7c2f14730ace76ad257d615",
      "parents": [
        "84044c56e999ee137f6637206029e522dd288c33",
        "7502e2a419f84808518cf212b3d7145c7b959c76"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 02 14:19:29 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Oct 02 14:19:29 2011 -0700"
      },
      "message": "Merge \"Fix the 051-thread test.\" into dalvik-dev"
    },
    {
      "commit": "84044c56e999ee137f6637206029e522dd288c33",
      "tree": "a1bf703cf5ce2d07405f5a49bf6b0d635111d225",
      "parents": [
        "5cb5ad27944efb08d4556b3c0d362302e37e832b",
        "bbaf894dded77603bd457758ba2b4636122fb8b7"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Oct 02 14:16:40 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Oct 02 14:16:40 2011 -0700"
      },
      "message": "Merge \"Optimization fixes\" into dalvik-dev"
    },
    {
      "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": "bbaf894dded77603bd457758ba2b4636122fb8b7",
      "tree": "ac8d0450f23dd6cde9647febef8de514c5a4b8ae",
      "parents": [
        "fc22c89072e310767f8e39776195a219df851ea0"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Oct 02 13:08:29 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Oct 02 13:21:01 2011 -0700"
      },
      "message": "Optimization fixes\n\nTwo primary fixes.  First, the save/restore mechanism for FP callee saves\nwas broken if there were any holes in the save mask (the Arm ld/store\nmultiple instructions for floating point use a start + count mechanism,\nrather than the bit-mask mechanism used for core registers).\n\nThe second fix corrects a problem introduced by the recent enhancements\nto loading floating point literals.  The load-\u003ecopy optimization mechanism\nfor literal loads used the value of the loaded literal to identify\nredundant loads.  However, it used only the first 32 bits of the\nliteral - which worked fine previously because 64-bit literal loads\nwere treated as a pair of 32-bit loads.  The fix was to use the\nlabel of the literal rather than the value in the aliasInfo - which\nworks for all sizes.\n\nChange-Id: Ic4779adf73b2c7d80059a988b0ecdef39921a81f\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": "d6fe38d96b6116bd53cf2cb14734af8d69e08661",
      "tree": "2ec49bdce91f1641440f5cd228898a93ede73205",
      "parents": [
        "fc22c89072e310767f8e39776195a219df851ea0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 02 11:14:43 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 02 11:14:43 2011 -0700"
      },
      "message": "Fix oatexec to not print uncaught exceptions twice.\n\nChange-Id: I7af0859cf4c981f1dc6fb9e0940ef17897951cc1\n"
    },
    {
      "commit": "939a9ea90eb79b9b62b3fbe6d92eefb1fd89fc34",
      "tree": "7ce3135f32ad08f3c986c6e0188d8a0d9f1e251b",
      "parents": [
        "f839654685310ee295346e7bc345ad9037adc1d9",
        "58f9274efe66535255a70327022b8f586d334843"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Oct 01 12:44:43 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Oct 01 12:44:43 2011 -0700"
      },
      "message": "Merge \"Various bugfixes\" into dalvik-dev"
    },
    {
      "commit": "58f9274efe66535255a70327022b8f586d334843",
      "tree": "6899c83fbf029ca90b2beaef1f92ed7b8b9d72ea",
      "parents": [
        "e4390576de48a47a7f2dd99534169d83aaaa71ae"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Oct 01 11:22:17 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Oct 01 11:26:37 2011 -0700"
      },
      "message": "Various bugfixes\n\ndivide by zero check for longs, off-by-one error on fill-array-data,\nregister management hygene, mvn encoding, iget/iput \u003c\u003d 32bits are\ndone as 32-bit (code was using type size for ld/st).\n\nChange-Id: Ia09323e7d92f4ad21890af4c10f2f8c8f05f3b0e\n"
    },
    {
      "commit": "34d281c6f759d15f912138f925b19917c8813bd4",
      "tree": "9923187bd1e89570ae3f35edbe2f4b0817484902",
      "parents": [
        "81bc509784e1bf20f9d92ce01ab9702123e2ef92"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 30 18:38:52 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 30 18:38:52 2011 -0700"
      },
      "message": "Remove a reminder that no longer needs implementing.\n\nAccessibleObject no longer has any native methods.\n\nChange-Id: Ia272007ed9f81c45d4dc0028120064c38dbaaf59\n"
    },
    {
      "commit": "81bc509784e1bf20f9d92ce01ab9702123e2ef92",
      "tree": "727f94397f0b09714a7ecc38c093267067054364",
      "parents": [
        "14134a10e9bbaff0faf314dc00c1a1aeef8ef86b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 30 17:25:59 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 30 17:33:16 2011 -0700"
      },
      "message": "Silence a misleading compiler warning.\n\nNow we use this code for wide volatiles, it can\u0027t always complain about\nthe field being unresolved.\n\nChange-Id: Ieb0663d654f8af99890d4925cd8897f5c95c6001\n"
    },
    {
      "commit": "14134a10e9bbaff0faf314dc00c1a1aeef8ef86b",
      "tree": "41d06fbaf6f1fda4a564ed01ba54f728bf040c5c",
      "parents": [
        "d2e0f90f0ab743743c4bb893b2a694b366b2b147"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 30 16:55:51 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 30 16:55:51 2011 -0700"
      },
      "message": "Fix JNI NoSuchMethodErrors.\n\nNo point calling PrettyMethod if you\u0027ve just determined that your Method* is\nNULL...\n\nAlso a few other debugging aids.\n\nChange-Id: I8af520716215800b7ffe4aef784b9c4ec15dcb92\n"
    },
    {
      "commit": "d2e0f90f0ab743743c4bb893b2a694b366b2b147",
      "tree": "5bdf35d734d74efad023b7ab96113dc8fe9f5f9b",
      "parents": [
        "991e3ac0daf35d23f7c5e602d113c12ff3971544"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Sep 30 15:50:08 2011 -0400"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Sep 30 15:50:08 2011 -0400"
      },
      "message": "Implement getProtoIndex() for the benefit of annotations.\n\nChange-Id: Icae306ff1e68844e972ea764c9d7f5b8b6440e0a\n"
    },
    {
      "commit": "991e3ac0daf35d23f7c5e602d113c12ff3971544",
      "tree": "2bf5a081893dc38805dbdc107ce0b8031f0ea179",
      "parents": [
        "2d831014d88e38c0c499ce8597dcdb17b9d4c4b9"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Sep 29 15:44:22 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Sep 30 09:19:51 2011 -0700"
      },
      "message": "Clean up instanceof codegen in compiler.\n\nChange-Id: I0179a0746bc5aaef02129169b6a6b1bbbe30dc7e\n"
    },
    {
      "commit": "2d831014d88e38c0c499ce8597dcdb17b9d4c4b9",
      "tree": "793b222f8005580af855692045f7fe2804dca8d4",
      "parents": [
        "5d1ac920fdaef5d4ec8f66bb734488cd9660b024"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Sep 28 22:06:53 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Sep 29 18:39:13 2011 -0700"
      },
      "message": "Code refactoring: Split thread.cc into thread.cc and runtime_support.cc.\n\nChange-Id: I8484ee2993a2eb927ebba1f7b9db4709d16dad00\n"
    },
    {
      "commit": "c31664f3d82e6cd68275a529a8a73f067a52e8be",
      "tree": "b9510e4791c8fff258aa0734d47b8f8ec21010f4",
      "parents": [
        "5b36eb39708e6daef5f2e4abea4ab3cc31419804"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 29 15:58:28 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 29 15:58:28 2011 -0700"
      },
      "message": "Add STLDeleteValues, and use it.\n\nThis is the version from Chromium.\n\nChange-Id: I5b7c6a544d5d5db8244869c58461cad16e7b4b86\n"
    },
    {
      "commit": "5b36eb39708e6daef5f2e4abea4ab3cc31419804",
      "tree": "49f78fefdf33ca0ac764cc21ac30aba4b5ba9252",
      "parents": [
        "12246b82eb9cdc621662a30b3c854d1abd307ec8",
        "abcfde3b9661618a88e170fac6fdf092a59eb993"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Sep 29 15:13:22 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 29 15:13:22 2011 -0700"
      },
      "message": "Merge \"Fixed test for static final fields that don\u0027t use \u003cclinit\u003e.\" into dalvik-dev"
    },
    {
      "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": "12246b82eb9cdc621662a30b3c854d1abd307ec8",
      "tree": "974ca2e66c6df38c149693fb0d700f7365d4f29a",
      "parents": [
        "6181f79576e4269937b45e4fce8d0d004107e5b9"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Sep 29 14:15:05 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Sep 29 14:15:05 2011 -0700"
      },
      "message": "Add memory barriers (Issue 3338450)\n\nAdd missing barriers required for volatile access on Arm.  Also,\nflipped long volatile field accesses to the slow path.  The\nprevious codegen was not only missing barriers, but was not\nusing 64-bit atomics.\n\nChange-Id: I4aa2be2bf81971e5ae664c762ceaf2ea58ce231b\n"
    },
    {
      "commit": "6181f79576e4269937b45e4fce8d0d004107e5b9",
      "tree": "1e5970dd4074c9852b10ecfc6bc4f18b89d40dd7",
      "parents": [
        "557e027f86d86f801e1b48055f8116f2d83d3d5c"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Sep 29 11:14:04 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Sep 29 13:38:10 2011 -0700"
      },
      "message": "Register usage cleanup\n\nI plan to enable some of the old-world basic block optimizations.\nThose care about temp register status, so we needed a bit of\ncleanup on the temp tracking.\n\nChange-Id: I317bce1b91a73ec9589c20ed5bfe00d53994991a\n"
    },
    {
      "commit": "557e027f86d86f801e1b48055f8116f2d83d3d5c",
      "tree": "e63ea804f8dda2b9a32c7ed768edff9fac23ce60",
      "parents": [
        "6bf1915f20a11748d8d4b78ad020172bb2e6c946"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 29 10:52:22 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 29 10:52:22 2011 -0700"
      },
      "message": "New atomics from dalvik.\n\nChange-Id: I00de43b180aaaf69f40f9bebddef641cffe949b7\n"
    },
    {
      "commit": "6bf1915f20a11748d8d4b78ad020172bb2e6c946",
      "tree": "6cc01188a48bdb2ac247b4338001dcf57d7a85fb",
      "parents": [
        "5371b18d8ff3cd31895255374f575650df4839f0"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Sep 29 13:12:33 2011 -0400"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Sep 29 13:42:49 2011 -0400"
      },
      "message": "Revert \"Reverts to track dalvik and libcore\"\n\nThis reverts commit 53d6ff445706c390c541d10ef11f1b2f19ab14e8.\n\nChange-Id: I7cfff5b532b0dd6ffef010732cd248f58236421b\n"
    },
    {
      "commit": "5371b18d8ff3cd31895255374f575650df4839f0",
      "tree": "2011f52c1702efaba755a692dc0340c2732d9f47",
      "parents": [
        "8dfc9d551a9603eb8bc8463621b7bc73c3035169",
        "cc5f9a995248bdeea3b72cb0695602e43b728ed0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 28 22:24:21 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 28 22:24:21 2011 -0700"
      },
      "message": "Merge \"Throw if ResolveMethod fails.\" into dalvik-dev"
    },
    {
      "commit": "cc5f9a995248bdeea3b72cb0695602e43b728ed0",
      "tree": "7a6a286624e1b1b55c7b2ba3451a295a69726104",
      "parents": [
        "4f894e385e8ac018f078be75fea0a45696626b15"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 28 19:17:29 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 28 19:17:29 2011 -0700"
      },
      "message": "Throw if ResolveMethod fails.\n\nIt\u0027s impractical for the lower-level Find*Method calls to throw because\nthey\u0027re used in class initialization and exception throwing.\n\nChange-Id: Idece1ea99553a758ebc23d987e46b59f0445ea67\n"
    },
    {
      "commit": "8dfc9d551a9603eb8bc8463621b7bc73c3035169",
      "tree": "0b2b29321943e40c718ae63f0fe4fdf1bb651a40",
      "parents": [
        "4f894e385e8ac018f078be75fea0a45696626b15"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Sep 28 18:06:15 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Sep 28 18:07:36 2011 -0700"
      },
      "message": "For Stack Indirect Reference Table, visit roots in the table.\n\nChange-Id: Ib2574c54b080944e0be3c498578520d52df4d9ec\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": "d1422f81bf9b35cb2aad3fb5615d3f5209014709",
      "tree": "bdea10294cf3bf8f26c1f63b2df5b40ce15f7a12",
      "parents": [
        "5cfd6fb2730b13c86c885215784080e15fa6ccf4"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Sep 28 11:37:09 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Sep 28 14:07:33 2011 -0700"
      },
      "message": "Remove extra lock and racy assert in class initialization\n\nChange-Id: Idaf68cbf888b5edc5e05877da6a20b86bdfb4762\n"
    },
    {
      "commit": "5cfd6fb2730b13c86c885215784080e15fa6ccf4",
      "tree": "5e99eaa47100eeb3958f174868a60880d62190dc",
      "parents": [
        "d6b1f6190c8ec42facb08aca34b093244774b318"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Sep 27 13:54:29 2011 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Sep 28 10:12:32 2011 -0700"
      },
      "message": "Verifier should not exit with exceptions pending.\n\nChange-Id: Ibf820594883b345c55e9f636d937aae6506706d6\n"
    },
    {
      "commit": "d6b1f6190c8ec42facb08aca34b093244774b318",
      "tree": "698b54670a3935e2d6065b79ab9300e9b2364c3d",
      "parents": [
        "f153fe1ff3c901a1c63b6ec5495c5046869a60e3"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Sep 27 13:38:14 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Sep 27 16:29:18 2011 -0700"
      },
      "message": "Support for stack scanning of roots.\n\nChange-Id: Icbb02959725735faaa230e0fd00e8039b2f9c1b2\n"
    },
    {
      "commit": "f153fe1ff3c901a1c63b6ec5495c5046869a60e3",
      "tree": "9142eb4de3ed32c32290360162a163828c191107",
      "parents": [
        "9773120aaf041191a9197ce1e76bfbd0d18acf46"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Sep 27 16:27:12 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Sep 27 16:27:12 2011 -0700"
      },
      "message": "Fix oatdumps stats alignment\n\nChange-Id: I9487fb8383fcc4a3f5adaf2d7987125e58e8197a\n"
    },
    {
      "commit": "9b7f2c21f992e36b696cdea47ef36cca800d8b4f",
      "tree": "7d406974dd3b7d748488a76c301f34649690bae1",
      "parents": [
        "1906b97b9ae92c18f7fc9b45e959f755fc2cbbe9"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Sep 27 14:35:04 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Sep 27 14:35:04 2011 -0700"
      },
      "message": "Fix space_test by ensuring Runtime::Current() is not null\n\nChange-Id: Ied38b8ff3ae85b78d6e11d4bbf498bb2e0bffa4e\n"
    },
    {
      "commit": "07a8c8cf2472e64a8dbe736710a7670958f5b152",
      "tree": "4959781755991c4183d4039022234c5c3e6878e3",
      "parents": [
        "808f7c30a9a72c3aa1a91c7afeb2eb88e4f3cc15",
        "0a5b14de5115f51e0ed2dd6c3fcc5b84bbce690e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Sep 27 13:34:42 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 27 13:34:42 2011 -0700"
      },
      "message": "Merge \"Add -verbose:startup\" into dalvik-dev"
    },
    {
      "commit": "0a5b14de5115f51e0ed2dd6c3fcc5b84bbce690e",
      "tree": "76b5fd9a20b4bf2fa417e6fd88609461b1e826e4",
      "parents": [
        "5a7a74a042e73a355f5cedffa0d2faf5340028fa"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Sep 27 13:29:15 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Sep 27 13:33:50 2011 -0700"
      },
      "message": "Add -verbose:startup\n\nChange-Id: I1ef70c2a9e559893541bbbf381b6893808602555\n"
    },
    {
      "commit": "808f7c30a9a72c3aa1a91c7afeb2eb88e4f3cc15",
      "tree": "9dd9373b2d96102e6b6d0d687791b2031191d50a",
      "parents": [
        "2c51f7e10917f3213fe83ad95d80eaf72d3f27cd",
        "2a8a90e7f0832db75c576ccc8a6e25522c900aef"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Sep 27 11:19:12 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 27 11:19:12 2011 -0700"
      },
      "message": "Merge \"Verifier stops if it can\u0027t resolve a class, method, or field.\" into dalvik-dev"
    },
    {
      "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": "2a8a90e7f0832db75c576ccc8a6e25522c900aef",
      "tree": "0f86180d73e6c14a4b2e7da74f68eddd37e6a401",
      "parents": [
        "395520eaa47eca25b92e86188accf3095d60af49"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Sep 26 14:25:31 2011 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Sep 27 11:03:18 2011 -0700"
      },
      "message": "Verifier stops if it can\u0027t resolve a class, method, or field.\n\nThe goal is to have it try to verify the class again at runtime, so the\nverifier can punt if it can\u0027t resolve something until then.\n\nChange-Id: Ib3dc1662a60b1a5b55f7f8777963dc4ed44ce5f1\n"
    },
    {
      "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"
    }
  ],
  "next": "5d40f182181488eb39ccd19ffd306bb1fb9740c9"
}
