)]}'
{
  "log": [
    {
      "commit": "0cfe1fb7060576d047f7f894fc0d8b87de84fcab",
      "tree": "4255eae2034dcb0febe28411c50cba76189f39ae",
      "parents": [
        "a09576416788b916095739e43a16917e7948f3a4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Aug 26 03:29:44 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 02 14:48:01 2011 -0700"
      },
      "message": "Use accessor methods for Object fields.\n\nEnsure that Object fields are modified via accessors so that it\u0027s easy\nto insert barriers (make all fields within Objects private). Add validity\nchecks to Field and Method accessors to ensure they are accessed when a\nClass is in a suitable state. Add validity checks to all Object\naccessors to check heap isn\u0027t corrupted. Remove hacked in strings from Field\nand Method; make type fields used the dex cache that is lazily initialized.\nClean up various other TODOs and lint issues.\n\nChange-Id: Iac0afc515c01f5419874d9cdcdb9a7b45443e3fb\n"
    },
    {
      "commit": "a09576416788b916095739e43a16917e7948f3a4",
      "tree": "63c4c7b9726817a51a9dc514dc68fb16287748cd",
      "parents": [
        "410c0c876f326e14c176a39ba21fc4dd3f7db8ab"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 02 14:27:33 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 02 14:27:33 2011 -0700"
      },
      "message": "Add back the dalvik-style JNI logging and tracing.\n\nChange-Id: I3f8f50c9f9f2cb36f1668150c5e19f6225d15bbb\n"
    },
    {
      "commit": "410c0c876f326e14c176a39ba21fc4dd3f7db8ab",
      "tree": "e4b77ac5ed99b7206c51f6519689fdbc623e843d",
      "parents": [
        "1b4c85959b3d9a4a33bc2160c46c1bbde67350c7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 01 17:58:25 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 01 22:16:18 2011 -0700"
      },
      "message": "Mark more roots.\n\nThis is most of the stuff. (Everything that currently exists, though there\u0027s\nmore to come.)\n\nChange-Id: I235a21b006820a027c494374a5b52ffefed89c32\n"
    },
    {
      "commit": "1b4c85959b3d9a4a33bc2160c46c1bbde67350c7",
      "tree": "d92052beeb7a5e29f955d91b0a4ba3b15d2e4a8d",
      "parents": [
        "cf4c6c41b0084dc4567ff709fb8ce9ebd72b26ac"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Aug 31 10:43:51 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Sep 01 15:59:35 2011 -0700"
      },
      "message": "Complete OP_CONST_STRING, OP_CONST_CLASS\n\nAdded dummy ThrowException \u0026 ResolveTypeFromCode routines.  Fix\nOP_CONST_STRING and OP_CONST_CLASS to be position independent.  Misc.\nbug fixes.\n\nCreated a dummy ThrowException compiler run-time helper function.  It\nshould be replaced with the real version.\n\nChange-Id: Iba6a11cf110d3da4fa36ca434fe1b2675b68434d\n"
    },
    {
      "commit": "cf4c6c41b0084dc4567ff709fb8ce9ebd72b26ac",
      "tree": "ca3d0314b5c4111d7ab6fd97b4e68d5b2679e237",
      "parents": [
        "2f0ce9d60a4a9371c63a32a3764320fb02341acb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 01 15:16:42 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 01 15:51:43 2011 -0700"
      },
      "message": "Fully implement string interning.\n\nAlso, more const.\n\nChange-Id: I09cae88d677e8e6e42d0fa9b5d1093c79d225e66\n"
    },
    {
      "commit": "2f0ce9d60a4a9371c63a32a3764320fb02341acb",
      "tree": "39c8ff85adb10f7b8ea2888d608562f6b96ae051",
      "parents": [
        "82da44b625a1af03c0b768c71f1cef29831127c3"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Sep 01 02:07:58 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Sep 01 13:37:28 2011 -0700"
      },
      "message": "Fix another jni_compiler bug. \"\u003e\u003d\" should be \"\u003c\u003d\".\n\nChange-Id: I428e26addb9b2b5f0102281209ed08a396897ea1\n"
    },
    {
      "commit": "82da44b625a1af03c0b768c71f1cef29831127c3",
      "tree": "0d53f3e1ff4fa66c374984dd9515c1c0e9af8d67",
      "parents": [
        "bf86d0438e9ef9c145ebcf16a2e74c4efaa2686a"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Sep 01 00:38:04 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Sep 01 13:35:28 2011 -0700"
      },
      "message": "Fix the \"mov R1, R2; mov R2, R3\" bug in jni_compiler.\n\nShould be \"mov R2, R3; mov R1, R2\" instead.\n\nChange-Id: Ie5264c3fe38486781e09f54e1e6d1fdcf7a2d4e5\n"
    },
    {
      "commit": "bf86d0438e9ef9c145ebcf16a2e74c4efaa2686a",
      "tree": "e8641925dd68c6e03b41ceb3de58108436f988a0",
      "parents": [
        "ad7c2a3b4daa2abd707375444f4b0db7d69a3838"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 31 17:53:14 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 01 08:51:12 2011 -0700"
      },
      "message": "Start adding implementations for runtime-provided native methods.\n\nThe library can\u0027t do everything...\n\nChange-Id: Ib808c00570c7214aeb2ca058b1a66cacbeb372f1\n"
    },
    {
      "commit": "ad7c2a3b4daa2abd707375444f4b0db7d69a3838",
      "tree": "66f9fea013f4fa9ac4a23a467f7c47302470c538",
      "parents": [
        "1f87008b165d26541d832ff805250afdc89c253d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 31 11:58:10 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 31 11:58:10 2011 -0700"
      },
      "message": "Add infrastructure for registering built-in native methods.\n\nWhile I\u0027m here, make fiddling with Thread state easier.\n\nChange-Id: I3d215a3a852aa8970c3974b2edefce9dd261ccd7\n"
    },
    {
      "commit": "1f87008b165d26541d832ff805250afdc89c253d",
      "tree": "a84122b3757b8f856eb0656a951ed6621b6d01a8",
      "parents": [
        "c5bfa8f49d8548d7c685a99b411311ef56bedffa"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 23 16:02:11 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 31 09:46:57 2011 -0700"
      },
      "message": "Add HeapTest and make GC work enough to pass it\n\nChange-Id: If06eaef2921b64b3226bfd347acaec60ec993e67\n"
    },
    {
      "commit": "c5bfa8f49d8548d7c685a99b411311ef56bedffa",
      "tree": "3f58bb3dce3bcaa03a6d3da27d0a2f85d1da1b0b",
      "parents": [
        "90a3369d3b6238f1a4c9b19ca68978dab1c39bc4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 30 14:32:49 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 30 14:42:22 2011 -0700"
      },
      "message": "Add back the work-arounds for broken apps that assume JNI uses direct references.\n\nNote that we\u0027ll need to add support for this to jni_compiler too.\n\nChange-Id: I7e31ab4314ba913cde4629544addd0aad9a89b3b\n"
    },
    {
      "commit": "90a3369d3b6238f1a4c9b19ca68978dab1c39bc4",
      "tree": "b66ec9b2cced5713bd5902c499d57b533d2e7a9a",
      "parents": [
        "34023801bd544e613d6e85c9a5b2e743f3710e8f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 30 13:27:07 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 30 13:27:45 2011 -0700"
      },
      "message": "Switch to UniquePtr.\n\nOnly one use of scoped_ptr was incorrect (but then again, I spent an afternoon\nwith valgrind finding and fixing them just last week).\n\nChange-Id: If5ec1c8aa0794a4f652bfd1c0fffccf95facdc40\n"
    },
    {
      "commit": "34023801bd544e613d6e85c9a5b2e743f3710e8f",
      "tree": "cf42aadf76cd6c1104e75f20b223716ed44dbb16",
      "parents": [
        "881dd56c9b6ea2c922956650b763d36d2eeb799b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 30 12:06:17 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 30 12:06:17 2011 -0700"
      },
      "message": "Remove uses of scoped_ptr_malloc.\n\nChange-Id: I355fcfc93e8d689bea8b9388423ca12cb3e6566f\n"
    },
    {
      "commit": "881dd56c9b6ea2c922956650b763d36d2eeb799b",
      "tree": "5cb7900b385a348a5ce1e8f1344cfad02d8c6494",
      "parents": [
        "8a48741b96ca9cc5835cac72ac133c4ca480930f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 30 09:09:07 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 30 09:09:07 2011 -0700"
      },
      "message": "Reduce test dependencies\n\nChange-Id: I4acdadb38c91ba76c88d90da52a883c3d20cbe88\n"
    },
    {
      "commit": "8a48741b96ca9cc5835cac72ac133c4ca480930f",
      "tree": "bbab3d50aa6eebb2a8182a7dac0caf7046104a1a",
      "parents": [
        "a19f2a5240fcf5baf989a26c7a6cf37247432c1b"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 29 20:08:52 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 29 23:29:56 2011 -0700"
      },
      "message": "Allow compilation of classes in different ClassLoaders\n\nChange-Id: Ib0420471590a4c6d16bc25285ef3876098eacb36\n"
    },
    {
      "commit": "a19f2a5240fcf5baf989a26c7a6cf37247432c1b",
      "tree": "7f63c15456531729041c3527a4e64e2db8bb3f3d",
      "parents": [
        "bbc73a55cb0a98dbf5904a3a41c79e5389ecdef0",
        "a2501990dd0f68baf38ce19251949d7bb3ecfe5a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 29 22:07:49 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 29 22:07:49 2011 -0700"
      },
      "message": "Merge \"Add -Xcheck:jni.\" into dalvik-dev"
    },
    {
      "commit": "a2501990dd0f68baf38ce19251949d7bb3ecfe5a",
      "tree": "3f72ceee0297d213dac66a9ce2c72592906c1803",
      "parents": [
        "82870720a9a2709fcde4a03d96be383cee4b25d3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 26 19:39:54 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 29 22:06:55 2011 -0700"
      },
      "message": "Add -Xcheck:jni.\n\nI think this is as complete as possible right now. The remaining\ntwo #if 0 sections require:\n\n1. a way to get the Method* of the current native method.\n2. a way to get the Class* of the type of a given Field*.\n\nChange-Id: I331586022095fb36ccc10c9ac1890a59a9224d01\n"
    },
    {
      "commit": "bbc73a55cb0a98dbf5904a3a41c79e5389ecdef0",
      "tree": "fef6a5d9a1342115acc236427afb3354b8c75583",
      "parents": [
        "82870720a9a2709fcde4a03d96be383cee4b25d3",
        "2e748f364dba4505ca3a90f095d09c70bcd88eab"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Aug 29 21:32:27 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 29 21:32:27 2011 -0700"
      },
      "message": "Merge \"Register temp handling fix\" into dalvik-dev"
    },
    {
      "commit": "2e748f364dba4505ca3a90f095d09c70bcd88eab",
      "tree": "16aae1898827bb16a0a1f826797139371ef5b456",
      "parents": [
        "ff0f9bea6355fe0c420815f9b894e6bb634fe764"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Aug 29 21:02:19 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Aug 29 21:18:53 2011 -0700"
      },
      "message": "Register temp handling fix\n\nIn general, compiler routines that generate code don\u0027t need to worry\nabout register management - the underlying utilites will take care of\nit.  However, when generating an invoke sequence specific registers must\nbe used to conform to the calling convention.  To prevent the normal\nutilities from allocating these fixed registers, oatLockAllTemps() is\ncalled to mark the registers as in use.  However, oatLockAllTemps() did\njust that - it locked all of the temps, not just those used for arguments.\n\nThis change renames oatLockAllTemps() to oatLockCallTemps() and restricts\nthe locking to the argument registers.\n\nChange-Id: Id4183ce89e2672bcf2873d31aa60bd80c91c5a72\n"
    },
    {
      "commit": "82870720a9a2709fcde4a03d96be383cee4b25d3",
      "tree": "36aa7572ea4e4459577ebe50976fb504dc987238",
      "parents": [
        "ff0f9bea6355fe0c420815f9b894e6bb634fe764"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 29 19:04:51 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 29 19:04:51 2011 -0700"
      },
      "message": "Demangle C++ names in backtraces.\n\nChange-Id: Id4ccefc1e0cbed357b09b84ef6f51b287493e6fd\n"
    },
    {
      "commit": "ff0f9bea6355fe0c420815f9b894e6bb634fe764",
      "tree": "9e975b6d42f754e8202e627ca0a76833881c3894",
      "parents": [
        "9b576b4ed1dbe035952f3106d8f4b6993125ed6f"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Aug 29 15:43:53 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Aug 29 16:17:56 2011 -0700"
      },
      "message": "Fix DexFile\u0027s line number and test EH and StackTraceElement in 3 ways.\n\nTesting exception handling: 1. Walking stack 10 levels and then check\ndepth \u003d\u003d 10. 2. Check if correct stack trace is being generated. 3. For\nnative frame, lineno should be -2 to indicate it is native. Note that\n\"line number \u003d\u003d -2\" is how libcore tells from StackTraceElement.\n\nChange-Id: If38c16a59624f259985bcfcebc337b73b0582460\n"
    },
    {
      "commit": "9b576b4ed1dbe035952f3106d8f4b6993125ed6f",
      "tree": "8505c2429b204e799caa045bcb805e70e6e2ea87",
      "parents": [
        "9f30b38d74990286ce27c3a45368f73dbe3638f0"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Aug 29 01:45:07 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Aug 29 12:59:51 2011 -0700"
      },
      "message": "Add StackVisitor, CountStackDepthVisitor, BuildStackTraceVisitor for EH.\n\nIn addition to EH, GC can use StackVisitor too.\n\nCrawl stack in 2 passes, using CountStackDepthVisitor and\nBuildStackTraceVisitor, respectively. Note that Pass 1 computes\nthe depth with a doubly-nested loop.\n\nChange-Id: If1e3d3212037426b10ac5e6a01138acfab710e6b\n"
    },
    {
      "commit": "9f30b38d74990286ce27c3a45368f73dbe3638f0",
      "tree": "81bddd7b70e4b58aadce258cc25bba64de030deb",
      "parents": [
        "4417536522fd2a9d8215d8672331984769c9520b"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Aug 28 22:41:38 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 29 09:50:10 2011 -0700"
      },
      "message": "Externalize test code\n\nChange-Id: Iab19397c7a72fb9a3ca63bfd0bc4eaf1a98138ba\n"
    },
    {
      "commit": "4417536522fd2a9d8215d8672331984769c9520b",
      "tree": "422d8cc5cbe04b0025e75a5f48e87cd891a97655",
      "parents": [
        "e1931749814dbb80c5a756f9842e9c261bb2e8f6"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Aug 28 16:59:17 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Aug 29 09:47:17 2011 -0700"
      },
      "message": "Add AllocStackTrace(). Move InternalStackTrace to managed heap.\n\nReplaces trace.method and trace.pc with IntArray and ObjectArray\u003cMethod\u003e.\nException_tests pass.\n\nChange-Id: I54431bbf8031b186fdd360ec27a31b11c8eff052\n"
    },
    {
      "commit": "e1931749814dbb80c5a756f9842e9c261bb2e8f6",
      "tree": "6e0d28df7394cd1921643032ed2030c3e0bc113c",
      "parents": [
        "48a35d0cc5cf5dec38808d147862e165e9d67163"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Aug 28 21:15:53 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Aug 28 21:39:17 2011 -0700"
      },
      "message": "Use slow-path static field accessors; added tests\n\nModified the compiler to always take the slow path for static\nfield accesses.  Still need to implement the fast path, but this\nallows us to test the slow path now.\n\nIt\u0027s also about time we added command-line (or other) options for\ncompiler control.  We\u0027ll want to have a testing option to force slow\npaths for testing, and also an option to control the compiler\u0027s\ndebug output (which is starting to get annoying).\n\nChange-Id: I9c1bc6faea0042894270d242366c688f1662842b\n"
    },
    {
      "commit": "48a35d0cc5cf5dec38808d147862e165e9d67163",
      "tree": "c50fa4371726feb265445f4e9e9f7eae3f53171a",
      "parents": [
        "b9edb841423dfe60e193fcffd25994398c91baa2",
        "dd3efae34ee77935cbd275d09c0ad35e5b79daee"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Aug 28 17:43:06 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Aug 28 17:43:06 2011 -0700"
      },
      "message": "Merge \"Add instance field get/put test\" into dalvik-dev"
    },
    {
      "commit": "dd3efae34ee77935cbd275d09c0ad35e5b79daee",
      "tree": "b5633fdbd542d613da669e512ae773a4b57d98b1",
      "parents": [
        "1caa2c205e51dda670207828f25451fb7623cea6"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Aug 28 14:39:07 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Aug 28 17:38:59 2011 -0700"
      },
      "message": "Add instance field get/put test\n\nStill need to handle unresolved at compile-time case.\n\nChange-Id: I4d9c82c4bbe4810aaa147ac19418706635a29a7f\n"
    },
    {
      "commit": "b9edb841423dfe60e193fcffd25994398c91baa2",
      "tree": "9b1187b38ad3e023136cf3835640146ff50240bf",
      "parents": [
        "1caa2c205e51dda670207828f25451fb7623cea6"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Aug 28 16:31:06 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Aug 28 17:36:29 2011 -0700"
      },
      "message": "Add slow path access routines for static fields\n\nChange-Id: Iaa3239130410995c342cbc22f8d406925bd3361f\n"
    },
    {
      "commit": "1caa2c205e51dda670207828f25451fb7623cea6",
      "tree": "7362e7c75871bbcc9c317598547f4bcba01d0907",
      "parents": [
        "dfd3d70e58c37b5d56eded3a4469082d8bb26ee0"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Aug 28 13:02:33 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Aug 28 14:19:11 2011 -0700"
      },
      "message": "Add InitializedStaticStorage table\n\nA non-null entry in the table not only provides access to the storage,\nit also implies that the referenced type is initialized.\n\nChange-Id: Ief9e88b7e58b65b6f9456a4218b7fe87f71c17bb\n"
    },
    {
      "commit": "dfd3d70e58c37b5d56eded3a4469082d8bb26ee0",
      "tree": "3e1a15f133e5e72710e71bc4989a74319ee60442",
      "parents": [
        "9cc262e2ad5cb507c21cc83b8dc954e9354a469c"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Aug 28 12:56:51 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Aug 28 13:10:06 2011 -0700"
      },
      "message": "Enable virtual invokes, use new alloc, misc\n\nMake use of the new alloc routines.  Extended the filter to allow\nsimple virtual invoke test to get through.  Fixed a register allocation\nproblem.\n\nNote that the invoke sequeces are still the verbose \u0026 long path.\nWill start using the new CodeandDirectMethods mechanism in upcoming CL\n\nChange-Id: I8ff79f6392ff3da14d7679dcf65029ae48f18eba\n"
    },
    {
      "commit": "9cc262e2ad5cb507c21cc83b8dc954e9354a469c",
      "tree": "869c3662ab908891e85b446760255b825b86a274",
      "parents": [
        "b63ec393a5c4ba2be1d34dd871cda811eaa803c7"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Aug 28 12:45:30 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Aug 28 12:49:05 2011 -0700"
      },
      "message": "Clarify CodeAndMethods to CodeAndDirectMethods\n\nChange-Id: Ifa564ea25f4c7eb168f367274679a4915b9f4715\n"
    },
    {
      "commit": "b63ec393a5c4ba2be1d34dd871cda811eaa803c7",
      "tree": "098aaab4ad09569ea18a452f13eba2cf6acff837",
      "parents": [
        "439c4fa0db980fb19e4a585723a64a3461e4c278"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Aug 27 17:38:27 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Aug 28 12:00:56 2011 -0700"
      },
      "message": "Add compiler allocation paths Class::NewInstanceFromCode and Array::AllocFromCode\n\nChange-Id: I604377656f182f29692cda757dc7fdb4acc938b9\n"
    },
    {
      "commit": "439c4fa0db980fb19e4a585723a64a3461e4c278",
      "tree": "b8173fa296eaf53b5b1bc2b2fd743998446fcfb1",
      "parents": [
        "e6d6196822952a9ccbb6ac2a97f4e3ae5e59705b"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Aug 27 15:59:07 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Aug 27 15:59:07 2011 -0700"
      },
      "message": "Move 64-bit multiplication to helper\n\nWe\u0027re right on the edge for supporting inline 64-bit arithmetic\nwith our current temp register pool allocation.  Moving 64-bit multiplication\nout of line to sidestep the problem, and added some temp frees to\n3-operand long ops.  In the latter case there was a potential problem\nif the result long was located in a part of the frame not in the range\nof a single base+displacement store.\n\nChange-Id: I6f8e0a11b440ed35e08f2e3457de6cbea89cfccc\n"
    },
    {
      "commit": "e6d6196822952a9ccbb6ac2a97f4e3ae5e59705b",
      "tree": "4ddf77ae5db6672b29a0ac205809287a5980b78e",
      "parents": [
        "7b1b86d68244b0bb4ea3f43505eb45fdd46814d6"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Aug 27 11:58:19 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Aug 27 11:58:19 2011 -0700"
      },
      "message": "Various bug fixes.\n\nThe most amusing fix was the wierd NaN test failure.  After spending way\ntoo much time debugging, it turned out to be a missing comma in the argument\nlist of the test launcher.\n\nChange-Id: I76253575d7fbe2c2c260f1839a517c1b93dc9224\n"
    },
    {
      "commit": "7b1b86d68244b0bb4ea3f43505eb45fdd46814d6",
      "tree": "86752301153593796b515d8167fb5b3df3ac2636",
      "parents": [
        "83db7721aef15df6919c0ec072e087bef6041e2d"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Aug 26 18:59:10 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Aug 26 19:15:41 2011 -0700"
      },
      "message": "Various bug fixes and new tests.\n\nAmusingly realized that many tests believed to be passing were in fact not\nrunning at all.  The test harness returned 0 if the test wasn\u0027t run, but some\nof the tests used 0 as a success code.  Will change the tests later.\n\nMost were failing only because the function pointer table in Thread wasn\u0027t\nfully initialized with the math helper functions.\n\nChange-Id: If2e42f06139f219a423eef475b599258ccfc82d4\n"
    },
    {
      "commit": "83db7721aef15df6919c0ec072e087bef6041e2d",
      "tree": "fd09a12cbd85dfff8a990f213bdaa0d18d4bb78d",
      "parents": [
        "55df06be4369f5d8ab5eb61a5d22809255171036"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Aug 26 17:32:56 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Aug 26 17:33:15 2011 -0700"
      },
      "message": "Add DexCache table of \u003cMethod*, Method::GetCode()\u003e\n\nChange-Id: I69d46e61ff40456ff76888ad90b00e2036250d40\n"
    },
    {
      "commit": "55df06be4369f5d8ab5eb61a5d22809255171036",
      "tree": "32515b13b01ac3d359a6c171377f5c95599049bb",
      "parents": [
        "e27955ca3ca960928d4dbd6cb79711fce06950b3"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Aug 26 14:39:27 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Aug 26 16:45:52 2011 -0700"
      },
      "message": "Stack Trace Element with its unit test added too.\n\nThe unit test passes.\n\nChange-Id: I6f6af771cae1387c60c3b511148a347fe3237345\n"
    },
    {
      "commit": "e27955ca3ca960928d4dbd6cb79711fce06950b3",
      "tree": "bbf56dbaecba643099e5831ea502d57901dcb714",
      "parents": [
        "ba5ebb944b7c5c6a1b754b6dd47eed96f39aea29"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 26 15:21:24 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 26 16:30:02 2011 -0700"
      },
      "message": "Add the signal catcher (for SIGQUIT and SIGUSR1).\n\nAlso fix some of the thread implementation.\n\nChange-Id: If2d1b59a149ba1ac192ad9bc74319c8dff228549\n"
    },
    {
      "commit": "ba5ebb944b7c5c6a1b754b6dd47eed96f39aea29",
      "tree": "a84680c4c469dd6ef3c0e558df9197317a4ee51b",
      "parents": [
        "5cd2180225421d7b94f6d978bc5c1a4d9ef34f1e"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Aug 25 17:24:37 2011 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Fri Aug 26 16:04:27 2011 -0700"
      },
      "message": "Added first pass of verifier and supporting changes.\n\nThe verifier still needs to make a second pass through the code where it\nchecks the code flow. A TODO marks where it will be added.\n\nChange-Id: I0abea5bad563776186df342d8132fb1ca8869652\n"
    },
    {
      "commit": "5cd2180225421d7b94f6d978bc5c1a4d9ef34f1e",
      "tree": "46da7cfd737e4502078f9cfa1da72b827c7433ce",
      "parents": [
        "1f1fa566ea05a91f1fa8d0bdd29b913f6ee25eff"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Aug 26 10:40:14 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Aug 26 10:41:33 2011 -0700"
      },
      "message": "Fix invoke sequence and enable recursive Fibonacci\n\nI was previously generating the wrong starting offset for the\nresolved methods array.\n\nChange-Id: Ia77800323df2872681b30f2869ef4b1131766f39\n"
    },
    {
      "commit": "1f1fa566ea05a91f1fa8d0bdd29b913f6ee25eff",
      "tree": "cd772c62edb35ff8402334d48520a6a75f12c81b",
      "parents": [
        "0c424cb96c8e7d6d5e5c9399036481619eba556c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 26 10:22:53 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 26 10:22:53 2011 -0700"
      },
      "message": "Fix a typo in field resolution.\n\nChange-Id: I0521ff07a4a30273193b0409c462ea7d187a5dea\n"
    },
    {
      "commit": "0c424cb96c8e7d6d5e5c9399036481619eba556c",
      "tree": "1f1e15e2abe3a5670f3e16858c139e93d9cb96c6",
      "parents": [
        "20cfffabdc9e02b2df798bc4e6b6035d14bf4e36"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 26 10:16:25 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 26 10:16:25 2011 -0700"
      },
      "message": "Switch CreateMethodDescriptor over to std::string to avoid memory leaks.\n\nChange-Id: I17005504ab7d055e0750cf35ab2426e0f798f895\n"
    },
    {
      "commit": "20cfffabdc9e02b2df798bc4e6b6035d14bf4e36",
      "tree": "74c8738f09013c3d4af1ee568380d77e44a3508a",
      "parents": [
        "30b944557a969a9aea2098ce9bbcce05db9b1f22"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Aug 26 02:31:27 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Aug 26 02:42:54 2011 -0700"
      },
      "message": "Finish implementation of ResolveField and ResolveMethod\n\nChange-Id: I854e17b4cccd05b26f83c77230f7323c898802c9\n"
    },
    {
      "commit": "30b944557a969a9aea2098ce9bbcce05db9b1f22",
      "tree": "5529b99370efe0742d3eaef2ad2516615053735e",
      "parents": [
        "2f61e7bc6ecfe3dbc7132430e5154eb43478a868"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 25 21:35:26 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Aug 26 01:02:33 2011 -0700"
      },
      "message": "Handle interface methods in JNI invocation\n\nChange-Id: I7c9d25177fc6fdf9512beb2a882969a9aaf835ba\n"
    },
    {
      "commit": "2f61e7bc6ecfe3dbc7132430e5154eb43478a868",
      "tree": "23ad2befee55771264bfedd455eb326164eb9400",
      "parents": [
        "c5ef046ba4a484b08d0286393574396669a57c03",
        "c1674ed06662420213441ff2b818f2f71f9098dc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 25 22:22:24 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 25 22:22:24 2011 -0700"
      },
      "message": "Merge \"Make valgrind happier and stop us leaking so much we can can\u0027t run the tests on a device.\" into dalvik-dev"
    },
    {
      "commit": "c1674ed06662420213441ff2b818f2f71f9098dc",
      "tree": "2799982a5059feab2a680ce5d91c276e5852983c",
      "parents": [
        "bafc342a37e423a19ac05f14800006ea9d67a941"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 25 18:09:09 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 25 18:48:47 2011 -0700"
      },
      "message": "Make valgrind happier and stop us leaking so much we can can\u0027t run the tests on a device.\n\nChange-Id: Id8f45dde788fd84c10b0b5807b2d12eae529ba5e\n"
    },
    {
      "commit": "c5ef046ba4a484b08d0286393574396669a57c03",
      "tree": "331ef8c3b48daf7214457ff621932c0574269f1b",
      "parents": [
        "bafc342a37e423a19ac05f14800006ea9d67a941"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Aug 25 18:44:49 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Aug 25 18:44:49 2011 -0700"
      },
      "message": "Add slow-path code gen for static/direct invokes\n\nAlso added recursive fibonacci test, but conditionally compiled it out.\n\nChange-Id: Ic36e38dc7c428f1f9f299e2732e7f156ee492ed0\n"
    },
    {
      "commit": "bafc342a37e423a19ac05f14800006ea9d67a941",
      "tree": "a3cf5d3138b21d328c49df16149e4d6020f4e7f4",
      "parents": [
        "bffb15585b8fd43d3ca534ddbb85e7f591595951"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Aug 25 15:22:55 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Aug 25 15:22:55 2011 -0700"
      },
      "message": "Re-enabled array tests now that we resolve\n\nWooHoo - all of the tests I\u0027d disabled before because we couldn\u0027t\nallocate an array passed on first attempt.  Still need to fix up the\nfloat NaN.\n\nChange-Id: Ic8c1f241bec583fc87b877ab0a421d606922787f\n"
    },
    {
      "commit": "bffb15585b8fd43d3ca534ddbb85e7f591595951",
      "tree": "9b687334d5e754ce61f57f8ec0dab00772443075",
      "parents": [
        "ce8d9f53b4284b0897b01ac2d192ba6ff26e9922"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 25 12:23:53 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 25 14:31:40 2011 -0700"
      },
      "message": "Convert CompilerTest over to use Compiler\n\nChange-Id: Ie9ec6a021126f68acd3f6d35ebe73247b5cc360f\n"
    },
    {
      "commit": "ce8d9f53b4284b0897b01ac2d192ba6ff26e9922",
      "tree": "13a001139c69970295836a00c59dbd82c013d1c6",
      "parents": [
        "4b093bfcbddd0e8f708da87f333cc98bc9f233e1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 25 13:55:20 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 25 13:55:20 2011 -0700"
      },
      "message": "Reset the stream state at the end of each line of logging.\n\nThe Android logging always behaved like this (because there\u0027s a new\nunderlying std::stringstream each time), but on Linux we were mutating\nstd::cerr.\n\nChange-Id: I991cb769f783f82aea53ec023e3aea330a1a304c\n"
    },
    {
      "commit": "4b093bfcbddd0e8f708da87f333cc98bc9f233e1",
      "tree": "0ec0c034b7d079ed85612a984dfa60e5342916f9",
      "parents": [
        "2cc022b653e1e84eed2522254ec684bd097572b8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 25 13:34:29 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 25 13:34:29 2011 -0700"
      },
      "message": "Fix build.\n\nChange-Id: I8bdc52e8557abc5b020ee19952fc45b0b95e09d9\n"
    },
    {
      "commit": "2cc022b653e1e84eed2522254ec684bd097572b8",
      "tree": "41025dd00b030661b4f6ad325afa13ea07cd7fe7",
      "parents": [
        "0d424ff7825a282e03d1096917f73b6f15923aa2"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 25 10:05:39 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 25 12:27:57 2011 -0700"
      },
      "message": "Build oat compiler on host, wire in JniCompiler to CompileMethod\n\nChange-Id: I9531eea8e216e9835856bfee5aa9d934d9f64126\n"
    },
    {
      "commit": "0d424ff7825a282e03d1096917f73b6f15923aa2",
      "tree": "f48cdf15dda2ec8f1e0e0db4127033021de3b8a6",
      "parents": [
        "9ea1cb1a22be5b85dc2622e3836c46a1c48e3f25",
        "79082e367845bbd68ec44ef2ddd1be8ef0e1550f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 25 12:19:12 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 25 12:19:12 2011 -0700"
      },
      "message": "Merge \"Add the runtime lookup of native method implementations.\" into dalvik-dev"
    },
    {
      "commit": "79082e367845bbd68ec44ef2ddd1be8ef0e1550f",
      "tree": "71334eaf121c7662949464f7a8e7ca65bb78d73d",
      "parents": [
        "04ec7f0f244ef36fac1c7e590d2ea14e35dfe95a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 25 12:07:32 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 25 12:07:32 2011 -0700"
      },
      "message": "Add the runtime lookup of native method implementations.\n\nPlus other bits of cleanup.\n\nChange-Id: I8584001d7eeb118f8e29c4a62652a18b94333be8\n"
    },
    {
      "commit": "9ea1cb1a22be5b85dc2622e3836c46a1c48e3f25",
      "tree": "99dd5c0b0a3e6db3f8696197467ae4fec284bec2",
      "parents": [
        "04ec7f0f244ef36fac1c7e590d2ea14e35dfe95a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 24 23:18:18 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 25 09:45:07 2011 -0700"
      },
      "message": "First pass of compiler wrapping class\n\nChange-Id: I343625310f69cc4de315af91b9cc72bb4da8f59b\n"
    },
    {
      "commit": "04ec7f0f244ef36fac1c7e590d2ea14e35dfe95a",
      "tree": "08d0132f52614424845ccc77244433f57e01d12b",
      "parents": [
        "00ba1784be79401d1e096dd9ff44ec14d382993e",
        "7577075b147fd8fa37ca41e7a32d1124676776ce"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 25 08:35:06 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 25 08:35:06 2011 -0700"
      },
      "message": "Merge \"Finish off the new JNI implementation.\" into dalvik-dev"
    },
    {
      "commit": "7577075b147fd8fa37ca41e7a32d1124676776ce",
      "tree": "f140e662b61200fe3ee4ba86c1fc05e9f4a96791",
      "parents": [
        "b465ab0e103d7760df903c1fddf4fa6b89d5d1f5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 24 17:52:38 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 24 17:52:38 2011 -0700"
      },
      "message": "Finish off the new JNI implementation.\n\nThere are a handful of remaining TODOs, but this gives us complete coverage.\n\nChange-Id: Ibee38e6a87a0fcfae769d991125b0551243c8eeb\n"
    },
    {
      "commit": "00ba1784be79401d1e096dd9ff44ec14d382993e",
      "tree": "262dbd2b97679f7b55866973af77c76f47c67d94",
      "parents": [
        "b465ab0e103d7760df903c1fddf4fa6b89d5d1f5",
        "9e0f9b0d3e2cd78092e5c4b66ce1edcd79c951ea"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Aug 24 15:56:30 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 24 15:56:30 2011 -0700"
      },
      "message": "Merge \"Add switch and comparison tests. Fix ralloc bug\" into dalvik-dev"
    },
    {
      "commit": "9e0f9b0d3e2cd78092e5c4b66ce1edcd79c951ea",
      "tree": "ecdf662160bd3113de7b09c02a7c8156e3f768d1",
      "parents": [
        "69f5bc6759f256a146eefd8a7141d39fcc3b0421"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Aug 24 15:32:46 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Aug 24 15:47:44 2011 -0700"
      },
      "message": "Add switch and comparison tests. Fix ralloc bug\n\nWe normally have 5 registers in our temp pool, but up to 6 may be\nneeded for long 3-operand operations.  Added a workaround to temporarily\nadd lr to the temp pool in that specific case.\n\nMoved the bulk of the compiler_test code out of common_test.h into\ncompiler_test.h.  Added switch and compare unit tests.\n\nChange-Id: Ib449c49861acb5aaef716e8538e5818ba74522cb\n"
    },
    {
      "commit": "b465ab0e103d7760df903c1fddf4fa6b89d5d1f5",
      "tree": "d016f72c58c0dacb7e5f47c232f19378bdacf53b",
      "parents": [
        "69f5bc6759f256a146eefd8a7141d39fcc3b0421"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 24 11:21:21 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 24 14:06:15 2011 -0700"
      },
      "message": "Implement the direct ByteBuffer JNI functions, GetObjectRefType, and the string region functions.\n\nAlso run tests in a consistent (alphabetical) order.\n\nChange-Id: I1bb4f3389e749ec031254d23da349be0397c260d\n"
    },
    {
      "commit": "69f5bc6759f256a146eefd8a7141d39fcc3b0421",
      "tree": "40e1560f51f346b21fbbf89c0a0e83f88f07f2ec",
      "parents": [
        "d11af152ff36b06883364d9728735ed8162ee306"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 24 09:26:14 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 24 09:26:14 2011 -0700"
      },
      "message": "If JNIEnvExt is-a JNIEnv, we can lose a bunch of reinterpret_casts.\n\nLikewise with JavaVM.\n\nChange-Id: I505e42e9197951b6c82e6dbf8dcc1fc4dd5aad31\n"
    },
    {
      "commit": "d11af152ff36b06883364d9728735ed8162ee306",
      "tree": "f021a574b7a2b7dde410b0cccc6be459cfdd4877",
      "parents": [
        "408f79aeb676251ba35667a64e86c20638d7cb0b"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue Aug 23 16:02:11 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue Aug 23 20:54:16 2011 -0700"
      },
      "message": "Change FrameSize to FrameSizeInBytes.\n\nAvoid confusion that it\u0027s in words.\n\nChange-Id: Ic7bfa3e00eec4ba49a4abf351913625e33529846\n"
    },
    {
      "commit": "408f79aeb676251ba35667a64e86c20638d7cb0b",
      "tree": "419c9dca6bc1fd5c13a997d4fad62f92960e5e45",
      "parents": [
        "72025e5f8f2743b4af33453df5b3bddada2078db"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 23 18:22:33 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 23 18:56:54 2011 -0700"
      },
      "message": "Add validate object, clean up stack indirect reference table.\n\nChange-Id: Ifb329ae7d3bede3e95d48e6761cee1412a33d867\n"
    },
    {
      "commit": "72025e5f8f2743b4af33453df5b3bddada2078db",
      "tree": "495ae6aca2e52112c1793d0638c44de19fe7440b",
      "parents": [
        "5433072f589b61413e042eddf76e8190a048f71d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 23 17:50:30 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 23 18:09:06 2011 -0700"
      },
      "message": "Implement JNI virtual calls to managed methods, JNI ExceptionDescribe, and JNI MonitorEnter/MonitorExit.\n\nChange-Id: Id21a0a7cdc3fa43a2d3b025a83bf3153eff028d4\n"
    },
    {
      "commit": "5433072f589b61413e042eddf76e8190a048f71d",
      "tree": "02ff83e20b1b0bc9dbbf387768d118a4d7aa6dbc",
      "parents": [
        "3ea4ec5629613013ad9b0d7a69abdb94491ac46f"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Aug 23 16:46:55 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Aug 23 16:46:55 2011 -0700"
      },
      "message": "Added support for 64-bit shifts, fix const-wide\n\nChange-Id: I4823056d83652ecc7d3e391e905d480d73fab718\n"
    },
    {
      "commit": "3ea4ec5629613013ad9b0d7a69abdb94491ac46f",
      "tree": "43274b3154f0b2cf58fe1abbe21151652a6bf8fc",
      "parents": [
        "5174fe6e4e931c423e910366ff22ce0838567940"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Aug 22 17:37:19 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Aug 23 16:21:20 2011 -0700"
      },
      "message": "Misc fixes, new compiler unit tests\n\nFixed disassembly logging, miscellaneous codegen bugs and added a\nset of unit tests (most of which fail because array allocation isn\u0027t quite\nthere yet in the codegen).\n\nFailing tests conditionally compiled out for now.\n\nChange-Id: I39c148f9a7686fac21c844a7a7f5ec86d4e0e1c5\n"
    },
    {
      "commit": "5174fe6e4e931c423e910366ff22ce0838567940",
      "tree": "6eaa36ae0cfb476ddfac9fcf46c2a3918d9510f6",
      "parents": [
        "814e40397fe6c8a2c645bae99f356dbddd6dbe18"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 23 15:12:35 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 23 15:12:35 2011 -0700"
      },
      "message": "Add the condition variable to System.loadLibrary and implement UnregisterNatives.\n\nAlso change PrettyDescriptor now descriptors are String*s rather than StringPiece\u0026s.\n\nChange-Id: Id07affb26038f5f4a3bee4396c65f71d7bc38be3\n"
    },
    {
      "commit": "814e40397fe6c8a2c645bae99f356dbddd6dbe18",
      "tree": "39e7de56ada11f00d4541e4bdb2e76dad6cc5c0a",
      "parents": [
        "d2fbb2bd2448f0872878258727aa1eb2558a0c3b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 23 12:07:56 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 23 14:02:10 2011 -0700"
      },
      "message": "Add some missing JNI string functions, GetObjectArrayElement, and all the primitive array region functions.\n\nThis also pulls the UTF-8/UTF-16 functions out of class String.\n\nChange-Id: I75936b84fd619c9cf91f6e6a6037488220b05781\n"
    },
    {
      "commit": "d2fbb2bd2448f0872878258727aa1eb2558a0c3b",
      "tree": "2c42f71f66bd6c877dfb2180a4d4ee7f89400f79",
      "parents": [
        "762400c72e9c2491fb66364908c3717f8f1289ec"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 23 11:57:08 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 23 13:58:09 2011 -0700"
      },
      "message": "Give an example of walking TypeIds in a DexFile\nAlso prevent accidentally copying of DexFile structures\n\nChange-Id: I293bdfe073ce1e1a54f6de2e0abadac312503016\n"
    },
    {
      "commit": "762400c72e9c2491fb66364908c3717f8f1289ec",
      "tree": "b8e8988d7c122f70eef4e118540e14499a3c3b71",
      "parents": [
        "e5b0dc83537bf915c6abe4efeae6e501daf75a27"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 23 12:14:16 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 23 12:14:16 2011 -0700"
      },
      "message": "Support for return PC offset and frame size in JNI compiler.\n\nFor stack crawls we need the return PC and the size of frames, store\nthis information in the Method.\n\nChange-Id: Ic616b4f78ca571c837e5c8473607285a7e8b58f0\n"
    },
    {
      "commit": "e5b0dc83537bf915c6abe4efeae6e501daf75a27",
      "tree": "09b9ed8051636953f46f33c1e736dcdaee506711",
      "parents": [
        "1a18c8c1c0e4ea1ff06177e93c7ff703376dcee2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 23 09:59:02 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 23 10:52:37 2011 -0700"
      },
      "message": "Add \"class Throwable\" and rewrite exception throwing to use JNI.\n\nChange-Id: I79836075337eedfc5923ebff028176615ffd3598\n"
    },
    {
      "commit": "1a18c8c1c0e4ea1ff06177e93c7ff703376dcee2",
      "tree": "1a37b77910cbb6c628113b61175d7011b7e6a6cd",
      "parents": [
        "37f7a40f6789bb287f287a9af00777af9d6428ee"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Aug 14 17:47:36 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue Aug 23 10:17:07 2011 -0700"
      },
      "message": "Initial implementation of throw+unwind+Frame.\n\nUnit tests on Exception Handling pass.\n\nChange-Id: I33505dacc6648e72e2ed80c2cca83643cfaef86b\n"
    },
    {
      "commit": "37f7a40f6789bb287f287a9af00777af9d6428ee",
      "tree": "edb907134b656748decd1ca894836326a50518bc",
      "parents": [
        "885c3bd4d7adcc7f60f656b4f7247e7065feadf3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 22 18:56:01 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 22 18:56:01 2011 -0700"
      },
      "message": "Implement more of the exception/object/class JNI functions.\n\nChange-Id: Id835c1a37e5034d11e2fc43ccf49e578510abfc1\n"
    },
    {
      "commit": "885c3bd4d7adcc7f60f656b4f7247e7065feadf3",
      "tree": "795774b8a63c9d0d52b9652de88f15da085efa61",
      "parents": [
        "bd9359912e5398799f60649b86ae80644ec72627"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 22 16:59:20 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 22 16:59:20 2011 -0700"
      },
      "message": "Implement field access (and a few other bits and bobs).\n\nChange-Id: I837eb0ae4af8e314761bb42d3405f05b7a79573e\n"
    },
    {
      "commit": "bd9359912e5398799f60649b86ae80644ec72627",
      "tree": "f3f016f1e5a2dd4f4010cd211b017fa7a62ff983",
      "parents": [
        "4873d465a1eb6dfbdeddb085c81239d39db60c42"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 22 11:59:34 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 22 11:59:34 2011 -0700"
      },
      "message": "Add JNI GetArrayLength and start throwing from FindClass.\n\nChange-Id: I080a6ffc5496b47454273acd58c230bda5e04cdd\n"
    },
    {
      "commit": "4873d465a1eb6dfbdeddb085c81239d39db60c42",
      "tree": "8eb73bf441d631b34252d8e358eff66718b63aab",
      "parents": [
        "94496d37e42dbbbcf515f43ccb9a03ac82e48927"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Aug 21 15:23:39 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 22 09:27:33 2011 -0700"
      },
      "message": "Move static field storage to end of Class instance\n\nChange-Id: I90061999c9eef9d900e4269508b983a61f48b264\n"
    },
    {
      "commit": "94496d37e42dbbbcf515f43ccb9a03ac82e48927",
      "tree": "dd9aefda30f93dac0921f2de112528b9663b36c5",
      "parents": [
        "edcc09c737b00462881f147602656739d029571e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 22 09:22:47 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 22 09:22:47 2011 -0700"
      },
      "message": "Conditionalize compilation\n\nChange-Id: I21dd4baf48df1e503f2701ffade73a5e77ecb392\n"
    },
    {
      "commit": "edcc09c737b00462881f147602656739d029571e",
      "tree": "06f763e94567b687c229743f884ce87deee818ed",
      "parents": [
        "c143c55718342519db5398e41dda31422cf16c79"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Aug 21 18:47:05 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Aug 21 18:47:05 2011 -0700"
      },
      "message": "Cleanup.\n\nChange-Id: I15704e76662bcf9bc10560679500c98a4baa68ab\n"
    },
    {
      "commit": "c143c55718342519db5398e41dda31422cf16c79",
      "tree": "b2d80bd5dc63e0eb0bea372651de12dcaf2e7f0d",
      "parents": [
        "195487cb0b11e64917df01f8d55671344db2e97f"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Aug 20 17:38:58 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Aug 21 17:42:55 2011 -0700"
      },
      "message": "Updating the compiler to use the new-world model\n\nNew compiler is integrated and passes first test (Fibonacci).\n\nChange-Id: Ic5448ab89ebd22baa30fafc3d1300324687d1fc2\n"
    },
    {
      "commit": "195487cb0b11e64917df01f8d55671344db2e97f",
      "tree": "92a20353f0d33e028ae9716beb5165b3fcd4799d",
      "parents": [
        "c4fa2c0c6302d3d9979e8d8a4030499c10d6b68b"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat Aug 20 13:29:04 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Aug 21 15:17:23 2011 -0700"
      },
      "message": "Initial implementation for adding StackTraceElement support.\n\nLine # information added.\n\nChange-Id: I5a68383e74a19fa28d82a33bb1db649ef570f3b0\n"
    },
    {
      "commit": "c4fa2c0c6302d3d9979e8d8a4030499c10d6b68b",
      "tree": "9060e2d8c31a02b639ea2fe3a0005be890a9647e",
      "parents": [
        "a663ea5de4c9ab6b1510fdebd6d8eca77ba699ae"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Aug 21 03:00:12 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Aug 21 13:53:18 2011 -0700"
      },
      "message": "Add Method::dex_cache_*_ short cuts to declaring_class_-\u003edex_cache_\n\nChange-Id: I6e14b296abdd74b7fe810fc43d814931fd8cb770\n"
    },
    {
      "commit": "a663ea5de4c9ab6b1510fdebd6d8eca77ba699ae",
      "tree": "37078335c64cb760a0379a33eb4ceaf6b08356ea",
      "parents": [
        "68f4fa09cfd72b4292cbe7a213f03da7902ba775"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Aug 19 23:33:41 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Aug 21 12:30:48 2011 -0700"
      },
      "message": "Initialize ClassLinker from image\n\nChange-Id: Ibaf47b4181f7c6603a8b37e2eba8fa6509c927ed\n"
    },
    {
      "commit": "68f4fa09cfd72b4292cbe7a213f03da7902ba775",
      "tree": "cf7e20d2c2f710141e2b760b3ae67697dcffe53e",
      "parents": [
        "a0b8feb34a8492c6b8d430f6ca0716e7ff4f4c57"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Aug 21 10:46:59 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Aug 21 10:46:59 2011 -0700"
      },
      "message": "Add an Array::Alloc convenience for the compiler.\n\nChange-Id: Ie65321d7439ac0ff0b4a39cb507710df088baa6d\n"
    },
    {
      "commit": "a0b8feb34a8492c6b8d430f6ca0716e7ff4f4c57",
      "tree": "4c7c1613f5b7af65bfabde2091a2bf106171a9de",
      "parents": [
        "9cff8e13d41825c4f3f0127af061e94b06114fc8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Aug 20 09:50:55 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Aug 20 09:54:46 2011 -0700"
      },
      "message": "Turn off the \u0027public\u0027 check for main, and improve diagnostics.\n\nWe\u0027re likely to be able to invoke a static main method before we can invoke\na virtual getModifiers, and right now we don\u0027t care whether we\u0027ve been asked\nto run a non-public main.\n\nAlso adds PrettyMethod for improved diagnostics.\n\nChange-Id: Iea08f0be980386adbe408b476449c2066c4e6da8\n"
    },
    {
      "commit": "9cff8e13d41825c4f3f0127af061e94b06114fc8",
      "tree": "3425941132a8b1406126015cf9c45fd661b574a2",
      "parents": [
        "67bf885d62b1473c833bece1c9e0bb624e6ba391"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 18 16:47:29 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Aug 19 22:01:22 2011 -0700"
      },
      "message": "Convert Class::descriptor_ from StringPiece to String (as part of image loading)\n\nChange-Id: Iab5ffa353661a7c06ee79af1f40d399a53777174\n"
    },
    {
      "commit": "67bf885d62b1473c833bece1c9e0bb624e6ba391",
      "tree": "a6069d30bb0e25d4ed1f19d7a3c2b55c4aef7127",
      "parents": [
        "f4c21c9f6440c3980c47a297519f758796dbc039"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Aug 17 17:51:35 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Aug 19 20:14:15 2011 -0700"
      },
      "message": "Oat compiler integration snapshot.\n\nCleanly compiles, but not integrated.  Old-world dependencies captured\nin hacked-up temporary files \"Dalvik.h\" and \"HackStubs.cc\".\n\nDalvik.h is a placeholder that captures all of the constants, struct\ndefinitions and inline functions the compiler needs.  It largely consists\nof declaration fragments of libdex, Object.h, DvmDex.h and Thread.h.\n\nHackStubs.cc contains empty shells for some required libdex routines.\n\nChange-Id: Ia479dda41da4e3162ff6df383252fdc7dbf38d71\n"
    },
    {
      "commit": "f4c21c9f6440c3980c47a297519f758796dbc039",
      "tree": "edf57389c14f8f4e1082bf3969c13e70279731e3",
      "parents": [
        "ed8952fbf6b8d74fdd741cdfe76867a5a01e161c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 19 17:31:31 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 19 18:30:29 2011 -0700"
      },
      "message": "Initialize classes in GetFieldID/GetMethodID.\n\nChange-Id: I2ccf5d021067e4d18803bd505d5bdc1fcbbb3433\n"
    },
    {
      "commit": "ed8952fbf6b8d74fdd741cdfe76867a5a01e161c",
      "tree": "10f2e8ccb92950376f22f11f4e9d81a62863f2e4",
      "parents": [
        "a8cd9f4a849835af7856f9c9782ea59e11ddef85"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Aug 19 17:11:22 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Aug 19 17:11:22 2011 -0700"
      },
      "message": "Method* for upcalls should be null.\n\nIn order to terminating stack crawls through managed frames the Method*\nshould be null.\n\nChange-Id: I03562be3b591c8b1978319126347eb97fec928de\n"
    },
    {
      "commit": "a8cd9f4a849835af7856f9c9782ea59e11ddef85",
      "tree": "f194c58f4a6f491a6fc123c0873bde2ae06a5ecc",
      "parents": [
        "cdf53120cd5a73cbedc1654e22542848468c0d2f"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Aug 19 16:43:41 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Aug 19 17:02:14 2011 -0700"
      },
      "message": "Support for local references allocated in SHBs.\n\nLocal references passed in the stack handle block by the managed to\nnative bridge code generated jni_compiler need support for decoding. Add\nsupport and extend jni_compiler_test to check the validity of jobject\narguments in the stack handle block.\n\nChange-Id: Ibba60451c21f6e41023b8d837310f15ea69c44f8\n"
    },
    {
      "commit": "cdf53120cd5a73cbedc1654e22542848468c0d2f",
      "tree": "cbe7f43df0d424dd93c3561aefa7cb5414218b5d",
      "parents": [
        "0297290eb61c72c420c72b914e46cc176e1bfb42"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 19 15:46:09 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 19 16:14:26 2011 -0700"
      },
      "message": "Implement jfieldID and jmethodID properly.\n\nChange-Id: I048107fbca4e21cf34e8fda6defdbc0b97421cf0\n"
    },
    {
      "commit": "0297290eb61c72c420c72b914e46cc176e1bfb42",
      "tree": "2ac2b4644a607bcb1007ea9fb759971d93a5dd48",
      "parents": [
        "aecc03ff2dd75a87b44b5d4a35bfb5886aff4d55",
        "6de0860c491d390b7a53be436519ef2d9234c4c9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Aug 19 15:56:11 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 19 15:56:11 2011 -0700"
      },
      "message": "Merge \"Record thread data when making reentrant transitions.\" into dalvik-dev"
    },
    {
      "commit": "6de0860c491d390b7a53be436519ef2d9234c4c9",
      "tree": "ad6e4a64551bc0cc8cb9e5f04272c1b6f819c3e0",
      "parents": [
        "cdd1d2d3fee0711b8b11db99f2dfb80113520100"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Aug 19 14:52:39 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Aug 19 15:46:24 2011 -0700"
      },
      "message": "Record thread data when making reentrant transitions.\n\nCalls from managed to native code record the top of the managed stack\nfor stack crawls. Up calls from native to managed (already in the\nrunnable managed thread state) need to preserve this data as the managed\ncode may call back into native code. This change introduces a linked\nlist of records from native to managed code, that allows the regions of\nmanaged code to have their stack crawled.\n\nChange-Id: I71bf680cf1fc2e95d261063050dd6effb72b1786\n"
    },
    {
      "commit": "aecc03ff2dd75a87b44b5d4a35bfb5886aff4d55",
      "tree": "1f2c0109b3a1f3214ad49a59c4aebd7787bfb308",
      "parents": [
        "cdd1d2d3fee0711b8b11db99f2dfb80113520100",
        "0a96fe07175b960050a606fadbf76d85a060e4fa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 19 10:46:33 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 19 10:46:33 2011 -0700"
      },
      "message": "Merge \"Use libnativehelper\u0027s existing code for creating a String[].\" into dalvik-dev"
    },
    {
      "commit": "cdd1d2d3fee0711b8b11db99f2dfb80113520100",
      "tree": "3c88f60d82232e887a6a38e8b92066cd4802260a",
      "parents": [
        "bfaadc83460726b049614a8616effbb03a247552"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Aug 18 09:58:17 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Aug 19 10:35:57 2011 -0700"
      },
      "message": "Move JNI compiler tests to use pure JNI.\n\nImplement JNI upcalls for x86.\nFix off by 1 bug in JNI calling convention for x86.\nFix bugs in ARM JNI upcalls.\nStraw man JNI invoke nonvirtual implementations.\nMatch va_start with va_end in JNI internals.\n\nChange-Id: I64d62eca41ac726ae0d007c1f41d2193db5be82e\n"
    },
    {
      "commit": "0a96fe07175b960050a606fadbf76d85a060e4fa",
      "tree": "3a2ff3afaa4931b86bb98d0dd616e71a5dc2c665",
      "parents": [
        "bfaadc83460726b049614a8616effbb03a247552"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 19 10:22:04 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 19 10:22:04 2011 -0700"
      },
      "message": "Use libnativehelper\u0027s existing code for creating a String[].\n\nChange-Id: I9d3341b2db5de0313b3542307a43a7be6b83a927\n"
    },
    {
      "commit": "bfaadc83460726b049614a8616effbb03a247552",
      "tree": "b90f575044f6bf74509769b7d3e4efbd3c936c3f",
      "parents": [
        "de69d7f8c32be83c405bf5a9c5f15fc655f578fa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 18 17:36:58 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 18 17:36:58 2011 -0700"
      },
      "message": "Replace a dangerous function with the convenience function callers actually want.\n\nChange-Id: Ic22dc4db36850507760a917033c254b88749b657\n"
    },
    {
      "commit": "de69d7f8c32be83c405bf5a9c5f15fc655f578fa",
      "tree": "cb55a919ba3fc9f5ee0e8f70cf22235bd6161532",
      "parents": [
        "2cfd15d1940c848fd60b454c545a33e2a78d185e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 18 16:49:37 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 18 16:49:37 2011 -0700"
      },
      "message": "Clean up mutexes on shutdown.\n\nChange-Id: Ib961f954280c27f8858c4d6fb9010cc833bb28d2\n"
    },
    {
      "commit": "2cfd15d1940c848fd60b454c545a33e2a78d185e",
      "tree": "7bb234b295ff13a8554db38f6acabc06d40c65ca",
      "parents": [
        "1c332df048f796ad0656644cb0433bd6e7a49aa3",
        "18c0753c1659629021b4becdaa3f6ea81aecce35"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 18 15:58:49 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 18 15:58:49 2011 -0700"
      },
      "message": "Merge \"Initialize the rest of libcore\u0027s native code.\" into dalvik-dev"
    },
    {
      "commit": "18c0753c1659629021b4becdaa3f6ea81aecce35",
      "tree": "2ccf75312b252af340eac79f161c077a979b78ca",
      "parents": [
        "c5f7c91ab89055cffb573fff7e06dbdd860bcced"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 18 15:50:51 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 18 15:58:13 2011 -0700"
      },
      "message": "Initialize the rest of libcore\u0027s native code.\n\nThis native code requires NewGlobalRef, so this patch also implements\nNewLocalRef/DeleteLocalRef, NewGlobalRef/DeleteGlobalRef, and\nNewWeakGlobalRef/DeleteWeakGlobalRef.\n\n(The assembler change is because \"math.h\" also defines OVERFLOW. A slight\nchange in #include ordering caused the names to conflict.)\n\nChange-Id: Ifbf3b532ec3b0896bd7507d2881c6b77b64f01e7\n"
    },
    {
      "commit": "1c332df048f796ad0656644cb0433bd6e7a49aa3",
      "tree": "3dc2cabad9919290c89aa14f32ac65b5361a8baa",
      "parents": [
        "c5f7c91ab89055cffb573fff7e06dbdd860bcced",
        "84d00e6caa8302abafca8907a2404eadc920f6a8"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Thu Aug 18 14:58:25 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 18 14:58:25 2011 -0700"
      },
      "message": "Merge \"Fix a typo that breaks the arugment size computation.\" into dalvik-dev"
    }
  ],
  "next": "84d00e6caa8302abafca8907a2404eadc920f6a8"
}
