)]}'
{
  "log": [
    {
      "commit": "6a4be3a6226cec645cf905dd352e44f7968a7fa4",
      "tree": "15c98c404db44f60850a94d9b3cff29ff16e1cd5",
      "parents": [
        "fb8a127fd2ca8eb6cbbc9d62b708c1fc2b3003a4"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 20 16:34:03 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 20 17:01:32 2011 -0700"
      },
      "message": "Fix calling conventions for UnresolvedDirectMethodTrampolineFromCode\n\nChange-Id: I1b35c33d89f0526c80bc8d21e064617d0eac6cd1\n"
    },
    {
      "commit": "1cb66f5f569a3c631d940d8bd10f7466e5e5ed29",
      "tree": "0d9410087fffcf7075d3b66d066365d6e872c3fb",
      "parents": [
        "94ce37a3919a0bdb8855a3d3264a50df1dbc41be"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Oct 18 14:00:10 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Oct 18 15:31:17 2011 -0700"
      },
      "message": "Update CodeAndDirectMethods\n\nUpdate the CodeAndDirectMethods table following a\ncall to the unresolved target stub.  Removes a previous\nchange that tried to do this in ResolveMethod.\n\nChange-Id: I078d3c006a54ca124f217b01b60d0bd813e189e4\n"
    },
    {
      "commit": "362f9bc807169bcfc8761dde067bbfb79b5ad0fd",
      "tree": "100689aa13a39913b43cb12780ba472897cd665a",
      "parents": [
        "fc86162ce2a3467acb690e18cc8bd9b3daafc606"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 18:56:41 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 20:26:54 2011 -0700"
      },
      "message": "Fix cpplint\u0027s whitespace warnings.\n\nChange-Id: I16b69d773e59b49e8e30227b5aa5cb1959a8930f\n"
    },
    {
      "commit": "6fd03fb67e4628689f0abf34edeacc0e35b6295e",
      "tree": "89e287870dfb98b31f2ea7336166801dad5cd55a",
      "parents": [
        "29405cfc691196c21325e80d9a9f3795026eff4e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 17 16:11:00 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 17 16:21:03 2011 -0700"
      },
      "message": "Fix ObjectInitFromCode to do callee frame setup\n\nChange-Id: I70512c85a3a810fd672495b86655c215a07bb977\n"
    },
    {
      "commit": "b04f69f90d2594092bec5b294bbe7329d295bd66",
      "tree": "b0b0bb6c4db1da0dbe5ff4025013247cc7815b41",
      "parents": [
        "0691851db8fb542f4058dfb6e75faf3f9a9f5ff4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Oct 17 00:40:54 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Oct 17 00:41:31 2011 -0700"
      },
      "message": "Fix for test 069.\n\nCan\u0027t throw exception in fast interface lookup. Extra debugging that\nmethods look sane when creating native to managed records.\n\nChange-Id: If0b970c418db5ff075334af8359541a94e8680b7\n"
    },
    {
      "commit": "466bb25416b88fabd5d4387b7c7e5cc1ece78b8c",
      "tree": "8d0952cbd850f1d0ac2e43a8372ce571fb4982d1",
      "parents": [
        "a10cd94bb77ed66fa0a8b66141c4504045c92d30"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Oct 14 03:29:56 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Oct 14 21:45:27 2011 -0700"
      },
      "message": "Proxy implementation\n\nThis rounds out the proxy implementation by adding missing pieces to the\nclass linker, extending tests and fixing issues in the runtime support.\nThere are also some tweaks for performance and to clean up Method/Object\na little.\nA unit test of the functionality is \"art/test/run-test 044\"\n\nChange-Id: Id94102d10b81cd9b12b95ba8618f6187490204c4\n"
    },
    {
      "commit": "03a20ba67cfdc46f5ad8d77242a666a4cb0512f2",
      "tree": "c9ad51b063cdcc39b30503fee1a1bb4f755800dd",
      "parents": [
        "b278356581806fd2acd8b14a1b8fb7dc482bcf4e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 13 10:24:13 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 13 10:24:13 2011 -0700"
      },
      "message": "Implement DexFile_getClassNameList\n\nChange-Id: I9b48628e338a5346bc3ac21f3469e4e3d224a956\n"
    },
    {
      "commit": "caab8c4ef372db5c119bfac1911fa27b174a935c",
      "tree": "375a1e284b123b91d4960aa674b223e1eea0583a",
      "parents": [
        "14b1b249bdd21d674c9371dee34f8ae055f73ba2"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 12 12:11:18 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 12 18:12:21 2011 -0700"
      },
      "message": "Various tidy ups, add LIKELY/UNLIKELY macros.\n\nMake more aggressive use of the dex cache when we have it.\n\nChange-Id: I125a7bac031f7f0cec68194b5380bdfd83c92833\n"
    },
    {
      "commit": "14b1b249bdd21d674c9371dee34f8ae055f73ba2",
      "tree": "3937406ac34854fed63ae51971255251e6470cdd",
      "parents": [
        "3147a2347d4fd775d51ec0a558955332beb9d1fe"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 11 18:54:34 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 12 17:24:19 2011 -0700"
      },
      "message": "Fix handling of long arguments in unresolved and proxy stubs.\n\nChange-Id: I4561230971ed31ee9af0ec5007e0d09b30781779\n"
    },
    {
      "commit": "df9a78201872d72adde40355a7020610b795def9",
      "tree": "e73ece501cf9e67739938ac5ff7b5ebe73058413",
      "parents": [
        "ea2a11d5f20814f17985ae3d4defc8dd843f19b9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 11 16:53:22 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 11 16:53:22 2011 -0700"
      },
      "message": "Comment and minor clean up.\n\nChange-Id: I06b37258c5fa49a351545528f7a524ccfcb77d94\n"
    },
    {
      "commit": "ea2a11d5f20814f17985ae3d4defc8dd843f19b9",
      "tree": "45b16554af189aba0d83df7a310dd2d3bf2129ce",
      "parents": [
        "d958820ec84df7a698e7ba2b3ba5ab2d88f75e0a"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 11 16:48:51 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 11 16:49:59 2011 -0700"
      },
      "message": "Determine direct method trampoline type from dispatch.\n\nChange-Id: I7a8e577ad3cf622df06a70a2d4f12505b5e8383e\n"
    },
    {
      "commit": "e79e6f9c2658c477cb4a1739818e15ad72421776",
      "tree": "369da23a60ba29ee6adfb55638604b7b171ed098",
      "parents": [
        "dfcdf1a0d2d8d75b4c701317e4a092498a8d1e9e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 11 15:35:34 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 11 15:35:34 2011 -0700"
      },
      "message": "Fix bugs in UnresolvedDirectMethodTrampolineFromCode.\n\nChange-Id: Ife26b464d3dd4d602d8b9269a64a4e2028b7daf6\n"
    },
    {
      "commit": "dfcdf1a0d2d8d75b4c701317e4a092498a8d1e9e",
      "tree": "0106200542ccbd8a12e4f35b40ee59a036ad49d3",
      "parents": [
        "8e4b2fc0565d6222ba49a14d87624e3ac170b6c5"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Oct 10 17:50:35 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 11 12:38:02 2011 -0700"
      },
      "message": "Proxy invocation stub.\n\nAlso removes unnecessary restoration of callee saves in runtime support\ncode.\n\nChange-Id: Ie6b91ce0297179947e176e0700ac3fbb90357e1b\n"
    },
    {
      "commit": "92827a5fc2598589b3717269cc09c33b8c53f30b",
      "tree": "e1bf729c78f160c54b9afdb87e999f4f97d5fdcd",
      "parents": [
        "6f495f2898a418f87e2a919e04fe23521bb0b9e9"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 10 15:50:01 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 10 15:50:01 2011 -0700"
      },
      "message": "Setup AbstractMethodError and dlsym stub when loading from oat\n\nChange-Id: Ie97fa6eb3cfb7d0c6224aa6914f28a7b137ae056\n"
    },
    {
      "commit": "6f495f2898a418f87e2a919e04fe23521bb0b9e9",
      "tree": "6ba9e7bedb3425095725ea1ec514c279839e8511",
      "parents": [
        "98449a2674ea437eeae53327bf75918c8276a96b"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 10 15:05:03 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 10 15:05:03 2011 -0700"
      },
      "message": "Clear results registers on long jump\n\nChange-Id: Ie4f84ad60b155bc27016ec15d4ecfcce8b0117f1\n"
    },
    {
      "commit": "aded5f7ab991f3c1132851599d3bc60ff6707eed",
      "tree": "7fb5e92c224adf98cadd67b7df99cc2d2851cbcb",
      "parents": [
        "bcbaaf3df56178263dbc110dcb0d1cf6c9d167c3"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Oct 07 17:15:04 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 10 12:51:28 2011 -0700"
      },
      "message": "Working ClassLoader\n\nChange-Id: Ia1122165e47f846a1d4506111849f830d9f14c1b\n"
    },
    {
      "commit": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    }
  ]
}
