)]}'
{
  "log": [
    {
      "commit": "17057b15cb8d8da97b2bc28fd38bdcc7a34e846e",
      "tree": "68112562cc3bece94ac075c918bdb1f91bce96ee",
      "parents": [
        "c5f40bf576e2acc148366b84a22842f321290aab"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 03 10:22:39 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 03 10:22:39 2012 -0700"
      },
      "message": "Fix shutdown when the current thread has been manually detached.\n\nChange-Id: I76990a88c31ff671c13e1e1a90710749911d185c\n"
    },
    {
      "commit": "c5f40bf576e2acc148366b84a22842f321290aab",
      "tree": "0ccef16d857e1a9fe761862ae051bb7ba265a8cc",
      "parents": [
        "7346245fc3bc37ae119007f16adbb7e7f0b59505",
        "b907a3f7b02aef76bb6d294bb16b31339140c063"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 02 16:26:43 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 02 16:26:43 2012 -0700"
      },
      "message": "Merge \"Change the Mac OS 10.5 workaround so it can\u0027t be overridden on the command-line.\" into ics-mr1-plus-art"
    },
    {
      "commit": "7346245fc3bc37ae119007f16adbb7e7f0b59505",
      "tree": "87951836b0702ff3790df74a4e93e18eec90dc62",
      "parents": [
        "3de5ba3674558f867c440512e48a3c0f36cd77d7",
        "e52e49b32f5cf862a414da63e5dbd2eb04ad758e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 02 16:18:00 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 02 16:18:00 2012 -0700"
      },
      "message": "Merge \"Fix the mutex diagnostics, and other targets of opportunity.\" into ics-mr1-plus-art"
    },
    {
      "commit": "b907a3f7b02aef76bb6d294bb16b31339140c063",
      "tree": "df1243305293df12abc2419e48e4977774bf0eb4",
      "parents": [
        "2d62a0e4ae6b528648c585aa804569aaefc4c517"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 02 16:11:36 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 02 16:11:36 2012 -0700"
      },
      "message": "Change the Mac OS 10.5 workaround so it can\u0027t be overridden on the command-line.\n\nChange-Id: I3ad8fd2872cb2ea92a3d6154a395effd7c6fc3ef\n"
    },
    {
      "commit": "e52e49b32f5cf862a414da63e5dbd2eb04ad758e",
      "tree": "582296bc89fcb3ca475260abba8e9b3d6fc2f39d",
      "parents": [
        "2d62a0e4ae6b528648c585aa804569aaefc4c517"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 02 16:05:44 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 02 16:05:44 2012 -0700"
      },
      "message": "Fix the mutex diagnostics, and other targets of opportunity.\n\nThree changes for the price of one:\n\n1. Fix the mutex diagnostics so they work right during startup and shutdown.\n\n2. Fix a memory leak in common_test.\n\n3. Fix memory corruption in the compiler; we were calling memset(3) on a struct\nwith non-POD members.\n\nThanks, as usual, to valgrind(1) for the latter two (and several bugs in\nearlier attempts at the former).\n\nChange-Id: I15e1ffb01e73e4c56a5bbdcaa7233a4b5221e08a\n"
    },
    {
      "commit": "3de5ba3674558f867c440512e48a3c0f36cd77d7",
      "tree": "55e3f63f5adf267a6b6e71ded856f2c8965cf96e",
      "parents": [
        "f8641ce5def8efe641dbc6f9590098764ebcf470"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Mon Apr 02 07:04:40 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Apr 02 15:11:52 2012 -0700"
      },
      "message": "Implement RTTI related runtime support.\n\nFor passing IntMath test.\n\nChange-Id: I1d2a23480c2848e0834f5d2a6169a480e4498631\n"
    },
    {
      "commit": "f8641ce5def8efe641dbc6f9590098764ebcf470",
      "tree": "71404a418fa8ff8fc1df627ea2bd1b5f22fa6277",
      "parents": [
        "2d62a0e4ae6b528648c585aa804569aaefc4c517"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Mon Apr 02 06:40:40 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Apr 02 13:57:10 2012 -0700"
      },
      "message": "Fix the division overflow.\n\nPassing IntMath test.\n\nChange-Id: I807858515a802f2efaa4802460e5f507eb944772\n"
    },
    {
      "commit": "2d62a0e4ae6b528648c585aa804569aaefc4c517",
      "tree": "14a860fb57b6351fd1c16b343c5187d47d5457b9",
      "parents": [
        "d23c5ad21e0b93a50a23d4b92a9e9e0867258083",
        "b08e8a3e32498ef3b03505917c83f28a284bd0a9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 02 10:53:10 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 02 10:53:10 2012 -0700"
      },
      "message": "Merge \"Restrict Mac OS 10.5 devices to 1 dex2oat thread.\" into ics-mr1-plus-art"
    },
    {
      "commit": "b08e8a3e32498ef3b03505917c83f28a284bd0a9",
      "tree": "8b08dd6952d112700bba4b1a46837129603728e0",
      "parents": [
        "2d7021776f10fe666ecd197713bcf88507851c37"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 02 10:51:41 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 02 10:51:41 2012 -0700"
      },
      "message": "Restrict Mac OS 10.5 devices to 1 dex2oat thread.\n\nAlso make extra sure we\u0027ve included the header file that tells us what Mac OS\nversion we\u0027re compiling for.\n\nChange-Id: Ie57f01a325217e638df4e9b90d94b27303149124\n"
    },
    {
      "commit": "d23c5ad21e0b93a50a23d4b92a9e9e0867258083",
      "tree": "1db88ab423f936b356baf66d5ac8e7a622e1cf2a",
      "parents": [
        "5539ad0fe3ac455ac3f8b051f3b4502729f0ba53"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Fri Mar 30 17:46:04 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Apr 02 10:15:02 2012 -0700"
      },
      "message": "Add compiler runtime function list for symbol lookup.\n\nChange-Id: I1eba443f6a66f08bc8692bfef7a9b16815751516\n"
    },
    {
      "commit": "5539ad0fe3ac455ac3f8b051f3b4502729f0ba53",
      "tree": "e5c8527ff74eadca9382dc20eaea28c3419ae591",
      "parents": [
        "2d7021776f10fe666ecd197713bcf88507851c37"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Mon Apr 02 14:36:55 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Apr 02 10:08:35 2012 -0700"
      },
      "message": "Fix SHL, SHR, USHR implementation bug.\n\nChange-Id: I506469f69087759b4ae30fad084f9fe3c559c2d6\n"
    },
    {
      "commit": "2d7021776f10fe666ecd197713bcf88507851c37",
      "tree": "8d96fc0ed8c4896cad579f2057dca4159c495b9d",
      "parents": [
        "3db5285b363553ea81bd8dd88ec448b66cf33d71"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Sun Apr 01 15:15:13 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Apr 01 21:37:16 2012 -0700"
      },
      "message": "Fix the find_catch_block bug in runtime_support_llvm.\n\nChange-Id: I5de06a0103ab37cf457ba9e02890d299e5c1e350\n"
    },
    {
      "commit": "3db5285b363553ea81bd8dd88ec448b66cf33d71",
      "tree": "a077922e6fe93d197dffc5ef196446e12e9fe1e4",
      "parents": [
        "2d7d319eb9161a6520709e33eaaa4fbb038d3019"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Sun Apr 01 15:11:43 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Apr 01 21:35:39 2012 -0700"
      },
      "message": "Don\u0027t check gcmap while using LLVM compiler.\n\nChange-Id: If7b7113e3dd20b42b34cde1267cfe80e9122845b\n"
    },
    {
      "commit": "2d7d319eb9161a6520709e33eaaa4fbb038d3019",
      "tree": "de3f7b161d2fb3df40775d1967bdc9558e6176f9",
      "parents": [
        "700865cde62109a6dcbae3de6ea442af31714467",
        "ee0d3fb2fbd736484fe8c3177a4e965ea86d1c65"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Apr 01 20:34:38 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Apr 01 20:34:38 2012 -0700"
      },
      "message": "Merge \"LLVM doesn\u0027t use Frame.\" into ics-mr1-plus-art"
    },
    {
      "commit": "700865cde62109a6dcbae3de6ea442af31714467",
      "tree": "ce6a555a92888a711e4c6c2f0bfca5a0bc9cd180",
      "parents": [
        "87293d0500a72c098f046cd92695b154452cad9b",
        "f058c0fc5c32b45620d8e3ddc2758faf3be22a2c"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Apr 01 20:34:26 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Apr 01 20:34:26 2012 -0700"
      },
      "message": "Merge \"LLVMLongName should preserve the return type.\" into ics-mr1-plus-art"
    },
    {
      "commit": "87293d0500a72c098f046cd92695b154452cad9b",
      "tree": "e6ef8304ab08edfc06b35daad9d1333819ca820c",
      "parents": [
        "33412de4cd8373c32bfe3bf8818a4920bc62b633"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Apr 01 19:53:04 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Apr 01 19:53:04 2012 -0700"
      },
      "message": "Tracking addition of BaseDexClassLoader.originalLibraryPath\n\nChange-Id: I0210beec91b8a21f2c50d90dbd04b225bc5ecfe0\n"
    },
    {
      "commit": "33412de4cd8373c32bfe3bf8818a4920bc62b633",
      "tree": "af25127e48ec231bc39da9da7492838c824a0255",
      "parents": [
        "f9ce477b6badcd5e6495b28867f9aa865c2a1e42"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Apr 01 16:55:06 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Apr 01 18:46:25 2012 -0700"
      },
      "message": "Add thread entry point offsets to oatdump\n\nChange-Id: I77f66228c31ba9fe84e372ca29c0c63eeaa1bbda\n"
    },
    {
      "commit": "ee0d3fb2fbd736484fe8c3177a4e965ea86d1c65",
      "tree": "ea4c94a803007cb51faca6b520073e95d9f5de1a",
      "parents": [
        "f058c0fc5c32b45620d8e3ddc2758faf3be22a2c"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Sun Apr 01 14:55:33 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Apr 01 18:25:21 2012 -0700"
      },
      "message": "LLVM doesn\u0027t use Frame.\n\nChange-Id: I34200a874739598c33cc8fe17db4f70d29073310\n"
    },
    {
      "commit": "f058c0fc5c32b45620d8e3ddc2758faf3be22a2c",
      "tree": "ceb51c63c7d52dfed56ab016fe72aa3ce60445bb",
      "parents": [
        "a849cb6f32875cf6544274d078e44cf7ca10476f"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Sun Apr 01 07:43:08 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Apr 01 18:23:58 2012 -0700"
      },
      "message": "LLVMLongName should preserve the return type.\n\nChange-Id: I0a247e1428cc8816f535b0621b1c8b40179161a4\n"
    },
    {
      "commit": "f9ce477b6badcd5e6495b28867f9aa865c2a1e42",
      "tree": "39e77cacc5b3cb3c99bfba7eb1faf6269796f6ff",
      "parents": [
        "a849cb6f32875cf6544274d078e44cf7ca10476f",
        "19abfb4f9af450e2ce3a801c5a0c34c4193e3e57"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Apr 01 18:00:10 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Apr 01 18:00:10 2012 -0700"
      },
      "message": "Merge \"Properly pass 64-bit value from art_set32_static_from_code to artGet64StaticFromCode\" into ics-mr1-plus-art"
    },
    {
      "commit": "19abfb4f9af450e2ce3a801c5a0c34c4193e3e57",
      "tree": "a4a34b2b5fd0ad28f323ddf84748ed389bf261a1",
      "parents": [
        "0045a290e6b79a274250e3112880c04bde437d4a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Apr 01 16:58:53 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Apr 01 17:57:36 2012 -0700"
      },
      "message": "Properly pass 64-bit value from art_set32_static_from_code to artGet64StaticFromCode\n\nChange-Id: I0770cc812e72386d2e28cb723ad573663b3e7254\n"
    },
    {
      "commit": "a849cb6f32875cf6544274d078e44cf7ca10476f",
      "tree": "86dc532ed208f498451d6a2e2f06a3840872b246",
      "parents": [
        "0045a290e6b79a274250e3112880c04bde437d4a"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Sun Apr 01 05:59:34 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Apr 01 15:55:33 2012 -0700"
      },
      "message": "Fix compiler_llvm bugs.\n\n2 bugs:\n  The size of new-array should be in the register.\n  LoadConstantString branches to the wrong, opposite label.\n\nChange-Id: Ie6b1fab98e253a2f229d0e81fa3240dc73a1f8d2\n"
    },
    {
      "commit": "0045a290e6b79a274250e3112880c04bde437d4a",
      "tree": "a125d556b6c817218b14f6f3f72079b83d0032c4",
      "parents": [
        "d23f5206cf72ca3fb53ac3049649bb7d018232bf"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Mar 31 21:08:41 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Mar 31 22:38:22 2012 -0700"
      },
      "message": "Avoid a case of eager initialization.\n\nDon\u0027t mark as initialized classes that contain static field\ninitialization.\n\nChange-Id: Iedcabbdf355e8861eb7731650eee1467f68ae0cd\n"
    },
    {
      "commit": "d23f5206cf72ca3fb53ac3049649bb7d018232bf",
      "tree": "24005b3acfa8fb80a6e6d0403ecfe40ec2ceda2d",
      "parents": [
        "c1503430c715f9d71cf4297a186a9a3442f5b9ee"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 19:50:04 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 19:50:04 2012 -0700"
      },
      "message": "Another crack at implementing a usable GetTid() for Mac OS 10.5...\n\nChange-Id: Ic607bc99fa665e81bbbaea1ea0bd1b35f26196ba\n"
    },
    {
      "commit": "c1503430c715f9d71cf4297a186a9a3442f5b9ee",
      "tree": "2835f926b366f23c09d0e09a12df62c77b2c3e8b",
      "parents": [
        "8d524a1bd3cbbe701572b232cf2e690835c95346"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 17:24:47 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 17:24:47 2012 -0700"
      },
      "message": "Remove the native Class.isInstance, and add tests.\n\nChange-Id: I5e669b71e11a6b794e3434e0406d891edd3fe59d\n"
    },
    {
      "commit": "8d524a1bd3cbbe701572b232cf2e690835c95346",
      "tree": "9c3a9c53b9ebb56485a9a7c4d648020dc56dd719",
      "parents": [
        "cf7d3a3b813b8bf08e127abeab67a425c9752f63"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 17:20:10 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 17:20:10 2012 -0700"
      },
      "message": "Keep trying to guess the 10.5 vmmap(1) syntax...\n\nChange-Id: I960e33e0b97e9f7f52b815af3fbed4e2557a5225\n"
    },
    {
      "commit": "cf7d3a3b813b8bf08e127abeab67a425c9752f63",
      "tree": "d6faf1ad1ae70d09455593135663a967534c0722",
      "parents": [
        "16796a1a0a4f7898ec1daaac8fc3a9e10d8f3007",
        "0f3c55331439970e01af67f80ac117c473bc04cf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 15:11:51 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 30 15:11:51 2012 -0700"
      },
      "message": "Merge \"Kill constants.h and fix some copyright headers.\" into ics-mr1-plus-art"
    },
    {
      "commit": "0f3c55331439970e01af67f80ac117c473bc04cf",
      "tree": "cfa28ad2a58af1ffddb0a2ce90443ad4606743c3",
      "parents": [
        "273cf36d199cf73de3cf61a559ad27c9d23f9825"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 14:51:51 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 14:51:51 2012 -0700"
      },
      "message": "Kill constants.h and fix some copyright headers.\n\nChange-Id: I51c04d731d6de035328781d8ac134ad6fcf49897\n"
    },
    {
      "commit": "16796a1a0a4f7898ec1daaac8fc3a9e10d8f3007",
      "tree": "cdc24f07bebc3964fffdc95fc416341b742d6cae",
      "parents": [
        "273cf36d199cf73de3cf61a559ad27c9d23f9825",
        "fead293106bf15bd97c126b81479cb06668de9c8"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Mar 30 14:50:17 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 30 14:50:17 2012 -0700"
      },
      "message": "Merge \"Minor suspend check tweak\" into ics-mr1-plus-art"
    },
    {
      "commit": "273cf36d199cf73de3cf61a559ad27c9d23f9825",
      "tree": "351cced4f439a1151a2d07dcc197960abcd9fb23",
      "parents": [
        "ba7a3ecc0c7342a19951f076474c41d43168f68e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 14:31:04 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 14:31:04 2012 -0700"
      },
      "message": "Keep fighting Mac OS 10.5 because the build servers are obsolete.\n\nChange-Id: I01b51a7dba147327e839c801109ffcc636ae8a4f\n"
    },
    {
      "commit": "fead293106bf15bd97c126b81479cb06668de9c8",
      "tree": "bddc8ea3a26eafe7e5421eaafeb56904ee150f69",
      "parents": [
        "ba7a3ecc0c7342a19951f076474c41d43168f68e"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Mar 30 14:02:01 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Mar 30 14:02:01 2012 -0700"
      },
      "message": "Minor suspend check tweak\n\nRearrange the suspend check branch for unconditional backwards\nbranches.  Now, the conditional branch on rSUSPEND will go directly\nto the target in the common case, and fallthrough to an\nunconditional branch to the suspend launchpad in the uncommon case.\n\nChange-Id: Ie1a2b2fe720efde6e131a8d5274b7487fb644881\n"
    },
    {
      "commit": "ba7a3ecc0c7342a19951f076474c41d43168f68e",
      "tree": "e62902f63d5dee9224d354f69491c060c2100cde",
      "parents": [
        "0a6d59a83a84dbd78b55a7a1a754b2873a1e7a6e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 12:23:49 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 12:23:49 2012 -0700"
      },
      "message": "Try to support obsolete Mac OS 10.5.\n\nvmmap(1)\u0027s -v option was new in 10.6.\n\nChange-Id: I92465e5f0b9d74f9435cc5600881b4f4bce19989\n"
    },
    {
      "commit": "0a6d59a83a84dbd78b55a7a1a754b2873a1e7a6e",
      "tree": "89ee1d2d36fdd0a90e0e018ea7d840a59d52c561",
      "parents": [
        "0c12943976beb08b815b024dd559d3ac636d948c",
        "01e076ec18143f4d46775b53c109e1b5e53d96e1"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Mar 30 12:18:40 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 30 12:18:40 2012 -0700"
      },
      "message": "Merge \"Do not reset SirtRef pointing to a live object\" into ics-mr1-plus-art"
    },
    {
      "commit": "01e076ec18143f4d46775b53c109e1b5e53d96e1",
      "tree": "75cfd810bf53c66961e477abe3d0ffcd14384211",
      "parents": [
        "e77be401064117032b7c4bbad3f897f5c0b23a26"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Mar 30 11:54:16 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Mar 30 11:54:38 2012 -0700"
      },
      "message": "Do not reset SirtRef pointing to a live object\n\nClassLinker::FindClass reset the klass SirtRef to point to the\nexisting Class value. However, the old value was still referenced by\nthe ObjectLock. In the rare case of a two thread resolving the same\nclass at the same time and a garbage collection happening, the\nObjectLock would point to freed memory.\n\nChange-Id: I93dbbfe3e5d7a8922464242270ac90c71a125e47\n"
    },
    {
      "commit": "0c12943976beb08b815b024dd559d3ac636d948c",
      "tree": "cdc4b0f807941835dd415022c914e2c0dab5dd48",
      "parents": [
        "c92653641c1334bc50e52d0f1a04201651ad312e",
        "76ea39eeeff4452372d7fc45b47dfe049f4dd1de"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 11:26:50 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 30 11:26:50 2012 -0700"
      },
      "message": "Merge \"Remove a dead file.\" into ics-mr1-plus-art"
    },
    {
      "commit": "c92653641c1334bc50e52d0f1a04201651ad312e",
      "tree": "fbd60d13cad4a31023a906b10f11553c06ac3813",
      "parents": [
        "c6c317e1ce8167b1e5a6aa293545ce6baaafa4b9",
        "a2e39d9c54a1e35e3f67ee3543bf7039f112d39c"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Mar 30 11:07:52 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 30 11:07:52 2012 -0700"
      },
      "message": "Merge \"Enable the rest of branch fusing\" into ics-mr1-plus-art"
    },
    {
      "commit": "a2e39d9c54a1e35e3f67ee3543bf7039f112d39c",
      "tree": "f3c6b31484ca6c119e371935127a8ec3b59c4015",
      "parents": [
        "e103141a78d705f2009b7f98c9a9df201dda63a7"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Mar 30 09:11:45 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Mar 30 09:34:31 2012 -0700"
      },
      "message": "Enable the rest of branch fusing\n\nI mistakenly left most of the branch fusing cases disabled in\nthe previous CL.  This CL turns them all on, along with a fix\nfor the bug I was chasing while disabling them in the first\nplace.\n\nChange-Id: Ia60f7fe5394a5da08ed75bbff39b47ae9497a61c\n"
    },
    {
      "commit": "c6c317e1ce8167b1e5a6aa293545ce6baaafa4b9",
      "tree": "55edd23476866e54d19661dd7560569a4ea94c2d",
      "parents": [
        "16f257075ec7ef2cd4ca13a02e0e6c94b00f8046"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Mar 30 01:41:18 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Mar 30 01:41:18 2012 -0700"
      },
      "message": "Experimental.\n\nChange-Id: Ia9d6294dc7efab535c676be5b032b4dd5aa0c3fd\n"
    },
    {
      "commit": "16f257075ec7ef2cd4ca13a02e0e6c94b00f8046",
      "tree": "8be3daf3ee10f3de28d65a48f0e923bda688990b",
      "parents": [
        "a963e1c5e1f229623cfb74f11e0ccc9325090b08",
        "e77be401064117032b7c4bbad3f897f5c0b23a26"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Mar 30 01:10:45 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 30 01:10:45 2012 -0700"
      },
      "message": "Merge \"More ClassHelper class validation\" into ics-mr1-plus-art"
    },
    {
      "commit": "e77be401064117032b7c4bbad3f897f5c0b23a26",
      "tree": "b00ba26994afbb23a6d22c615153c2a02a3a583e",
      "parents": [
        "93235f7b6ff000c80acf25cc998b853449c68c77"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Mar 30 01:08:38 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Mar 30 01:08:38 2012 -0700"
      },
      "message": "More ClassHelper class validation\n\nChange-Id: Id66d68785b4224c2149bef44c65344c0a60b6a69\n"
    },
    {
      "commit": "a963e1c5e1f229623cfb74f11e0ccc9325090b08",
      "tree": "de5127402636f729b233254d033b40bc299eb9ab",
      "parents": [
        "93235f7b6ff000c80acf25cc998b853449c68c77"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Thu Mar 29 23:28:29 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 29 23:46:30 2012 -0700"
      },
      "message": "Fix \"-O0\" build.\n\nChange-Id: If0558b1a6bf35913d730e274d5819aaacb1fe21f\n"
    },
    {
      "commit": "93235f7b6ff000c80acf25cc998b853449c68c77",
      "tree": "a8f7eb2a38c8e686813ba57b41d8ac4b8ed5ad4a",
      "parents": [
        "b06cdefa11fd5088b8a423beec14d625f33d0205"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Mar 29 22:48:15 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Mar 29 22:48:15 2012 -0700"
      },
      "message": "Dump current klass_ on bad ChangeClass\n\nChange-Id: Idbe55d7e00a4b40993e6382b2bcfbb34ac39cc41\n"
    },
    {
      "commit": "b06cdefa11fd5088b8a423beec14d625f33d0205",
      "tree": "ed2c45d9b134e40df619c6c918cc581c586e21d2",
      "parents": [
        "8aa7efe2532bf52cd804405aca6a662d25129e73",
        "c7fe4e080563a5c1fe7d84781bccecee2ce9392d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Mar 29 21:43:23 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 29 21:43:23 2012 -0700"
      },
      "message": "Merge \"Disassembler support for vcmp.\" into ics-mr1-plus-art"
    },
    {
      "commit": "c7fe4e080563a5c1fe7d84781bccecee2ce9392d",
      "tree": "057f1cbab00d3d4c3faac02aec5fbdc242384f76",
      "parents": [
        "630e77d4648093ce9870c7558d78edea24eab06d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Mar 29 21:36:21 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Mar 29 21:36:21 2012 -0700"
      },
      "message": "Disassembler support for vcmp.\n\nChange-Id: I8600522fe36848a6f5d0c12cff5edfa650a5cbb5\n"
    },
    {
      "commit": "8aa7efe2532bf52cd804405aca6a662d25129e73",
      "tree": "7240572634e80712da053883a8d3b9ca174a307e",
      "parents": [
        "e103141a78d705f2009b7f98c9a9df201dda63a7"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Sun Mar 25 15:52:44 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 29 21:08:22 2012 -0700"
      },
      "message": "Fix exception_test for (USE_LLVM_COMPILER) build.\n\nChange-Id: I562691fe5f6a847e50882126d6004d2aa44b8a86\n"
    },
    {
      "commit": "e103141a78d705f2009b7f98c9a9df201dda63a7",
      "tree": "4262c2954f0b56350b641cde76ff608c08206df7",
      "parents": [
        "878820f34be4b40dc8efbc63314c15c0d409b5fd",
        "b5db3bb5b17f2bb42f3c62408938f4bf939f8a39"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 29 20:19:01 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 29 20:19:01 2012 -0700"
      },
      "message": "Merge \"Include more detail in a few CHECKs.\" into ics-mr1-plus-art"
    },
    {
      "commit": "76ea39eeeff4452372d7fc45b47dfe049f4dd1de",
      "tree": "9532fdc6193915722718480d64e25197ecd7f288",
      "parents": [
        "878820f34be4b40dc8efbc63314c15c0d409b5fd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 29 20:15:39 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 29 20:15:39 2012 -0700"
      },
      "message": "Remove a dead file.\n\nReplaced by \"oat/runtime/x86/runtime_support_x86.S\".\n\nChange-Id: Ifad2fd60fa1cc8db50e5aa4b67132c5bb2db8e8b\n"
    },
    {
      "commit": "b5db3bb5b17f2bb42f3c62408938f4bf939f8a39",
      "tree": "c807681e5c5bab85d858bda8ce31b391131f5740",
      "parents": [
        "630e77d4648093ce9870c7558d78edea24eab06d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 29 20:00:31 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 29 20:00:31 2012 -0700"
      },
      "message": "Include more detail in a few CHECKs.\n\nChange-Id: Ie8142ebb8c353bcbca27708bf662f21018c2c915\n"
    },
    {
      "commit": "878820f34be4b40dc8efbc63314c15c0d409b5fd",
      "tree": "e3cf86dff7528ed740ed855205732393aa6301f7",
      "parents": [
        "630e77d4648093ce9870c7558d78edea24eab06d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 29 20:00:04 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 29 20:00:04 2012 -0700"
      },
      "message": "Fix the Mac build by working around a GCC 4.2 bug.\n\nUgh.\n\nChange-Id: I352d365a9454df7d0c3c71827ece2b687e209b03\n"
    },
    {
      "commit": "630e77d4648093ce9870c7558d78edea24eab06d",
      "tree": "fdab55746260381ee42d63ca023c01524226fa18",
      "parents": [
        "9d86214cbd595cb432c81572bcf3595349b87c99"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 22 19:20:56 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 29 19:18:56 2012 -0700"
      },
      "message": "Move all ARM register dumping to operator\u003c\u003c style.\n\nJust a step towards doing something more useful with \"[r9, #396]\"...\n\nChange-Id: I256865a9a53fafc76e17ea2f952949ce95339ef9\n"
    },
    {
      "commit": "9d86214cbd595cb432c81572bcf3595349b87c99",
      "tree": "199d03ef7763bf4731bef43e90d6bcb082476892",
      "parents": [
        "b0e106502493208b6a7304ab41447a2c73a8bfe0",
        "bfbf0e2e081f6d24502eb294bed4102f8018d404"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 29 19:18:01 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 29 19:18:01 2012 -0700"
      },
      "message": "Merge \"Make the hex dump more generally useful (specifically in CHECKs).\" into ics-mr1-plus-art"
    },
    {
      "commit": "b0e106502493208b6a7304ab41447a2c73a8bfe0",
      "tree": "6c8d61c0f7e372c1cc43e5cf7abd7d833eb13c49",
      "parents": [
        "5dfc15a6c1cb73f2050d658fd4c92895cc7f73d1",
        "b1ab7df793844398c71ee18c2bd60e3bc6484d10"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 29 19:15:39 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 29 19:15:39 2012 -0700"
      },
      "message": "Merge \"Cope with runtime refactoring on the LLVM side.\" into ics-mr1-plus-art"
    },
    {
      "commit": "b1ab7df793844398c71ee18c2bd60e3bc6484d10",
      "tree": "4ec5192960d0fbc70f5703c3001bd37a2ef6e544",
      "parents": [
        "d2d5c2546733b579f8c7f1f8dd37d3bd85478dc8"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 29 13:53:46 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 29 19:07:49 2012 -0700"
      },
      "message": "Cope with runtime refactoring on the LLVM side.\n\nChange-Id: I654e6d0553938a84542a76a996ed6dfd932250b2\n"
    },
    {
      "commit": "5dfc15a6c1cb73f2050d658fd4c92895cc7f73d1",
      "tree": "d8dfc250022d0a37ce67c94b310db66c069436cb",
      "parents": [
        "d2d5c2546733b579f8c7f1f8dd37d3bd85478dc8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 29 18:21:29 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 29 18:21:29 2012 -0700"
      },
      "message": "Remove some debugging output I accidentally left in.\n\nChange-Id: I2716de76102c988bf1bea1e501067054edf2c60b\n"
    },
    {
      "commit": "bfbf0e2e081f6d24502eb294bed4102f8018d404",
      "tree": "5547c52424a0ba804bd4bb85ba91176a14406629",
      "parents": [
        "d2d5c2546733b579f8c7f1f8dd37d3bd85478dc8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 29 18:09:19 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 29 18:09:19 2012 -0700"
      },
      "message": "Make the hex dump more generally useful (specifically in CHECKs).\n\nChange-Id: I78a79f64abc70496e4575f753c44c939a3cbf5fd\n"
    },
    {
      "commit": "d2d5c2546733b579f8c7f1f8dd37d3bd85478dc8",
      "tree": "77b955e78357fff7ae1d238bbe493e91833e0e00",
      "parents": [
        "97f6c2016be61de5b593f383db6c58d0462da439",
        "58cbbc25c91b96f4766c66cefa0a0cf6ba7b1d45"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Mar 29 17:57:06 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 29 17:57:06 2012 -0700"
      },
      "message": "Merge \"Do not use FindOatFileFromOatLocation in DexFile_isDexOptNeeded\" into ics-mr1-plus-art"
    },
    {
      "commit": "58cbbc25c91b96f4766c66cefa0a0cf6ba7b1d45",
      "tree": "ca81d9634ac2443bf3d9484eda1fc03ea73de175",
      "parents": [
        "68aefb06c449df0bd8a34f3491f7594ee3f9dd0b"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Mar 29 17:52:00 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Mar 29 17:52:04 2012 -0700"
      },
      "message": "Do not use FindOatFileFromOatLocation in DexFile_isDexOptNeeded\n\nisDexOptNeeded is trying to sniff out bad files and\nFindOatFileFromOatLocation will register the file on the opened oat\nfile list so later if the same process tries to run code from one of\nthe oats, it will find it already opened and not validate its contents\nare up-to-date. This happens in the special case of the system server\nwhich is responsible for scanning to make sure things are up-to-date\nproactively, but also starts up services using those files.\n\nChange-Id: Ia9b483a46336b46bc1ec22180e60099e74886927\n"
    },
    {
      "commit": "97f6c2016be61de5b593f383db6c58d0462da439",
      "tree": "07a3f10f1a6ade0e6a89522caa1451946189c41d",
      "parents": [
        "787ec205ee545b9c08f4fc6d3823cb43d10083af",
        "84fd693103dddd50b6a18522bfb5eaab0e51b6ec"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Mar 29 17:32:22 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 29 17:32:22 2012 -0700"
      },
      "message": "Merge \"Branch fusing\" into ics-mr1-plus-art"
    },
    {
      "commit": "787ec205ee545b9c08f4fc6d3823cb43d10083af",
      "tree": "3322797e9f33decfe438e62288f6b9b4c622decd",
      "parents": [
        "7cea03edf5f9615cb65af864183f0e8b4d13a79e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 29 17:14:15 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 29 17:14:15 2012 -0700"
      },
      "message": "Rewrite our x86 assembler macros to be portable across Mac OS and Linux.\n\nChange-Id: Ia0fe688c4d80f95e149f179f9ed0852226d32a67\n"
    },
    {
      "commit": "84fd693103dddd50b6a18522bfb5eaab0e51b6ec",
      "tree": "47e3e167fe7b42561b1eafeda2c53329fbad4f58",
      "parents": [
        "7cea03edf5f9615cb65af864183f0e8b4d13a79e"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Mar 29 16:44:16 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Mar 29 16:44:16 2012 -0700"
      },
      "message": "Branch fusing\n\nA belated birthday gift for irogers.  Fuse cmp-long/if-XXz,\ncmp[lg]-[float|double]/if-XXz.\n\nChange-Id: I8fa87f620fcf4e6bcf291bbc7a0ea6c8f5535467\n"
    },
    {
      "commit": "7cea03edf5f9615cb65af864183f0e8b4d13a79e",
      "tree": "63490832357ff498e6cce2f1c2477fd4d754186e",
      "parents": [
        "adc1618800074cc8d85ab28cb21d99a56a960af0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 29 14:02:40 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 29 14:02:40 2012 -0700"
      },
      "message": "Only use Mac-compatible directives in x86 assembler.\n\nChange-Id: I1ac587dca673087c658c775a233f3aa2d1c14203\n"
    },
    {
      "commit": "adc1618800074cc8d85ab28cb21d99a56a960af0",
      "tree": "150a4237e8447e0aafdaee96eb6719df6ed1fe9b",
      "parents": [
        "57b86d47b66322693a070185fadfb43cb9c12eab",
        "5d6d5dc456bc0066979e9593df13c5533347095d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 29 13:23:03 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 29 13:23:03 2012 -0700"
      },
      "message": "Merge \"Try to work around Mac OS 10.5 lossage.\" into ics-mr1-plus-art"
    },
    {
      "commit": "5d6d5dc456bc0066979e9593df13c5533347095d",
      "tree": "9cd7710d1c7b8a3eecab3d78c0fb25cb4f5f695f",
      "parents": [
        "68aefb06c449df0bd8a34f3491f7594ee3f9dd0b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 29 11:59:27 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 29 11:59:27 2012 -0700"
      },
      "message": "Try to work around Mac OS 10.5 lossage.\n\nUntested, since 10.5 is obsolete and the only 10.5 machines I have available\nare the build servers...\n\nChange-Id: Icbd7a052069e0664f0c2dfef3dd755b4435dda0c\n"
    },
    {
      "commit": "57b86d47b66322693a070185fadfb43cb9c12eab",
      "tree": "81d53304a63a660a683917a19f7dd83723a397ad",
      "parents": [
        "68aefb06c449df0bd8a34f3491f7594ee3f9dd0b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Mar 27 16:05:41 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Mar 29 11:51:44 2012 -0700"
      },
      "message": "Refactor runtime support.\n\nChange-Id: Id7470a4105838150d5ceb73ab2c8c83e739660df\n"
    },
    {
      "commit": "68aefb06c449df0bd8a34f3491f7594ee3f9dd0b",
      "tree": "1c6c41eac04cdf437900f0ca672a04de2fbce5b2",
      "parents": [
        "c38a90188f0eb70e896b3cd05b5e6867f0be6a8e",
        "448e93c728b352729afde3c8e95e902c08b1d929"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 28 23:07:30 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 28 23:07:30 2012 -0700"
      },
      "message": "Merge \"Fix dex2oat on the Mac.\" into ics-mr1-plus-art"
    },
    {
      "commit": "448e93c728b352729afde3c8e95e902c08b1d929",
      "tree": "62f1748c09bf8b3e97cf941a3c2cc9afeeceb71b",
      "parents": [
        "f1498437b0d6beb9f4f91980b98cbeb0b5c773ce"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 28 22:30:06 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 28 22:30:06 2012 -0700"
      },
      "message": "Fix dex2oat on the Mac.\n\nWhat did we do before valgrind? _NSGetExecutablePath was responsible for the\nheap corruption. The vmmap(1) parsing was slightly off too.\n\nChange-Id: Id458d99c0f75e70a5c59cfbd785ea2efebfbdfce\n"
    },
    {
      "commit": "c38a90188f0eb70e896b3cd05b5e6867f0be6a8e",
      "tree": "2a25a67643a3f53495ce9800235382839192ebee",
      "parents": [
        "f1498437b0d6beb9f4f91980b98cbeb0b5c773ce"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Mar 27 20:25:58 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Mar 28 20:49:09 2012 -0700"
      },
      "message": "Remove unused static libraries from libart.so.\n\nChange-Id: I72ab607d195278d0753ed613abd323ad57b7dbc2\n"
    },
    {
      "commit": "f1498437b0d6beb9f4f91980b98cbeb0b5c773ce",
      "tree": "99c89626bda53f5c4e6654a467f0494d582064e3",
      "parents": [
        "deaac40ea7e7d3754d917808fcc1aad52d8f52b7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 28 19:34:27 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 28 19:34:27 2012 -0700"
      },
      "message": "Clean up Mutex a little and add the missing pieces for Mac OS.\n\nThis -- as you\u0027d expect, given that we\u0027re fine on bionic and glibc --\ndidn\u0027t find any bugs. But it\u0027s another step towards completeness and\nlets me rule out Mac pthread_mutex_t weirdness as a potential cause of\nour Mac dex2oat crashes.\n\nChange-Id: If3f4aacf8dbc7c7b9fd6b8932bc01616ccf86b47\n"
    },
    {
      "commit": "deaac40ea7e7d3754d917808fcc1aad52d8f52b7",
      "tree": "5bfe9b2b33058e2786de5a75ae0c3f9c3226cf62",
      "parents": [
        "7a967b3d4468ab56bf1b75ebd4d7bf9e6798761b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 27 13:49:44 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 28 19:21:59 2012 -0700"
      },
      "message": "Fix the C++ compilation part of the Mac build.\n\n(cherry picked from commit b755f82c7096aa31d5d11b124bcf5fe14ab35a47)\n\nChange-Id: Icf352a57e6c99409a3153b4163d7cc6d01bd18f0\n"
    },
    {
      "commit": "7a967b3d4468ab56bf1b75ebd4d7bf9e6798761b",
      "tree": "b100ef49346ef43dc301951a3a416a1393eeac1a",
      "parents": [
        "0ce131582cc78d1fcd918620e7da992df93fdff7"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Mar 28 15:23:10 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Mar 28 16:31:49 2012 -0700"
      },
      "message": "Warn if oat file does end with expected extension\n\n(cherry picked from commit 272df23ebb17297b53a60906304a35bc56eebdd9)\n\nChange-Id: If126ee29811546698f2a8f9bb62300c2a9391017\n"
    },
    {
      "commit": "0ce131582cc78d1fcd918620e7da992df93fdff7",
      "tree": "4b3e5d7c0befc3a6ec93661d6f9f3cc25f5ea5ba",
      "parents": [
        "a43e0937c62719a405ce64888892facaead122df"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Mar 27 19:45:50 2012 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Mar 28 11:28:54 2012 -0700"
      },
      "message": "Fix GetUtfLength to add offset to char array data.\n\nGetUtfLength isn\u0027t used by much, so I made ToModifiedUtf8 use it so it\ncan be exercised more. Also added a test to make sure it\u0027s working.\n\nChange-Id: I9d569642aaf2313cc70a2e22f631aec138e2e71b\n"
    },
    {
      "commit": "a43e0937c62719a405ce64888892facaead122df",
      "tree": "8183b6dd0e71ae115317c7e192adc759ea1e1ab4",
      "parents": [
        "6ff0536ba09248eecf9dbcc046c10533ba92a262"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 27 18:35:33 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 27 18:35:33 2012 -0700"
      },
      "message": "Disarm an assertion that exception_test violates.\n\nChange-Id: I2e9079d254a9132ec1c66fe4856e0d4b881a7b5d\n"
    },
    {
      "commit": "6ff0536ba09248eecf9dbcc046c10533ba92a262",
      "tree": "d18ed0d1cd9c1ff19b1fc4e2ef23289e0ce3bdfa",
      "parents": [
        "97df07f9d743978909dca40b44f52a652021f8e9",
        "cf2b2d44070de8a3baa2c19ebf3d8cef2ad7fd5b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 27 17:36:59 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 27 17:36:59 2012 -0700"
      },
      "message": "Merge \"Take responsibility for translating thread states for managed code.\" into ics-mr1-plus-art"
    },
    {
      "commit": "cf2b2d44070de8a3baa2c19ebf3d8cef2ad7fd5b",
      "tree": "88cc67da0f94192c7fa4027bc36bfb138d0e2c50",
      "parents": [
        "04a2967e9f9375cd8395220f306e7b1a0b7d2b11"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 27 17:11:42 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 27 17:36:39 2012 -0700"
      },
      "message": "Take responsibility for translating thread states for managed code.\n\nUsing switch lets the compiler take responsibility for keeping things in sync.\n\nChange-Id: If0b4becd9c84901937a39045e373e0ef0ec48406\n"
    },
    {
      "commit": "97df07f9d743978909dca40b44f52a652021f8e9",
      "tree": "84ab4d762776af5bb7811aeb0f74b52c766f3d60",
      "parents": [
        "04a2967e9f9375cd8395220f306e7b1a0b7d2b11"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Mar 27 16:13:20 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Mar 27 16:17:42 2012 -0700"
      },
      "message": "Fix getter/setter special case codegen\n\nThe special-purpose code generators for simple methods that get\nor set and instance field and then return require that no throws\nare possible.  The previous code incorrectly relied on the first\nargument being a \"this\" pointer, and thus previously null-checked.\nThis did not take into account the possibility of a static method\nwhich happened to pass an object referece as it\u0027s first argument.\n\nThe fix is to avoid making any assumptions, but rather rely\nsolely on the results of the null-check elimination pass which\nwill correctly recoginize the \"this\" case.\n\nChange-Id: Icf001a10a19234cf3f4d87cf1baede93fdf0360c\n"
    },
    {
      "commit": "04a2967e9f9375cd8395220f306e7b1a0b7d2b11",
      "tree": "89e1e40e1bc5d59a3d408e57b281ec55bc18082c",
      "parents": [
        "fc1d9f581592d54cc14240b9909824af38656931"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 27 15:47:01 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 27 15:47:01 2012 -0700"
      },
      "message": "Make sure we\u0027re in runnable in Class.getDeclaredFields, where we may allocate.\n\nChange-Id: I6cb37d9144fb19e903c5687514e74d8ec26438bc\n"
    },
    {
      "commit": "fc1d9f581592d54cc14240b9909824af38656931",
      "tree": "33902925c5334329fbd47c4734962d661240c101",
      "parents": [
        "534da072d3db3beecbd74e5aa23d630d73695f2c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 27 15:45:56 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 27 15:45:56 2012 -0700"
      },
      "message": "Improve a couple of comments.\n\nChange-Id: I8ae145e20dda179fa25ae65183985275e78d371e\n"
    },
    {
      "commit": "534da072d3db3beecbd74e5aa23d630d73695f2c",
      "tree": "7967a15e2a3963d02fd0853e0d3c1941db4c635e",
      "parents": [
        "22869a9026a08b544eca4cefd67386d347e30d2c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 27 15:17:42 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 27 15:17:42 2012 -0700"
      },
      "message": "Reinstate code accidentally removed while moving it from ThreadList to Thread.\n\nChange-Id: I640741a4a64bccb408ac8c053a3538588fa9a8e1\n"
    },
    {
      "commit": "22869a9026a08b544eca4cefd67386d347e30d2c",
      "tree": "814001ed308907e6562516c247658291cc805545",
      "parents": [
        "ab7b9dcbfc4264a0bc4889c3e463ff88a67f6a30"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 27 14:08:24 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 27 14:08:24 2012 -0700"
      },
      "message": "Warn if a thread attaches without a name and blow up if a thread detaches while running.\n\nAlso don\u0027t crash if a thread attaches without a name. Doing so is allowed, even\nif it\u0027s not a good idea.\n\nChange-Id: If5796af689e9221ce21f443023b0d793a8be15b0\n"
    },
    {
      "commit": "ab7b9dcbfc4264a0bc4889c3e463ff88a67f6a30",
      "tree": "bc178657f840f31aeeb5ddf049c63b5091342d0b",
      "parents": [
        "0e6b28ca17396ce3fb6137391b1c30c34fde7fde"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 27 13:16:29 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 27 13:16:29 2012 -0700"
      },
      "message": "Actually track the JNI MonitorEnter/MonitorExit calls.\n\nAlso log if we do end up having to clean up behind a detaching thread.\n\nAlso add a few missing \"static\"s.\n\nChange-Id: I4ba1734b04b9a6dde112f3693a6dd171b42cd69c\n"
    },
    {
      "commit": "0e6b28ca17396ce3fb6137391b1c30c34fde7fde",
      "tree": "c8ebbdb1f6968eef55dacd6e05817d5103f6dd1a",
      "parents": [
        "64277f38032208a0c1081ff9e466c04009b96383",
        "0faf82f6ebd9122c995b620bd51253e6f59515e0"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue Mar 27 00:43:12 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 27 00:43:12 2012 -0700"
      },
      "message": "Merge \"Fix LLVM build linking error.\" into ics-mr1-plus-art"
    },
    {
      "commit": "0faf82f6ebd9122c995b620bd51253e6f59515e0",
      "tree": "9659ed739132b4cf9c07c88353a622087d715db3",
      "parents": [
        "6e41d42f6b7977325a87a125c344c1c9cdf6c949"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Mar 27 15:12:48 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue Mar 27 00:16:19 2012 -0700"
      },
      "message": "Fix LLVM build linking error.\n\nChange-Id: Ia39cb3bd6fc5f52b5bffffd6f1f596813ea1e04b\n"
    },
    {
      "commit": "64277f38032208a0c1081ff9e466c04009b96383",
      "tree": "a7c2e92907584521c1caedbf5e6a798f5984c9e9",
      "parents": [
        "6e41d42f6b7977325a87a125c344c1c9cdf6c949"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Mar 26 23:53:34 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Mar 27 00:03:43 2012 -0700"
      },
      "message": "Additional check to catch BooksTablet monkey issue\n\nChange-Id: I9dfe695b008b2ca23998d2cfb29e5ba04354a029\n"
    },
    {
      "commit": "6e41d42f6b7977325a87a125c344c1c9cdf6c949",
      "tree": "c9263884328b6651db6a6908c1a866f0a32d2ee9",
      "parents": [
        "02f01fedc5180d1d5a795674f8c5bd0a3ce974d2"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Mar 26 23:43:02 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Mar 26 23:43:02 2012 -0700"
      },
      "message": "DO NOT MERGE: Cope with current LLVM in this branch.\n\nChange-Id: Id3dbfb96919bf1dd0e93d45ab18d0e4a06a08b72\n"
    },
    {
      "commit": "02f01fedc5180d1d5a795674f8c5bd0a3ce974d2",
      "tree": "a7984e631466aa39943082a771043b36855a0bde",
      "parents": [
        "b4669208ee02f16c198eb21332701b6a0c5af278"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Mar 26 12:58:11 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Mar 26 21:13:11 2012 -0700"
      },
      "message": "Fix exception_test for (USE_LLVM_COMPILER) build.\n\nFinally tdy\u0027s patch marks the passing of all gtests on host.\n\n(cherry picked from commit daadfea12645ffafefa1c7debe1178ffc0db1148)\n\nChange-Id: I73ad33cba74d728716cee3656cd76b4be6febe1e\n"
    },
    {
      "commit": "b4669208ee02f16c198eb21332701b6a0c5af278",
      "tree": "d8572216565a0daacb49958599e0a95c3b873769",
      "parents": [
        "8e5e9788d636f37d13d6c3f7b4050b18360f3141"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Sat Mar 24 20:21:51 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Mar 26 21:12:42 2012 -0700"
      },
      "message": "Fix space_test for (USE_LLVM_COMPILER) build.\n\nIf we use libcutils, it will link bionic\u0027s dlmalloc. And we will call\nbionic\u0027s init_mparams(). The init_mparams() initializes a \"static\"\nvariable, mparams. So, if we don\u0027t call ART\u0027s copy of init_mparams(), our\nown mparams will not be initialized. Later, when we call\nmspace_set_footprint_limit(), which only exists in ART\u0027s copy of\ndlmalloc, it can not successfully set limit.\n\nThe problematic code path is as follows:\n\nMost recent callee is:\n  art::Runtime::VisitRoots at art/src/runtime.cc:839\n  art::MarkSweep::MarkRoots at art/src/mark_sweep.cc:91\n  art::Heap::CollectGarbageInternal at art/src/heap.cc:581\n\n  art::Heap::AllocateLocked at art/src/heap.cc:465\n  art::Heap::AllocateLocked at art/src/heap.cc:421\n  art::Heap::AllocObject at art/src/heap.cc:281\n  art::Array::Alloc at art/src/object.cc:1252\n  art::PrimitiveArray\u003cunsigned short\u003e::Alloc at art/src/object.cc:1280\n  art::String::Alloc at art/src/object.cc:1392\n  art::String::AllocFromModifiedUtf8 at art/src/object.cc:1380\n  art::String::AllocFromModifiedUtf8 at art/src/object.cc:1375\n  art::InternTable::InternStrong at art/src/intern_table.cc:136\n  art::ClassLinker::AllocDexCache at art/src/class_linker.cc:1042\n  art::ClassLinker::AppendToBootClassPath at art/src/class_linker.cc:1607\n  art::ClassLinker::InitFromCompiler at art/src/class_linker.cc:314\n  art::ClassLinker::CreateFromCompiler at art/src/class_linker.cc:213\n  art::Runtime::Init at art/src/runtime.cc:666\n  art::Runtime::Create at art/src/runtime.cc:495\nwhich is the oldest callee.\n\nThis will happen to (!USE_LLVM_COMPILER) build as well:\nWhen creating runtime.class_linker_, it should allocate DexCache.\nWhen initializing DexCache, it needs to allocate managed Object.\n\nThen, when running (USE_LLVM_COMPILER) build, allocate without growth failed.\nSee space-\u003eAllocWithoutGrowth() at heap.cc:442.\nThen, (USE_LLVM_COMPILER) build will call CollectGarbageInternal, which will call\nthrough Runtime::VisitRoots(). VisitRoots needs class_linker. But at that time,\nwe are still initializing runtime::class_linker_!\n\nIn general, this could be a bug for (!USE_LLVM_COMPILER) build too, when\nwe need to run GC before class_linker_ is initialized.\n\n(cherry picked from commit 8771a2fe9f5892fa4646cf50ae728f54b427356f)\n\nChange-Id: I02b313b4153bb7ff7554aaf3d0dc760c5bdb2087\n"
    },
    {
      "commit": "8e5e9788d636f37d13d6c3f7b4050b18360f3141",
      "tree": "a7256f3cc26ec4959119fc122b45719e58001c26",
      "parents": [
        "42d4d7385578e61333a7da5ddb399ba6944d129c"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat Mar 24 13:18:46 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Mar 26 21:12:15 2012 -0700"
      },
      "message": "Fix dalvik-dev build. Handle the case of no input dex.\n\n(cherry picked from commit a5dd6bef562dd5bafdf84eb0f0a00703218f97b6)\n\nChange-Id: Ia003c972ead98d0affb32f13142ef2d3ba178857\n"
    },
    {
      "commit": "42d4d7385578e61333a7da5ddb399ba6944d129c",
      "tree": "e47ed607e21849a50fa2f86490f8989dcd147d99",
      "parents": [
        "9000a848180a22b202f8a09cefedb4ba731610e8"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Fri Mar 23 19:10:56 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Mar 26 21:11:57 2012 -0700"
      },
      "message": "Fix oat_test for the LLVM route.\n\nLLVM doesn\u0027t use Frame, so we don\u0027t need to check the frame size.\n\nWhile testing the elf reader, We may need to add other checks such as:\nEXPECT_EQ(oat_method.GetElfIndex(), compiled_method-\u003eGetElfIndex());\n\n(cherry picked from commit edec37249f46e11cbfe25eb10a3ab64ee4112b79)\n\nChange-Id: I6b200eb1128ae6e72012d7e683db40ea4764ba6b\n"
    },
    {
      "commit": "9000a848180a22b202f8a09cefedb4ba731610e8",
      "tree": "eeddc328dd917a068240bc771dc31d0aae27451d",
      "parents": [
        "de08e84143f7339d5bad24f252681207abbe0951"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Fri Mar 23 17:43:08 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Mar 26 21:11:37 2012 -0700"
      },
      "message": "Acquire lock for synchronized methods.\n\n(cherry picked from commit f0adce1240dac0939f26188e2ae16e2e3e00d127)\n\nChange-Id: I4aa09b2a334780b52211437f8421c81746fd6496\n"
    },
    {
      "commit": "de08e84143f7339d5bad24f252681207abbe0951",
      "tree": "6a810189c3fb29f24c8e057b5fdfc824012f0b2d",
      "parents": [
        "0cc6ab6c5104f565a0a3256b5b2b31c6383be189"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Wed Mar 21 00:34:12 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Mar 26 21:10:46 2012 -0700"
      },
      "message": "Remove ELF filename argument.\n\nWe are embedding the ELF image in the Oat file.  We don\u0027t\nneed ELF filename anymore.\n\n(cherry picked from commit b245ccacf447b014838535a7d8a58365642f0c3d)\n\nChange-Id: I235429222401100c09381ba44a3978f38d5b499c\n"
    },
    {
      "commit": "0cc6ab6c5104f565a0a3256b5b2b31c6383be189",
      "tree": "cf9d24d85b8111cc7fab59d4ccb52485948111c3",
      "parents": [
        "25ae64082c2583a080b9d0bd005d2efd09e81723"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Mar 20 22:57:52 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Mar 26 21:10:25 2012 -0700"
      },
      "message": "Add ELF extractor to oatdump.\n\n(cherry picked from commit 0228e7eacadb1c829e4e1064bec0792c2696e66f)\n\nChange-Id: I649b14b6f8ec9ba43f82c3670f88b064ac008ada\n"
    },
    {
      "commit": "25ae64082c2583a080b9d0bd005d2efd09e81723",
      "tree": "59a129ce418ff6484f569cac74382b959d978cbd",
      "parents": [
        "df57614aa99801a50202e284ee8e8497d8e92621"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Mar 20 20:19:26 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Mar 26 21:09:55 2012 -0700"
      },
      "message": "Write ELF image to Oat file.\n\n(cherry picked from commit 1c84f1fd7570974bec8660cd17e0118be529afce)\n\nChange-Id: I322579095009a09ab9ad8d2e7d7c309a5530718c\n"
    },
    {
      "commit": "df57614aa99801a50202e284ee8e8497d8e92621",
      "tree": "c58b9f0294f2c4e3d0e5d0517eee2e4d8fad8daa",
      "parents": [
        "0f0899ac8fbaa470922976d058bbb144fb9eea06"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Mar 20 17:36:32 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Mar 26 21:09:36 2012 -0700"
      },
      "message": "Add GetElfImages() method to CompilerLLVM.\n\n(cherry picked from commit 950fc6e6a6b568f0cf511c092bee3d31547dc857)\n\nChange-Id: I1ded5909bae4d87ed05b2c192fcb2362eaa37461\n"
    },
    {
      "commit": "0f0899ac8fbaa470922976d058bbb144fb9eea06",
      "tree": "c89031b21e24111b0a0cde440224104661cf4cf8",
      "parents": [
        "3d6bfca7985c8446db60a2be4e4f03e66167e162"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Fri Mar 23 10:48:18 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Mar 26 21:09:19 2012 -0700"
      },
      "message": "Add ElfImage to hold ELF image address and size.\n\n(cherry picked from commit 578763dc6630156b163933720a85f8d34cbab652)\n\nChange-Id: I76d03130eabb100869ea941c9e4fd92cc9244eeb\n"
    },
    {
      "commit": "3d6bfca7985c8446db60a2be4e4f03e66167e162",
      "tree": "a46c3e90b9e612ed3c6514cf2266a859303d07dc",
      "parents": [
        "5b21308bfa0f4d25a3fd2f5346e51bd66d4722e8"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Thu Mar 22 21:56:46 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Mar 26 21:09:01 2012 -0700"
      },
      "message": "Fix compiler_test for the LLVM route.\n\nStack operation was changed. The LLVM side is fixed accordingly.\n\n(cherry picked from commit 01ec16f67b383284ef386a898938a1fec0a89e29)\n\nChange-Id: I4dc030fd8e611e93e93f3060e38cfe489d10b91f\n"
    },
    {
      "commit": "5b21308bfa0f4d25a3fd2f5346e51bd66d4722e8",
      "tree": "5deea0c751a373d7536dc65510c7f8f9d1642a46",
      "parents": [
        "9b2ba2ee9fafe46a08473657a2387fd20ab49a35"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue Mar 20 04:26:01 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Mar 26 21:08:41 2012 -0700"
      },
      "message": "Implement for AME for the LLVM version. Fix the compiler_test.\n\nAME (Abstract Method Error) processing is different for LLVM version,\nbecause we uses return-style exception handling. We have our LLVM version\nof runtime support in runtime_support_llvm.cc, but we have to share this\none: ThrowAbstractMethodErrorFromCode() because it\u0027s called from the\nstub/assembly code for AME exception. Those tricky assembly code\nshouldn\u0027t be duplicated to 2 versions. Instead, we try to just limit\nto return processing. Only differ in the DeliverException case in\nThrowAbstractMethodErrorFromCode().\n\nI.e., LLVM is using return-style and no need for long-jump delivery.\n\nCompiler_test passes now.\n\n(cherry picked from commit c33262b21ece4072cc229511ba9d878981fc5d3c)\n\nChange-Id: If959d100a9e157cbc3618770f6ff1118dce066f5\n"
    },
    {
      "commit": "9b2ba2ee9fafe46a08473657a2387fd20ab49a35",
      "tree": "fd2fd68fac377d3c342f511f5cc20fdaed94b75c",
      "parents": [
        "31a9933bfe68ef1241c74c6586b3bc259a0244ea"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Mon Mar 19 10:12:32 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Mar 26 21:07:56 2012 -0700"
      },
      "message": "Implement LLVM version of stack walking. Fix Jni_Compiler tests.\n\nThread.cc has many visitors such as CatchBlockStackVisitor and\nReferenceMapVisitor that assume non-LLVM stack layout. LLVM version\u0027s\nexception handling and gc have no use of those. Per Ian\u0027s suggestion,\nthis LLVM CL relies on ShadowFrame to implement stack walking. And\nwe use the same Frame class in LLVM version. Result: The Thread.cc\nruntime is common across LLVM and non-LLVM compilers, except for\nWalkStack utility in Thread.cc.\n\nKey: LLVM\u0027s Frame has its (only) field point to the method* in the\nShadowFrame. With this, we finally pass all the jni_compiler tests.\n\n(cherry picked from commit aa4923361d850f8094a546e84ec18672ebbb19fb)\n\nConflicts:\n\n\tsrc/stack.cc\n\nChange-Id: I77098ee5fa7b16cb7e21c0de667e3d7ca5be256f\n"
    },
    {
      "commit": "31a9933bfe68ef1241c74c6586b3bc259a0244ea",
      "tree": "4eedffbb35e7840ee8e3976b216d0758c4655c39",
      "parents": [
        "f7015fd55a8dc969ac2440ffc829a6b4d942fb5a"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Mon Mar 19 02:58:02 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Mar 26 21:04:42 2012 -0700"
      },
      "message": "Fix GEP \u0026 refactor compiler_llvm::JniCompiler.\n\nThree major changes:\n\n   o Use member offset instead of hard coded constant.\n     We use GetElementPtr before, but it needs the ordinal number of\n     field. If we reorder the members, we need to correct all the\n     constants.\n\n   o Remove the type parameter in the StoreToObjectOffset().\n     LLVM IR is strongly typed, we can get the type by the new_value.\n\n   o Add more comments.\n\n(cherry picked from commit de9069a7768bd60bcdbcfb37d9b245f255ba8570)\n\nChange-Id: I833c0be3177f7b7e5a59ddf6d9d6c06ee1e95ce6\n"
    },
    {
      "commit": "f7015fd55a8dc969ac2440ffc829a6b4d942fb5a",
      "tree": "735c4ba7aed0089c073effd5e530e6f53fcdf720",
      "parents": [
        "106b2a03be66748a25b9019e4c222cee498d559f"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Sun Mar 18 01:19:37 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Mar 26 21:01:20 2012 -0700"
      },
      "message": "Add ELF loader to load the executables.\n\n(cherry picked from commit 8c9ca414a7ed05c3530973c63496e477e9ca5eb7)\n\nConflicts:\n\n\tsrc/compiler.cc\n\nChange-Id: I950749625d5b266990c617e2d8cea688fbdc11fb\n"
    },
    {
      "commit": "106b2a03be66748a25b9019e4c222cee498d559f",
      "tree": "c949a5948b6c4fedba020de206c334dec04b0f10",
      "parents": [
        "aeb53035febaaa186b3abdac55e21579a8988d84"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Sun Mar 18 04:41:38 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Mar 26 20:56:51 2012 -0700"
      },
      "message": "Create an instance of CompilerLLVM in the constructor of Compiler.\n\n(cherry picked from commit 120539c9a333789f52dd75aa3ec2d303c7cf2119)\n\nChange-Id: I43d10f712e515cffd2f97e628a9d2aa2ff994f5b\n"
    }
  ],
  "next": "aeb53035febaaa186b3abdac55e21579a8988d84"
}
