)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "84d00e6caa8302abafca8907a2404eadc920f6a8",
      "tree": "205ef242e6d6c927bf42c0d17f9ee93bfeec046d",
      "parents": [
        "6c1a394b47c85c8d1723fc3b156a3b1b0b29a757"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Thu Aug 18 14:57:20 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Thu Aug 18 14:57:20 2011 -0700"
      },
      "message": "Fix a typo that breaks the arugment size computation.\n\nChange-Id: Id776dd6f546a04f157403d47cfa7311b77e8b589\n"
    },
    {
      "commit": "c5f7c91ab89055cffb573fff7e06dbdd860bcced",
      "tree": "e96e62e1220adfb93a72ddc91a7a38755cd4942a",
      "parents": [
        "4a289ed61242964b921434de7d375f46480472a1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 18 14:00:42 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 18 14:15:22 2011 -0700"
      },
      "message": "Switch to indirect references rather than direct pointers.\n\nThis also required a bit of fiddling to break cyclic dependencies,\nnow \"jni_internal.h\" needs Mutex from \"thread.h\".\n\nChange-Id: I1d6fb2d801c190f72255f5e447a0a8a65cc3e673\n"
    },
    {
      "commit": "4a289ed61242964b921434de7d375f46480472a1",
      "tree": "fa1a25f1eec3ef79fd9765e9c89ce21afbd8144c",
      "parents": [
        "44753c3908fcd5ccc066bf0dceddeabfeacf9f24"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 16 17:17:49 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 18 12:25:10 2011 -0700"
      },
      "message": "Work on heap and space initialization to support image loading\n\nChange-Id: Icab25efa4dee17e4b6c6e97e38f63f5ab8a8a005\n"
    },
    {
      "commit": "44753c3908fcd5ccc066bf0dceddeabfeacf9f24",
      "tree": "9e10f9b3e7aa18135e3e3d5aab0a6576f700748b",
      "parents": [
        "4b3b727d405da366f480f438e9b968ee09bf958d"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 17 22:22:11 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 18 12:22:26 2011 -0700"
      },
      "message": "Add unordered_set\n\nChange-Id: I2f8a7dba75b8cf26e23a350720920ba2e694e840\n"
    },
    {
      "commit": "4b3b727d405da366f480f438e9b968ee09bf958d",
      "tree": "2330063ea97fdc96b5021ec05cc680454ee0bf46",
      "parents": [
        "b765be0d656c3073402693aeaf64e95a0e49f218"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 18 09:52:17 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 18 09:59:58 2011 -0700"
      },
      "message": "Add vogar-like --invoke-with to \u0027art\u0027, and fix a bug valgrind finds.\n\nAlso add -d to run aexecd.\n\nChange-Id: I38fefd9ad2e08b42039cb2a09351b4e6e30a9c5c\n"
    },
    {
      "commit": "b765be0d656c3073402693aeaf64e95a0e49f218",
      "tree": "82cedc276a8530c14d2e6ecc539526acbef68c8a",
      "parents": [
        "f734cf55d510976f4862b15e35fc86eae2a3daf8"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 17 23:54:10 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 18 08:43:24 2011 -0700"
      },
      "message": "Alloc stack using MemMap and -Xss\n\nChange-Id: Ib6d52e41e62bf9cd111b2f03257ead53673d3e81\n"
    },
    {
      "commit": "f734cf55d510976f4862b15e35fc86eae2a3daf8",
      "tree": "cdb1077841e6be87353c27f2a30d352ac627663a",
      "parents": [
        "0af5543f8ea20c3e655b2d748a1b7dcf283792fe"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 17 16:28:14 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 17 21:51:13 2011 -0700"
      },
      "message": "Add ParsedOptions test (and migrate RuntimeTest to CommonTest)\n\nChange-Id: Ic338520dfaca2228260e546ed1522c37b83f42ac\n"
    },
    {
      "commit": "0af5543f8ea20c3e655b2d748a1b7dcf283792fe",
      "tree": "c1321a3c1e0fe700fa024294fa940d6d02c98d39",
      "parents": [
        "6c1a394b47c85c8d1723fc3b156a3b1b0b29a757"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 17 18:37:28 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 17 20:46:34 2011 -0700"
      },
      "message": "Code for loading shared libraries and calling JNI_OnLoad.\n\nThis causes a bit of log spam as we call unimplemented JNI functions,\nbut fixing those is my first job tomorrow. The exciting thing here is\nthat we\u0027re now loading libcore\u0027s classes and libcore\u0027s JNI.\n\nI\u0027ve changed ParsedOptions\u0027 std::vector of verbose options over to a\nstd::set for the convenience of callers, and defaulted -verbose:jni to\non. (This is not the cause of the log spam.)\n\nThe only nasty bit here is that icu4c doesn\u0027t like being initialized\nmore than 10 times, because it has a 10-element fixed-size array. The\nu_cleanup function is not publicly accessible, so we have to fiddle\naround with dlsym(3) twice in one patch...\n\nChange-Id: I9f6b5d74621eb2e88d04a89f00335067fda4ccbe\n"
    },
    {
      "commit": "6c1a394b47c85c8d1723fc3b156a3b1b0b29a757",
      "tree": "122185299351264d8e86db2399bbf8aef2a09e97",
      "parents": [
        "0db8cf440970b36d9511f20984150c06e504ab19"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 17 15:00:06 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 17 15:20:34 2011 -0700"
      },
      "message": "Add IndirectReferenceTable and initialize all the instances.\n\nWe\u0027re not _using_ any of the tables yet (except in tests), but all the\nreference tables are now in place.\n\nChange-Id: Ifd3fc114254460b4a1302520f2a4653319b113e5\n"
    },
    {
      "commit": "0db8cf440970b36d9511f20984150c06e504ab19",
      "tree": "7c128d914c2636ec96d458d4354b66159525283c",
      "parents": [
        "a04d397b990ee7d3ce120e317c19fb4409d80d57",
        "5b1982d2b41ab7a664fb04117539f29eadafa773"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Wed Aug 17 12:05:36 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 17 12:05:36 2011 -0700"
      },
      "message": "Merge \"Get rid of some C artifacts as noted in the initial review.\" into dalvik-dev"
    },
    {
      "commit": "a04d397b990ee7d3ce120e317c19fb4409d80d57",
      "tree": "c65e2f3d361adca3cd479db25d5481804bd9e3fd",
      "parents": [
        "515a5bc89282d6f910cae4d5852bb77124a47825"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Aug 17 11:33:44 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Aug 17 11:37:09 2011 -0700"
      },
      "message": "Issue 5177609: remove Monitor(Enter|Exit)Helper\n\nAdd necessary indirection for synchronized native methods that\nlock/unlock the object/class using the regular JNI MonitorEnter/Exit\nfunctions.\n\nChange-Id: I00cda7284fcfa09e1218ddbfb1e24ea4aaa94ac3\n"
    },
    {
      "commit": "515a5bc89282d6f910cae4d5852bb77124a47825",
      "tree": "431eabffeba344b671a19267829991585c16fda6",
      "parents": [
        "4dd71f1538a8d788c56c77378a59ce32afa519d7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 17 11:08:34 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 17 11:08:34 2011 -0700"
      },
      "message": "Add the -Xcheck:jni option.\n\nAnd make sure the boolean is available in every JNIEnv, so we\ndon\u0027t have to look it up via Runtime and JavaVM every time we\nneed to use it.\n\nChange-Id: I2d4b5d04ded196e7c7602406d854bb35227d767a\n"
    },
    {
      "commit": "4dd71f1538a8d788c56c77378a59ce32afa519d7",
      "tree": "cb83b727cc997991ba597bf6ff9627d6da93e2ad",
      "parents": [
        "bbd76717c14822b68ae6d122d88610b46286272f"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 16 14:16:02 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Aug 17 10:40:54 2011 -0700"
      },
      "message": "Implement various JNI internals. Fix off by 1 bug.\n\nMake GetMethodID and GetStaticMethodID throw NoSuchMethodError. Add\nsimple unit tests. Implement RegisterNatives.\nFix bug that CreateArgArray doesn\u0027t pass the last argument correctly.\n\nChange-Id: I5b87ffdbb72a7ef75147a002560b8c47e7af35f4\n"
    },
    {
      "commit": "bbd76717c14822b68ae6d122d88610b46286272f",
      "tree": "c3575373babafb78979c133d04b79e64c7598608",
      "parents": [
        "b3c5ea6d937900651d6d0f8106fbd166256a59cb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 17 10:25:24 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 17 10:28:30 2011 -0700"
      },
      "message": "Add the two ReferenceTables.\n\nChange-Id: Ie9200e6246dc07d867de0a70de52c1b2dc034f5b\n"
    },
    {
      "commit": "5b1982d2b41ab7a664fb04117539f29eadafa773",
      "tree": "c4c347fce75552a63269c6dbd979432b34a4e7be",
      "parents": [
        "b3c5ea6d937900651d6d0f8106fbd166256a59cb"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Aug 16 18:35:19 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Aug 16 18:35:19 2011 -0700"
      },
      "message": "Get rid of some C artifacts as noted in the initial review.\n\nChange-Id: If476df8bbd0505157fce938777d3ee17d6da5c98\n"
    },
    {
      "commit": "b3c5ea6d937900651d6d0f8106fbd166256a59cb",
      "tree": "9b328d88b3edd0091d55b1d0fb918cc918f9d694",
      "parents": [
        "e5da7d8e729058bd6a0a23efeb7806a3a67e7c63",
        "11e45077acba2e757799a00b3be9d63fec36a7cc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 16 18:10:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 16 18:10:26 2011 -0700"
      },
      "message": "Merge \"Add a reference table implementation.\" into dalvik-dev"
    },
    {
      "commit": "11e45077acba2e757799a00b3be9d63fec36a7cc",
      "tree": "3538d83b1bdb862d657a93aa894ad74fc6ec9c68",
      "parents": [
        "e2ff782c0cf770c3f72916ba9072bc24bf732ce0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 16 17:40:46 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 16 18:00:12 2011 -0700"
      },
      "message": "Add a reference table implementation.\n\nThis is suitable for pinned array references and the like.\n\nI\u0027ve also brought in some of the human-readable type printing stuff\nfor the benefit of the reference table dumping code.\n\nThis patch includes tests, but doesn\u0027t yet wire anything up.\n\nChange-Id: Iaf6066201bbd254e033dee4fd0b8dfd0bc17afa9\n"
    },
    {
      "commit": "e5da7d8e729058bd6a0a23efeb7806a3a67e7c63",
      "tree": "cdc4892cd856011de2ea113d67f06fda592e4c8d",
      "parents": [
        "e2ff782c0cf770c3f72916ba9072bc24bf732ce0",
        "6ea095ad30bf13cc00b4fee7afbbe4731a349c83"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 16 15:45:52 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 16 15:45:52 2011 -0700"
      },
      "message": "Merge \"Parse required options\" into dalvik-dev"
    },
    {
      "commit": "6ea095ad30bf13cc00b4fee7afbbe4731a349c83",
      "tree": "fa86d5b6e4876c0abab7727d5d9a10c0b1974eb6",
      "parents": [
        "8a436595d36c1e4935984fcac249d7d877e00383"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 16 15:26:54 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 16 15:44:55 2011 -0700"
      },
      "message": "Parse required options\n\nChange-Id: Ia534132dcb1bfc4adbde3ed8afb07535e26ba942\n"
    },
    {
      "commit": "e2ff782c0cf770c3f72916ba9072bc24bf732ce0",
      "tree": "6e45d0141b4149765baa94276cb4f91dedda27df",
      "parents": [
        "8a436595d36c1e4935984fcac249d7d877e00383",
        "710a0cbb4b0af03ce8651ed7936437c73250045e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 16 14:50:40 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 16 14:50:40 2011 -0700"
      },
      "message": "Merge \"Extra tests (and a bug fix).\" into dalvik-dev"
    },
    {
      "commit": "710a0cbb4b0af03ce8651ed7936437c73250045e",
      "tree": "161a43b45307333ffba2b9751ba4ed0a5b16e72c",
      "parents": [
        "a5b897eae4b6f9f9608faa9eada7ddf42bf1bfd2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 16 14:32:37 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 16 14:32:37 2011 -0700"
      },
      "message": "Extra tests (and a bug fix).\n\nI\u0027ve also added a trailing \" \" to the CHECK/UNIMPLEMENTED macros\u0027\noutput, to make it more natural for callers to add their own detail.\n\nChange-Id: I59bc51ac54aaff93f37a6b35082301e19db91304\n"
    },
    {
      "commit": "8a436595d36c1e4935984fcac249d7d877e00383",
      "tree": "66e6ecb9afb1c9950285c52fe98b93206436fccd",
      "parents": [
        "a5b897eae4b6f9f9608faa9eada7ddf42bf1bfd2"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 15 21:27:23 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 16 13:50:46 2011 -0700"
      },
      "message": "Work on option parsing as prelude to image loading\n\nChange-Id: I13edbd9b341e603817941beaca676535a7e590c7\n"
    },
    {
      "commit": "a5b897eae4b6f9f9608faa9eada7ddf42bf1bfd2",
      "tree": "2bcc495bc93b435c03807d0b24434f11d5baa0b7",
      "parents": [
        "83ab4f3b4e5544dc78c059e139f20cf93e5c6ce6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 16 11:33:06 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 16 12:58:11 2011 -0700"
      },
      "message": "Add semi-functional exception throwing.\n\nWe still need a way to call \u003cinit\u003e on the new exception instance, in particular.\n\nChange-Id: I839365d20288208cb8847253380cf654a35aeddd\n"
    },
    {
      "commit": "83ab4f3b4e5544dc78c059e139f20cf93e5c6ce6",
      "tree": "589783014bbaaeabcddb4d8dcef677ea717f82de",
      "parents": [
        "289da82ae82438ab3aed1898c82fd87c16846e74"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Mon Aug 15 20:21:39 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Aug 16 12:49:38 2011 -0700"
      },
      "message": "Add an implementation of GetMethodID.\n\nAlso, add an initialization check to GetStaticMethodID.\n\nChange-Id: I45f3aa3bc335b697cfe7d3308ba36bd9911ebe49\n"
    },
    {
      "commit": "289da82ae82438ab3aed1898c82fd87c16846e74",
      "tree": "31cff59beae91556fb85aa2e11da1697b6feea67",
      "parents": [
        "04b63fd60de0d9e6f07763511a1a9622accfeed7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 16 10:11:20 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 16 10:35:27 2011 -0700"
      },
      "message": "Add bounds checking to our internal array get/set methods.\n\nChange-Id: Ia570615e6b4ea81d796b6bf720444c62830a4f89\n"
    },
    {
      "commit": "04b63fd60de0d9e6f07763511a1a9622accfeed7",
      "tree": "7eee41b63389eec5b1631a3e6b45980ae3beda32",
      "parents": [
        "d46f9dbe1c7c2d4cab36026c5653a29548c3ded1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 16 09:40:10 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 16 09:40:10 2011 -0700"
      },
      "message": "Using \u0027size\u0027 to mean anything other than \"element count\" on a collection is confusing.\n\nThis name was okay on Object itself, but it\u0027s confusing on its array subclasses.\n\nChange-Id: I3d545d8c1001a157a68eefd34d6d411f4408ec9e\n"
    },
    {
      "commit": "8a26c5c4c74b09e2887593c733a22652a9f80d7c",
      "tree": "880dee46cc2e56c3903c216ad0e846dccc37a71a",
      "parents": [
        "f2682d5a6ce0f7de58da8fd4ec8aec200c43b92e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 15 18:35:43 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 15 18:35:43 2011 -0700"
      },
      "message": "Implement NewStringUTF and SetObjectArrayElement.\n\nTurns out there are a couple more calls needed by aexec.\n\nI\u0027ve added a placeholder AddLocalReference too, so we can add calls\nrather than TODOs.\n\nChange-Id: I3228a68527540b7cca665a8f35143a7401107e24\n"
    },
    {
      "commit": "f2682d5a6ce0f7de58da8fd4ec8aec200c43b92e",
      "tree": "e7669f0833a588eb5231fb4452bbac091cc5037e",
      "parents": [
        "0d666d8769714dcbc2acc4dd5b06f0deffa6e0a1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 15 16:37:04 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 15 18:34:59 2011 -0700"
      },
      "message": "Fix the invocation interface.\n\nPreviously, we just cast the Runtime* to a JavaVM*, which blew up as soon as\nthe caller tried to use their supposed JavaVM*.\n\nThis also implements NewObjectArray. Running aexecd on the host, this gets us\nas far as not having an x86 CreateInvokeStub...\n\nChange-Id: Iba5f148797d053fba1c69af99b20508ea6aff5cb\n"
    },
    {
      "commit": "0d666d8769714dcbc2acc4dd5b06f0deffa6e0a1",
      "tree": "18952f6a1ec70d26c4bcea809d093c027115776e",
      "parents": [
        "4e777d4e005375a5a41c4ec3c55783c09565df0d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Aug 14 16:03:46 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Aug 15 18:12:54 2011 -0700"
      },
      "message": "Fix JNI compiler for synchronized methods.\n\nCalls to the monitor enter/exit routines were passing the JNI env with\nthe iterator in the wrong position. Reset the iterator to make sure it\nis in the correct position for the monitor enter/exit call.\n\nAlso fix clobbering of arguments in registers when calling monitor enter\nfor synchronized methods on ARM.\n\nAlso some tidying of code/comments.\n\nChange-Id: I5bf1dd7e65d925e768411cb5865919ee5f54edbf\n"
    },
    {
      "commit": "4e777d4e005375a5a41c4ec3c55783c09565df0d",
      "tree": "f78e875fba9fb3ca7d22c4b7dd0fecda657f5976",
      "parents": [
        "d8ddfd5eadde1d5f53ef1419f529c799233eaa62"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 15 13:53:52 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 15 15:20:50 2011 -0700"
      },
      "message": "Revisions to \"First pass of ImageWriter\"\n\nCleanup from accidental commit of:\n\n    commit db4d54081f09abcbe97ffdf615874f2809a9e777\n    Author: Brian Carlstrom \u003cbdc@google.com\u003e\n    Date:   Tue Aug 9 12:18:28 2011 -0700\n\n        First pass of ImageWriter\n\nChange-Id: I0168c05d229e0c7f8059dc1ab1b46dc2dc426c53\n"
    },
    {
      "commit": "d8ddfd5eadde1d5f53ef1419f529c799233eaa62",
      "tree": "bf891ae82d622da180d7857d9a86db37b26dbe32",
      "parents": [
        "3cd987f5c2d152b82a530207d6eeac064f67739b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 15 14:32:53 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 15 14:55:18 2011 -0700"
      },
      "message": "Implement JNI NewBooleanArray et cetera.\n\n(Primitive types only. NewObjectArray to come...)\n\nChange-Id: I2f54031d96062d666089c91ba40e16028ae21bd4\n"
    },
    {
      "commit": "3cd987f5c2d152b82a530207d6eeac064f67739b",
      "tree": "a5949cfd20841b68631cf11d6ee952cf500cbdbf",
      "parents": [
        "db4d54081f09abcbe97ffdf615874f2809a9e777"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 15 10:39:47 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 15 10:39:47 2011 -0700"
      },
      "message": "Pass the correct Thread* when calling back into Java.\n\nChange-Id: I39ff5fdcd0d787a23db19c2e39f62472d84d467a\n"
    },
    {
      "commit": "db4d54081f09abcbe97ffdf615874f2809a9e777",
      "tree": "86d4b6cdbfda6538ebf3fbb2f362209eb6867ce5",
      "parents": [
        "350dad1bb785281d6740633f219a2832feda6ff3"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 09 12:18:28 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 15 10:03:22 2011 -0700"
      },
      "message": "First pass of ImageWriter\n\nChange-Id: I4f189587a2e3cc1c265200b8fa64321b299947eb\n"
    },
    {
      "commit": "350dad1bb785281d6740633f219a2832feda6ff3",
      "tree": "40751b3075ae5a450dc00cd1cd8a9f6152791264",
      "parents": [
        "ad107abee00fb523b9fda575a40395e9d6d9510d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 15 09:50:26 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 15 09:50:26 2011 -0700"
      },
      "message": "Fix zip_archive_test on the target.\n\nChange-Id: I50d4bb7cd3252efb6b19d712badd71d06e13c433\n"
    },
    {
      "commit": "ad107abee00fb523b9fda575a40395e9d6d9510d",
      "tree": "9db5ff4af4613224ed136bedce10b88538933bff",
      "parents": [
        "650a07d237f219ee6f23cfe939118e6f9c48f4d3"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sun Aug 14 15:54:24 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sun Aug 14 15:54:24 2011 -0700"
      },
      "message": "Remove author attributions.\n\nChange-Id: I58d2983ce41f6b3f3a4e1bbd1d075e794b8257e3\n"
    },
    {
      "commit": "9b9ba28b1277b4ddb967c5a968c6d550febce6af",
      "tree": "d895f4134ac8d0b7e5b86307c0ed9aef76606a40",
      "parents": [
        "fe909f29eb417199497a640abd78057fa83c076c"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sun Aug 14 15:30:39 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sun Aug 14 15:30:39 2011 -0700"
      },
      "message": "Implement upcalls with compiled JNI callback bridges.\n\nChange-Id: Ib475a5957a3e2596a812df1314fbc73a96f01725\n"
    },
    {
      "commit": "fe909f29eb417199497a640abd78057fa83c076c",
      "tree": "3482bdced2dfc5e398b02e6c5927906c8fa00e2e",
      "parents": [
        "53b61314370c49354ed6f8d616d6a9a182410fc1"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Aug 12 19:20:26 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Aug 12 20:18:33 2011 -0700"
      },
      "message": "Get should be a const method.\n\nOtherwise, the returned handler_ can still be modified.\n\nChange-Id: I59dea4aa5284f7154d3c096556e6e497890c26ca\n"
    },
    {
      "commit": "53b61314370c49354ed6f8d616d6a9a182410fc1",
      "tree": "e744dfef8b45438bb992b08633439522095cd967",
      "parents": [
        "5511f2161d71ac67a9bc140cbbca5d9637ab7499"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 18:28:20 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 18:28:34 2011 -0700"
      },
      "message": "Use the UNIMPLEMENTED macro everywhere.\n\nAs suggested in review.\n\nChange-Id: Ic14c91a622b545b4800ef021dfb501fb09cbda9d\n"
    },
    {
      "commit": "b20a554613609dc372073d2ebd9fbc3925a429f5",
      "tree": "48778232d101782dfab6bb47498f39401c4ca975",
      "parents": [
        "46b92ba72247e10884714d0b683bdb5e9d9ce59d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 18:03:12 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 18:03:12 2011 -0700"
      },
      "message": "Implement a few of the easy JNI functions.\n\nExceptionCheck was the next thing we need; the others are just targets of\nopportunity.\n\nChange-Id: I1c9e50fd5b5702b6f2afc8b4a31231af2a871b66\n"
    },
    {
      "commit": "46b92ba72247e10884714d0b683bdb5e9d9ce59d",
      "tree": "85a0ba2189bef8de8e5a64b461e705967447f83e",
      "parents": [
        "e0fc0ef0facabaf44b6fd460db4469ab0dab9696"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 17:57:34 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 17:57:34 2011 -0700"
      },
      "message": "Factor out NeedsEscaping from the Printable* functions.\n\nAs suggested in review.\n\nChange-Id: I07efa577878b5782fc5c30ee0382d24f69d4adeb\n"
    },
    {
      "commit": "e0fc0ef0facabaf44b6fd460db4469ab0dab9696",
      "tree": "f887577ed88b685e97381dbb597bf6cc13dc6fc8",
      "parents": [
        "91779c841f8bfaf2416576d0c44fa5f50f95b60b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 17:39:17 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 17:39:17 2011 -0700"
      },
      "message": "Fix a few more scoped_ptr/scoped_array confusions, and stop tring to optimistically load non-existent .dex files.\n\nChange-Id: I0c12a731bdf1da49f2f51665181e5b4d2b423ba2\n"
    },
    {
      "commit": "91779c841f8bfaf2416576d0c44fa5f50f95b60b",
      "tree": "fc3c14d8204c8089fc4dc0c361781332b58ff9ab",
      "parents": [
        "d6c705a0ed2ea5180268366b868f25b7265da3d0",
        "330304de14dc7118b45b8e7b5bd11a172fa61701"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 17:37:33 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 12 17:37:33 2011 -0700"
      },
      "message": "Merge \"Create JNIEnv*s on the right threads.\" into dalvik-dev"
    },
    {
      "commit": "d6c705a0ed2ea5180268366b868f25b7265da3d0",
      "tree": "66b1cbafec1d1a51d3a5e8417503d3ee2713932f",
      "parents": [
        "22f409320323f0f7df53954ce9193436b96444dc",
        "28e76279ae857306113278223fde8e66528f4065"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Aug 12 16:06:58 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 12 16:06:58 2011 -0700"
      },
      "message": "Merge \"Add some exceptions classes for throw\" into dalvik-dev"
    },
    {
      "commit": "28e76279ae857306113278223fde8e66528f4065",
      "tree": "be4e3a1afbb1ce777d8466e0f0c9e51f33e11020",
      "parents": [
        "40ef99eb9dd91c2fa549f40973964529c927bb3c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Aug 12 14:58:56 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Aug 12 14:58:56 2011 -0700"
      },
      "message": "Add some exceptions classes for throw\n\nChange-Id: Ic01714860598f365439733329df6f7671582d7e9\n"
    },
    {
      "commit": "330304de14dc7118b45b8e7b5bd11a172fa61701",
      "tree": "9f2d095d9f2da8f82984f58d9b3491bbe438e315",
      "parents": [
        "22f409320323f0f7df53954ce9193436b96444dc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 14:28:05 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 14:36:54 2011 -0700"
      },
      "message": "Create JNIEnv*s on the right threads.\n\nThis exposes a bug in jni_compiler.cc --- it passes the right JNIEnv* to the\nnative method and to MonitorExit, but it passes a bogus value to MonitorEnter.\n\nChange-Id: Icbf505d24294d14ce3e40180a20254789cb69904\n"
    },
    {
      "commit": "22f409320323f0f7df53954ce9193436b96444dc",
      "tree": "4de73b864b9271a8f3c70b009b1f06adec27f14f",
      "parents": [
        "c7ac37f0b8b64cfb53d8b9cc8dddbb34be3dd5ee"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 13:06:37 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 13:06:37 2011 -0700"
      },
      "message": "Add ScopedJniThreadState.\n\nVery similar to what we had before, except workAroundAppJniBugs is hard-coded\non until we have somewhere to put options.\n\nChange-Id: I8dcf4fade237ca230138e355dcc20319f3d7a540\n"
    },
    {
      "commit": "c7ac37f0b8b64cfb53d8b9cc8dddbb34be3dd5ee",
      "tree": "86b0ec39efb6a8fb758311ab035466a1a1edefd2",
      "parents": [
        "0c9cd5692fbbc5d92fcdc1ef41ef881a492b00ce"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 12:21:58 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 12:21:58 2011 -0700"
      },
      "message": "Be more specific when we exit because of an unimplemented JNI call.\n\nAlso add basic char/string escaping functions for cleaning error messages.\n\nChange-Id: I03df28e30a492bfd293ef6aa56a703ec87817ed5\n"
    },
    {
      "commit": "0c9cd5692fbbc5d92fcdc1ef41ef881a492b00ce",
      "tree": "d56f02b3e9c5116b2625c2da44c605fcf7f67129",
      "parents": [
        "191e4165ad316e1e0a12f3e91fb764694b4b82c0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 10:59:29 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 11:51:30 2011 -0700"
      },
      "message": "Add tests for JNI FindClass.\n\nChange-Id: I409887167229a421d19adb0f884518e843ca7690\n"
    },
    {
      "commit": "191e4165ad316e1e0a12f3e91fb764694b4b82c0",
      "tree": "7a7804d20c3bc1a521692cd2421a57d1cbacaf96",
      "parents": [
        "4e5c0b92d03fdee18aee6073ad26995f94159866",
        "6b436857669d8d1d9be43a70fd8fd33e508276ce"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 10:27:57 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 12 10:27:57 2011 -0700"
      },
      "message": "Merge \"Translate JNI class descriptors into regular class descriptors in FindClass.\" into dalvik-dev"
    },
    {
      "commit": "6b436857669d8d1d9be43a70fd8fd33e508276ce",
      "tree": "ae1b978c5b5adc29afa70cb7f7e3dd930d799761",
      "parents": [
        "40ef99eb9dd91c2fa549f40973964529c927bb3c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 10:16:44 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 10:16:44 2011 -0700"
      },
      "message": "Translate JNI class descriptors into regular class descriptors in FindClass.\n\nThe descriptors passed to JNI\u0027s FindClass use a different syntax than those\nused by ClassLinker::FindClass.\n\nChange-Id: I1510e807e078fd04c9d56bd4483eb79c3503d8ab\n"
    },
    {
      "commit": "4e5c0b92d03fdee18aee6073ad26995f94159866",
      "tree": "5bf4418d387c36d90757b95ca27f4c7a61730e0d",
      "parents": [
        "40ef99eb9dd91c2fa549f40973964529c927bb3c"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Aug 11 22:50:08 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Aug 11 22:50:08 2011 -0700"
      },
      "message": "End() should check if remaining_count_ \u003d\u003d -1, instead of checking negative.\n\nChange-Id: I4b0e113f48902a4056d07bdcc2ffdba90d7fde7b\n"
    },
    {
      "commit": "40ef99eb9dd91c2fa549f40973964529c927bb3c",
      "tree": "317dfd56abeacb4c0dd3cf7f63a4801828d7dff9",
      "parents": [
        "5381cf941d26030199fcdbe61a614ff01e55a27c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 11 17:44:34 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 11 22:02:10 2011 -0700"
      },
      "message": "Start implementing JNI.\n\nThis patch replaces our JniEnvironment class with the regular JNIEnv.\n\nThis patch also adds support for .jar, .zip, and .apk files in the\nboot classpath.\n\nThere\u0027s also an attempt at implementing JNIEnv::FindClass.\n\nI\u0027ve also fixed a few scoped_ptr/scoped_array bugs (this kind of thing\nbeing the reason we use UniquePtr in libcore), and removed some\nunnecessary .\n\nThe \u0027tools/art\u0027 script makes it easier to play with aexec on the command-line.\n\nChange-Id: Ic4f704c12e0071f17e95b6e182fdab9370ead9b0\n"
    },
    {
      "commit": "5381cf941d26030199fcdbe61a614ff01e55a27c",
      "tree": "225eca00d1593e63f88a73459a52f342a7942fc4",
      "parents": [
        "2fb9753c58ce1a511fd6996856840120eb2930db"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Jul 27 00:28:04 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Aug 11 21:14:43 2011 -0700"
      },
      "message": "Handle double and long on the Managed side, and follow AAPCS on the Native side.\n\nChange-Id: I43a8fa36cb79fb438f075986a46c66ab8258e725\n"
    },
    {
      "commit": "2fb9753c58ce1a511fd6996856840120eb2930db",
      "tree": "4e646106bd572224f690d5e8e64b397b25887ae8",
      "parents": [
        "0dab4ecc01c5db0d0846bf5b4f608634d7404f74"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Aug 11 16:17:23 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Aug 11 18:31:05 2011 -0700"
      },
      "message": "Exception Handling: libdex integration. Also added unit test on exception.\n\nRuntime processing of TryItem and CatchHandler. Added iterator.\n\nNext step: Exception Handling: RT integration. Implement throw and\nunwind.\n\nChange-Id: Idf88ce83e37b004016f1eca2c621e5a86948fe91\n"
    },
    {
      "commit": "0dab4ecc01c5db0d0846bf5b4f608634d7404f74",
      "tree": "28f48ad1713ac07c817b034bcbb6d7171c72e614",
      "parents": [
        "35baaab2a79014f35e225b189f6dbec1b4ba9542"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 11 12:19:32 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 11 12:19:32 2011 -0700"
      },
      "message": "Switch to the libcore ScopedLocalRef.\n\nAlso stop returning a deleted local reference from CreateStringArray.\n(In a later patch I\u0027ll switch us over to the libcore toStringArray.)\n\nChange-Id: I83cb10b9ecda32476f94a1120325ac4121f9e4fb\n"
    },
    {
      "commit": "35baaab2a79014f35e225b189f6dbec1b4ba9542",
      "tree": "78b714e339b12c51b48a038d4a9d8c8c2397b919",
      "parents": [
        "7833bd261d78be2c42284031f169a62c9065cc3c"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Aug 10 16:18:03 2011 -0400"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Aug 10 16:24:08 2011 -0400"
      },
      "message": "Combine InstanceField and StaticField and Field.\n\nThis gives us full consistency with the java.lang.reflect.Field type.\n\nChange-Id: Ib17c7fca4fe2c912fa9f5e37da2be0aebb8def9c\n"
    },
    {
      "commit": "7833bd261d78be2c42284031f169a62c9065cc3c",
      "tree": "79b5625e5f2ef2f69bd6890de8e961548468b178",
      "parents": [
        "f7ed11ae81002f83b78012c4bbe01e5e994ecc3b"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Tue Aug 09 18:31:44 2011 -0400"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Aug 10 15:24:37 2011 -0400"
      },
      "message": "Store static field values in arrays.\n\nEach static field is stored in one of three arrays:\n - references are stored in static_references_\n - 64 bit primitives are stored in static_64bit_primitives_\n - everything else is in static_32bit_primitives_\n\nChange-Id: I1c0e182582f776c62edbd9bd97ffd4fd7e516c99\n"
    },
    {
      "commit": "f7ed11ae81002f83b78012c4bbe01e5e994ecc3b",
      "tree": "01ff697d30fe8cdb65288ad953dd2421a3d71cff",
      "parents": [
        "df4189cc2381be21cb0a1586f4e079d394c4d057"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 09 17:55:51 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 09 18:31:22 2011 -0700"
      },
      "message": "Adding Object::InstanceOf and Class::IsAssignableFrom\n\nSummary:\n- Add Object::InstanceOf and Class::IsAssignableFrom\n- Fix Cloneable and Serializable interfaces on arrays to be \u003d\u003d with FindSystemClass results\n- Changed Object::Alloc(Class*) to be Class-\u003eNewInstance()\n\nDetails:\n\nAdd Object::InstanceOf and Class::IsAssignableFrom\n\n\tobject.h\n\tcommon_test.h\n\tobject_test.cc\n\nFix bug where Cloneable and Serializable where created with AllocClass\nand never inserted in the classes table with FindSystemClass by just\ncreating them directly with FindSystemClass\n\n\tclass_linker.cc\n\tobject_test.cc\n\nChanged Object::Alloc(Class*) to be Class-\u003eNewInstance()\n\n\tclass_linker.cc\n\tobject.h\n\nChange-Id: I528767fff43aff32c8dc4f7a2d4157598a7dbb89\n"
    },
    {
      "commit": "df4189cc2381be21cb0a1586f4e079d394c4d057",
      "tree": "21940c869f89ea7b0b4d1acc4e15323d3bdb1e76",
      "parents": [
        "0024d6cb8043a8967fdfb20561f321b2fe65c41f"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Tue Aug 09 17:10:28 2011 -0400"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Tue Aug 09 17:28:34 2011 -0400"
      },
      "message": "Follow up from Carl\u0027s comments on new primitive array types.\n\nChange-Id: I0c53d5c327070034562051f3f18582a9d108075c\n"
    },
    {
      "commit": "0024d6cb8043a8967fdfb20561f321b2fe65c41f",
      "tree": "e9f14d1a157816f51336ac98d348fff99678b9c4",
      "parents": [
        "4bfab0a48a7e94597498b3e8cd520c4e6df0dcd8"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 09 08:26:12 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 09 10:55:30 2011 -0700"
      },
      "message": "Minor zip cleanups\n\nChange-Id: Iaa2552245e9dac5fabc6a9fb553174e4d5d84142\n"
    },
    {
      "commit": "4bfab0a48a7e94597498b3e8cd520c4e6df0dcd8",
      "tree": "5f8936a93e276fa0f6c1f324eb93dd72c184079e",
      "parents": [
        "744ad05e473be49033d38f30aab63891ca4ee5c3"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sun Aug 07 14:08:30 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sun Aug 07 14:08:30 2011 -0700"
      },
      "message": "Remove obsolete members that unintentionally reappeared when rebasing.\n\nChange-Id: Iebe2514a58e23f1be1bf4326f27c00d4dbcbce88\n"
    },
    {
      "commit": "744ad05e473be49033d38f30aab63891ca4ee5c3",
      "tree": "6c14472de037544af316af24b24a37851bbced7d",
      "parents": [
        "f88c95285b2d105a504d18736fe477f74c8c5b45"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sat Aug 06 15:53:36 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sat Aug 06 15:53:36 2011 -0700"
      },
      "message": "Remove stray trailing semicolons.\n\nChange-Id: I151191cc3ffdd9e8d5ea85496e435ee6f3716f56\n"
    },
    {
      "commit": "f88c95285b2d105a504d18736fe477f74c8c5b45",
      "tree": "f8ee2b7dd84e77b2d5deb9bb7d730797101ae6f9",
      "parents": [
        "a85f2487db248c9764ccf053aa3ac0807deae35c"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sat Aug 06 15:47:38 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sat Aug 06 15:47:38 2011 -0700"
      },
      "message": "Minor clean-ups.\n\nStandardize on DISALLOW_IMPLICIT_CONSTRUCTORS to avoid assignments and\nconstruction of mirror objects.\n\nNormalize some whitespace usage and wrap a long line.\n\nRemove the obsolete and commented out class Size method.\n\nChange-Id: I60b1929087e9be1d84d4ecae20988dce90a7f8be\n"
    },
    {
      "commit": "a85f2487db248c9764ccf053aa3ac0807deae35c",
      "tree": "ab2a2b3b9e3a5fbab164abe3aac976fe4661ea5b",
      "parents": [
        "fd687c537666996be8364399c111636b63f14779",
        "2eaa968bcd171248c50cea0bbe2c5cfdf9aabb80"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Fri Aug 05 18:00:14 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 05 18:00:14 2011 -0700"
      },
      "message": "Merge \"Add a dex structure definition to support exception handling.\" into dalvik-dev"
    },
    {
      "commit": "fd687c537666996be8364399c111636b63f14779",
      "tree": "383871d8c2b4646f3536a1b5c4186485ec230e96",
      "parents": [
        "7e93b50433cde2a44d99212e8040299bde498546"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Aug 04 19:27:35 2011 -0700"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Aug 05 11:44:52 2011 -0700"
      },
      "message": "Create templates for primitive types.\n\nIn preparation to move static fields into their own array\nmembers off of class.\n\nChange-Id: Ic524e12952af985d8ae16a05b5f4e50676a9c136\n"
    },
    {
      "commit": "7e93b50433cde2a44d99212e8040299bde498546",
      "tree": "5365abc77a3ada7f50bfc06b5772e03b86ee8f3c",
      "parents": [
        "8860c0e8491a27aa03b55f2417478fb3629611d6"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 04 14:16:22 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 04 22:59:02 2011 -0700"
      },
      "message": "String intern table and support for unordered_map\n\nChange-Id: I22d86d060780552675c5d7f14a98ffde480eac82\n"
    },
    {
      "commit": "2eaa968bcd171248c50cea0bbe2c5cfdf9aabb80",
      "tree": "7ef7d3b80de37e18b3c5f59ef1db1293b949d77c",
      "parents": [
        "8860c0e8491a27aa03b55f2417478fb3629611d6"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Thu Aug 04 19:26:11 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Thu Aug 04 19:26:11 2011 -0700"
      },
      "message": "Add a dex structure definition to support exception handling.\n\nChange-Id: I586773e1526c6ade46a74251cb838cab74d7de7a\n"
    },
    {
      "commit": "8860c0e8491a27aa03b55f2417478fb3629611d6",
      "tree": "fc23c244c7c46fe6f58b522eeef6f9b32e4ea5aa",
      "parents": [
        "74eb46ab15c5b9cb39bf15246db84aea7fd4cc27"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Thu Aug 04 17:36:16 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Thu Aug 04 17:36:16 2011 -0700"
      },
      "message": "Use the method descriptor for prototype and return type comparisons.\n\nChange-Id: If2623b53e069d6f51c08849ac2798f792d465234\n"
    },
    {
      "commit": "74eb46ab15c5b9cb39bf15246db84aea7fd4cc27",
      "tree": "50727b6606dcf881e0b9e734876815f28e9753c6",
      "parents": [
        "419ec7bbcdbf56a9d2a9fd7f91f9ace279e0b664"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 02 20:10:14 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 04 14:36:48 2011 -0700"
      },
      "message": "Improved ClassLoader support\n\nChange-Id: I587c0fa439c64a0c947641b01c072149f480bf85\n"
    },
    {
      "commit": "419ec7bbcdbf56a9d2a9fd7f91f9ace279e0b664",
      "tree": "ef7d735ef10e5b886db278bc6075d60f46ff0081",
      "parents": [
        "b0460eaa2cb131f1dbdd5a7217bd36b9a9f1b995"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Wed Aug 03 14:48:33 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Wed Aug 03 17:29:32 2011 -0700"
      },
      "message": "Materialize method descriptors when instantiating method objects.\n\nPreviously, when comparing method descriptors, one had to piecewise\ncompare the leaves of a method structure for equality.\n\nWith this change a flat method descriptor is computed and associated\nto an object.  This will simplify comparisons for descriptor equality\nused during verification and reflective method retrieval.\n\nChange-Id: I91e5ac76fb3816a36716b34fe43d05cd7364897b\n"
    },
    {
      "commit": "b0460eaa2cb131f1dbdd5a7217bd36b9a9f1b995",
      "tree": "7b06bde279ff798413a531728ce51aafb122aa5e",
      "parents": [
        "8989d990e5be3982ab5ba4e7aa574652f71632ca"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 29 10:08:05 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 02 22:17:44 2011 -0700"
      },
      "message": "Add support for opening classes.dex file from zip, jar, apk\n\nAdding new ZipArchive class and test\n\n\tsrc/zip_archive.h\n\tsrc/zip_archive.cc\n\tsrc/zip_archive_test.cc\n\tbuild/Android.common.mk\n\nChange from host only use of build dex file for libcore to using host\nand target core.jar containing classes.dex files. This requires\nsetting up an ANDROID_DATA directory to containing an art-cache file\nfor the extracted dex files, similar to the dalvik-cache for odex\nfiles. A unique ANDROID_DATA and art-cache is created and cleaned up\nfor each test run (similar to vogar).\n\n\tsrc/common_test.h\n\nAdd dependency for libcore jar files to test targets to support\nRuntimeTest use of core.jar\n\n\tAndroid.mk\n\nExtract common includes to ART_C_INCLUDES when adding zlib dependency\n\n\tbuild/Android.common.mk\n\tbuild/Android.libart.mk\n\tbuild/Android.test.mk\n\nAdding TODO regarding unordered map for ClassLinker::classes_ table.\n\n\tsrc/class_linker.h\n\nAdding DexFile::OpenZip (also changed OpenFile to take\n\tsrc/dex_file.cc\n\tsrc/dex_file.h\n\nAdding kPageSize of 4096, validated by Runtime::Init\n\n\tsrc/globals.h\n\tsrc/runtime.cc\n\n    Updated to use kPageSize where it seemed appropriate.\n\n\tsrc/jni_compiler.cc\n\tsrc/jni_compiler_test.cc\n\tsrc/space.cc\n\tsrc/thread.cc\n\tsrc/thread_x86.cc\n\nChanged thread_list_ and class_linker_ to be declared in Runtime::Init\ninitialization order.\n\n\tsrc/runtime.h\n\nChange-Id: Id626abe5b6c1990e4f93598256ee0fae000818f6\n"
    },
    {
      "commit": "8989d990e5be3982ab5ba4e7aa574652f71632ca",
      "tree": "a519562a906c3bca93250c43fd638cc9e12603d8",
      "parents": [
        "f7e85a512c343c474f64791a1f5e26a5df537653"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Tue Aug 02 13:39:42 2011 -0700"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Tue Aug 02 13:46:29 2011 -0700"
      },
      "message": "Get ClassLinker out of the business of allocating strings.\n\nString is now the only place we allocate strings. This requires\na bit of finesse in order to make char[] available early during\nbootstrap.\n\nChange-Id: I494a2b0691b58fdafc96513c1e697a88d437c805\n"
    },
    {
      "commit": "f7e85a512c343c474f64791a1f5e26a5df537653",
      "tree": "cdd122858f5b0cc7fbdb483f9cd10c8f21897390",
      "parents": [
        "905786d6c484f464724b5dfb425af409d48d3bbf"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Mon Aug 01 18:45:58 2011 -0700"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Tue Aug 02 10:58:07 2011 -0700"
      },
      "message": "Use Java strings for Method\u0027s name.\n\nChange-Id: Ibf0a847358a1b480069f49a0aefc783ad96a0332\n"
    },
    {
      "commit": "905786d6c484f464724b5dfb425af409d48d3bbf",
      "tree": "e70c9d0918d4a94e80ee5bd867414061f51cd40d",
      "parents": [
        "02c55f95d3c6e38c73c8d9fe47d0b3fc023dfc94",
        "14150748d11768f94df640ef8bb6a5022bd05874"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Mon Aug 01 15:51:04 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 01 15:51:04 2011 -0700"
      },
      "message": "Merge \"Use Java strings for Field\u0027s name.\" into dalvik-dev"
    },
    {
      "commit": "02c55f95d3c6e38c73c8d9fe47d0b3fc023dfc94",
      "tree": "759d64f21a3dee95c59f892d35a901200cb54aba",
      "parents": [
        "23103407a42e9a1381482994029a24e177127d25",
        "ea4dca856f8c19299a1858d2cc1f35b03ca0f694"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Mon Aug 01 14:13:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 01 14:13:59 2011 -0700"
      },
      "message": "Merge \"Add stub implementations for the JNI native and invoke interfaces.\" into dalvik-dev"
    },
    {
      "commit": "ea4dca856f8c19299a1858d2cc1f35b03ca0f694",
      "tree": "838b3900e2013c5d3b0cf1be37cf3b6d699a5b80",
      "parents": [
        "6f6beb4ecbcf5620196525be3b3684ca24aa46b0"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Mon Aug 01 13:45:38 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Mon Aug 01 13:45:38 2011 -0700"
      },
      "message": "Add stub implementations for the JNI native and invoke interfaces.\n\nChange-Id: I2d2b2a38c2c97a4ce0edfdb35ab2e6f073440a7f\n"
    },
    {
      "commit": "14150748d11768f94df640ef8bb6a5022bd05874",
      "tree": "fceeae0df4e938e260fbd2415c729c163281848e",
      "parents": [
        "23103407a42e9a1381482994029a24e177127d25"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Jul 29 19:04:44 2011 -0400"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Mon Aug 01 10:55:39 2011 -0700"
      },
      "message": "Use Java strings for Field\u0027s name.\n\nChange-Id: Ia75c9c0ed0a802e52e415d856a101affb9fddd8a\n"
    },
    {
      "commit": "cbe9fc0bea5907e23e11a813775cea3bec4c76bb",
      "tree": "8d0bd485402765e524d21407c2869545ff775c5d",
      "parents": [
        "779f8c7c847265b056696bd3be4d40abe64cf245"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Jul 29 18:59:50 2011 -0400"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Mon Aug 01 13:19:27 2011 -0400"
      },
      "message": "Add equals to C++ String\n\nThis is a baby step towards using String instead of StringPiece.\n\nChange-Id: I34baa1c91e99f78151ec1fa9175eb5df30fa0292\n"
    },
    {
      "commit": "779f8c7c847265b056696bd3be4d40abe64cf245",
      "tree": "e00adb53247a75668365c040bc717800113cafc0",
      "parents": [
        "b88e94494796a81ff625761d0ddfe29c97336f09",
        "46cdd4bd0f69c519fc31114bdec2cb8a9c3b162d"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Jul 28 15:45:16 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 28 15:45:16 2011 -0700"
      },
      "message": "Merge \"More field order validation.\" into dalvik-dev"
    },
    {
      "commit": "46cdd4bd0f69c519fc31114bdec2cb8a9c3b162d",
      "tree": "25585973903372c2b9d67e8d7fd9e941881f4293",
      "parents": [
        "75cb3b477be3757a0351fb6ab1cb70751a71e2bf"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Jul 28 17:40:48 2011 -0400"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Jul 28 18:41:45 2011 -0400"
      },
      "message": "More field order validation.\n\nThis is to set me up to remove the redundant fields like declaring\nclass and name from field and method.\n\nChange-Id: Ie834c615b33caed89c443fa23c25b7757d4b7ef3\n"
    },
    {
      "commit": "b88e94494796a81ff625761d0ddfe29c97336f09",
      "tree": "f0a80dbcbd784e83877ba7a041b076d57232655a",
      "parents": [
        "75cb3b477be3757a0351fb6ab1cb70751a71e2bf"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 28 15:15:51 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 28 15:15:51 2011 -0700"
      },
      "message": "Just visit classes_root, not its elements\n\nChange-Id: Ide0de6fda31de47b9c7fe2e33698b7f10ef44707\n"
    },
    {
      "commit": "75cb3b477be3757a0351fb6ab1cb70751a71e2bf",
      "tree": "dba907e5869a2fd30b405875fd368af82440482a",
      "parents": [
        "ac5b9e22d32c4f986783a2207b08ade769619f6f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 28 02:13:36 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 28 10:21:47 2011 -0700"
      },
      "message": "Add ClassLinker::VisitRoots\n\nAs part of implementing VisitRoots, created ClassLinker::class_roots_\nwith enum of offsets. This required revising ClassLinker::Init yet\nagain, so took the opportunity to simplify and document ordering\nrestrictions. Also simplified special cases in FindClass, as well as\nmaking a fast path for FindClass and CreateArrayClass for post\n::Init. Made ClassLinker::Alloc* conveniences private after realizing\nthey are only used externally by tests. Sprinkled some\nClass::IsSynthetic validation in ClassLinkerTest along with adding a\ntest for VisitRoots. Updated kJavaLangDex to have a java.lang.String\nto work with the simplified ::Init code.\n\nChange-Id: I76b92c0bde5da32d9ebc8d3702d8e7ac7972dda7\n"
    },
    {
      "commit": "ac5b9e22d32c4f986783a2207b08ade769619f6f",
      "tree": "736d93e3df77289024330a641f8090acac7e0e43",
      "parents": [
        "8ecd08cde96e2463123a54eaec9429149f53ed2f"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Jul 27 15:11:13 2011 -0400"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Jul 28 10:17:30 2011 -0400"
      },
      "message": "Validate the C++ and managed fields are ordered consistently.\n\nChange-Id: If0d0fcc2ffcc0172bd86fd1714111857af572d6a\n"
    },
    {
      "commit": "8ecd08cde96e2463123a54eaec9429149f53ed2f",
      "tree": "1e2de78c4a32e50dd09fa6cd2832ad09e3081f76",
      "parents": [
        "76144e0293e08a14dc989556006eb3906be60a21"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 27 17:50:51 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 27 17:50:51 2011 -0700"
      },
      "message": "Switch tests and aexecd to use libartd\n\nChange-Id: I7b6b63f4e7b92da906b3104adfa7661c5912c295\n"
    },
    {
      "commit": "76144e0293e08a14dc989556006eb3906be60a21",
      "tree": "bbe891a915e9a55fbf615fa00a2841b5c678e945",
      "parents": [
        "4d55351ef0b07a4d488de6cd698fb98b0ce6e1e0",
        "0b138b26af64ae976c4792f466c27a7293772b8b"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 27 17:25:22 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 17:25:22 2011 -0700"
      },
      "message": "Merge \"Flesh out AllocString\" into dalvik-dev"
    },
    {
      "commit": "0b138b26af64ae976c4792f466c27a7293772b8b",
      "tree": "38f729243e39bff6ac6379f921230f5e8b7b5810",
      "parents": [
        "07d579faa0abc835e8db970ff48b6f79cdc67f8f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 27 15:19:17 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 27 17:24:49 2011 -0700"
      },
      "message": "Flesh out AllocString\n\nChange-Id: Ie8c1170e71374942eafdcb40775ca2df3cf7bbc7\n"
    },
    {
      "commit": "4d55351ef0b07a4d488de6cd698fb98b0ce6e1e0",
      "tree": "b86369cc9fdd4f227509fe74064f302eb607ea68",
      "parents": [
        "07d579faa0abc835e8db970ff48b6f79cdc67f8f",
        "d3c1575f2fe0b17ffc72da0f0fd791b433e8c9a7"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Wed Jul 27 17:06:58 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 17:06:58 2011 -0700"
      },
      "message": "Merge \"Address post review comments regarding ParseClassPath.\" into dalvik-dev"
    },
    {
      "commit": "d3c1575f2fe0b17ffc72da0f0fd791b433e8c9a7",
      "tree": "2249e09bcf74a6141b251cfecf0672af74557a0d",
      "parents": [
        "fc322c72d7a89a6f7a05c8bdc232d780aecd9232"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Wed Jul 27 16:27:22 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Wed Jul 27 16:28:16 2011 -0700"
      },
      "message": "Address post review comments regarding ParseClassPath.\n\nChange-Id: Iffa58395271f6a65c1d939581f8c2711076f036c\n"
    },
    {
      "commit": "07d579faa0abc835e8db970ff48b6f79cdc67f8f",
      "tree": "c9eb830b7df10db705dd6bdd640e8cdd1cf0d28c",
      "parents": [
        "3b58545543cddd62623923ab9a2c294f847dc007"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 27 13:31:51 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 27 13:35:57 2011 -0700"
      },
      "message": "Add NDEBUG build\n\nChange-Id: I81032fb43d6b4919bd264a644062dc31ae564427\n"
    },
    {
      "commit": "3b58545543cddd62623923ab9a2c294f847dc007",
      "tree": "9f7b14bbba4ab8093795bf580e316de1b3927f8b",
      "parents": [
        "fc322c72d7a89a6f7a05c8bdc232d780aecd9232",
        "ae3ac01d7176b42b99bef3c6ae019869c8664426"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 27 12:45:20 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 12:45:20 2011 -0700"
      },
      "message": "Merge \"Expanding ClassLinkerTest/LibCore to cover more Class details - Ensure SetReferenceOffsets is always called - Change Field to use StringPiece instead of const char* - Removed \"shrunk vtable\" logging noise - Fix small bug in Class::Status logging - Rename Field signature to descriptor for clarity - Add Class:IsSynthetic\" into dalvik-dev"
    },
    {
      "commit": "ae3ac01d7176b42b99bef3c6ae019869c8664426",
      "tree": "fa9948fcf3eb725fef4bb3eeeaaa10810e5c03e2",
      "parents": [
        "a40f9bc48afe3a9d38be2fa298fece13ed82ba28"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 27 01:30:28 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 27 09:55:12 2011 -0700"
      },
      "message": "Expanding ClassLinkerTest/LibCore to cover more Class details\n- Ensure SetReferenceOffsets is always called\n- Change Field to use StringPiece instead of const char*\n- Removed \"shrunk vtable\" logging noise\n- Fix small bug in Class::Status logging\n- Rename Field signature to descriptor for clarity\n- Add Class:IsSynthetic\n\nChange-Id: I453f480ad7a87a6a391418684771c92d62f116c9\n"
    },
    {
      "commit": "fc322c72d7a89a6f7a05c8bdc232d780aecd9232",
      "tree": "c27f4b609a09f0fa647bc7307af54f17604d9bd9",
      "parents": [
        "a40f9bc48afe3a9d38be2fa298fece13ed82ba28"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Wed Jul 27 00:20:01 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Wed Jul 27 00:20:01 2011 -0700"
      },
      "message": "Initialize the bootstrap class path from standard sources.\n\nChange-Id: Ib49d21f98fd76504e5d3675fc731261426ca84ed\n"
    },
    {
      "commit": "a40f9bc48afe3a9d38be2fa298fece13ed82ba28",
      "tree": "ee1597be70dc8f064f9c7e86e1eb11670c894129",
      "parents": [
        "3aaddbb438daaaa37419d281d95fbe21e64982a6"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 26 21:26:07 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 26 21:27:40 2011 -0700"
      },
      "message": "Add ObjectArray::CopyOf\n\nAs part of doing this, moved Heap::Alloc* helpers to the corresponding\nclasses in object.h to break heap.h\u003c-\u003eobject.h cycle due to use of\nHeap from ObjectArray::CopyOf (which is templatized and needs to be\ndefined in .h file).\n\nChange-Id: I1870af6e9dc6552820034ead5e20d13ae4da67da\n"
    },
    {
      "commit": "3aaddbb438daaaa37419d281d95fbe21e64982a6",
      "tree": "dee68bf7445582b2beddbaa401c1249fd142c6f7",
      "parents": [
        "4a96b60e45fba4a9d4a2e9c8fc849660eacef684",
        "4acf4646fbbd6c1893cec5bb700d3c7cd09e4a26"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jul 26 19:10:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 26 19:10:35 2011 -0700"
      },
      "message": "Merge \"Clear out the Runtime singleton when destructing a Runtime instance.\" into dalvik-dev"
    },
    {
      "commit": "4acf4646fbbd6c1893cec5bb700d3c7cd09e4a26",
      "tree": "418ede41fe310dcbb43a1b5a4294527a6f1108cd",
      "parents": [
        "2ed144c2b49ae1da6c464d7a1be0062870530802"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jul 26 18:54:13 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jul 26 18:54:13 2011 -0700"
      },
      "message": "Clear out the Runtime singleton when destructing a Runtime instance.\n\nChange-Id: Ib2c4699d997a33b52aeb3c63d54c325cf276faf7\n"
    },
    {
      "commit": "4a96b60e45fba4a9d4a2e9c8fc849660eacef684",
      "tree": "4c48587a07fdafd7438d8b2b34bee3d5a8dfbea2",
      "parents": [
        "2ed144c2b49ae1da6c464d7a1be0062870530802"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 26 16:40:23 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 26 18:50:03 2011 -0700"
      },
      "message": "ClassLinker can now FindClass all libcore classes\n\nSummary:\n- added ClassLinkerTest/LibCore test of finding all libcore classes\n- fixed bug in LinkInterfaceMethods appending mirant methods to vtable_\n- fixed bug in LinkVirtualMethods allocating subclass vtable_\n- fixed mmap bug in MarkStack::Init\n- bumped default (and max) heap sizes to handle ClassLinkerTest/LibCore\n- made ObjectArray a templated class\n- heap allocate Class::vtable_\n- \"mm test-art\" and \"mm test-art-target\" added\n- new is_host_ for use by tests\n\nDetails:\n\n    Added support for \"mm test-art\" and \"mm test-art-target\" in addition to test-art-host\n\tAndroid.mk\n\n    Made ObjectArray a template class for clearer declarations and to\n    remove need the need for down_cast.\n\n\tsrc/object.h\n\tsrc/object_test.cc\n\tsrc/class_linker.cc\n\tsrc/class_linker.h\n\tsrc/dex_cache.cc\n\tsrc/dex_cache.h\n\tsrc/dex_cache_test.cc\n\tsrc/mark_sweep.cc\n\n    Made Class::vtable_ a heap allocated ObjectArray\u003cMethod\u003e\n\n\tsrc/class_linker.cc\n\n    Fix bug in ClassLinker::LinkInterfaceMethods where we were not\n    extending the vtable_ before appending miranda methods.\n\n\tsrc/class_linker.cc\n\n    Changed all uses of DexFile* in ClassLinker to be const\n\n\tsrc/class_linker.cc\n\tsrc/class_linker.h\n\n    Fix bug in ClassLinker::LinkVirtualMethods where we were using\n    NumVirtualMethods vs vtable-\u003eGetLength when determining new max\n    vtable_ length.\n\n\tsrc/class_linker.cc\n\n    New ClassLinkerTest/LibCore that enumerates the libcore dex file\n    and tries to FindClass every descriptor found.\n\n\tsrc/class_linker_test.cc\n\n    Added if_host_ check for host only tests. In the future will use\n    for picking proper location of files, etc. on host vs target.\n\n\tsrc/common_test.h\n\n    Fixed test to use ClassLinker::AllocDexCache\n\n\tsrc/dex_cache_test.cc\n\n    Fixed fooIds comments to foo_ids_\n\n\tsrc/dex_file.h\n\n    Bumped default heap size (and max as well) to make ClassLinkerTest/LibCore run\n\n\tsrc/heap.h\n\n    Fixed bug where we were not using MAP_ANONYMOUS for MarkStack\n    allocation found running ClassLinkerTest/LibCore.\n\n\tsrc/mark_stack.cc\n\nChange-Id: I204e2ec7205210e2b60f5b81d126ab6e1da5a71c\n"
    },
    {
      "commit": "2ed144c2b49ae1da6c464d7a1be0062870530802",
      "tree": "2cd7472e610494129bcfd0b65744b81030dd4f2f",
      "parents": [
        "27012039a909f8769e4a90200921db8f0fd0396e"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jul 26 16:52:08 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jul 26 16:52:08 2011 -0700"
      },
      "message": "Preliminary implementation of the JNI invocation interface.\n\nChange-Id: Ib144cb887864cd232a8cb8167b20d1540829a6a5\n"
    }
  ],
  "next": "27012039a909f8769e4a90200921db8f0fd0396e"
}
