)]}'
{
  "log": [
    {
      "commit": "0399dde18753aa9bd2bd0d7cf60beef154d164a4",
      "tree": "ea88327c01ca321074aaa59b97e4c54348802937",
      "parents": [
        "de5705dcf4ab5f92d48e144bcd7b59f7bcd18e16"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jun 06 17:09:28 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jun 21 22:11:24 2012 -0700"
      },
      "message": "Remove Frame, merge shadow and quick representations.\n\nChange-Id: I5ae03a5e52111792d2df7e83cbd89ab25777844b\n"
    },
    {
      "commit": "de5705dcf4ab5f92d48e144bcd7b59f7bcd18e16",
      "tree": "84873a1749b0d64b5ac570f08c40bb9027b1cc18",
      "parents": [
        "c61a267e98ed1038b74c33c7740414ced4a27d89",
        "06f7987f1013638a172715986e8fce3fe884e47a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 21 15:11:37 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 21 15:11:37 2012 -0700"
      },
      "message": "Merge \"Fix \"holding ThreadListLock while doing condition variable wait on HeapLock\"\" into ics-mr1-plus-art"
    },
    {
      "commit": "06f7987f1013638a172715986e8fce3fe884e47a",
      "tree": "e9bcc1797951616428aba51e1ce472342435657c",
      "parents": [
        "5937e047bd15b3ce48c95e0457e501ab6feb7234"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 21 13:51:52 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 21 15:10:27 2012 -0700"
      },
      "message": "Fix \"holding ThreadListLock while doing condition variable wait on HeapLock\"\n\nNow we release the ThreadListLock if we are going to wait on the heap condition variable in WaitForConcurrentGC.\n\nChange-Id: I506c8ff93f4b79ee74c98b7936a7d155be833b90\n"
    },
    {
      "commit": "c61a267e98ed1038b74c33c7740414ced4a27d89",
      "tree": "48db3cf7fba36f71964f21755f38ebe35c4c21fa",
      "parents": [
        "a21039c3ae2b20e44ceb2735251c04d0aac89afd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 21 14:52:29 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 21 14:52:29 2012 -0700"
      },
      "message": "Use UndoDebuggerSuspensions for JDWP ResumeVM rather than weakening ResumeAll\u0027s checking.\n\nChange-Id: I3ba71fb9e84664f130dd29ba8c13a8e1b6c18e46\n"
    },
    {
      "commit": "a21039c3ae2b20e44ceb2735251c04d0aac89afd",
      "tree": "66b6fa437e7e4286b50bdef224500f9049633701",
      "parents": [
        "3d9d49fa2d025a041f57ea306ea551ef990177db"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 21 12:09:25 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 21 13:04:41 2012 -0700"
      },
      "message": "Fix a bunch more lint.\n\n(If you ignore the compilers, we\u0027ve got relatively little lint now. Fits on\na single screen.)\n\nChange-Id: I51389002894d4fd8cf46f79d2bac57079322a030\n"
    },
    {
      "commit": "3d9d49fa2d025a041f57ea306ea551ef990177db",
      "tree": "d5ffc52c9106a44ed3f71816e5de4cc35bd06c81",
      "parents": [
        "db385708bfcfbd64bdc9cb46fdc0e66344363848",
        "77065fb5116f8c558327e8bfe540e14e965841f0"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Jun 21 11:47:48 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 21 11:47:48 2012 -0700"
      },
      "message": "Merge \"[LLVM] Fix parameter bug in throwing ArrayIndexOutOfBoundsException.\" into ics-mr1-plus-art"
    },
    {
      "commit": "77065fb5116f8c558327e8bfe540e14e965841f0",
      "tree": "6f4abea1f4bd161e4a29a98dbb9b84ceab5b29fb",
      "parents": [
        "713b00e106f6f27142a3273acf496865729c936f"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Jun 21 11:32:19 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Jun 21 11:32:19 2012 -0700"
      },
      "message": "[LLVM] Fix parameter bug in throwing ArrayIndexOutOfBoundsException.\n\nFix bug exposed by 201-built-in-exception-detail-messages.\n\nChange-Id: Id20072db40486302c6fb6ffbe64ab7b0fb2ce85f\n"
    },
    {
      "commit": "5937e047bd15b3ce48c95e0457e501ab6feb7234",
      "tree": "73dbd27330a1720bff179210fff6d260465071f6",
      "parents": [
        "713b00e106f6f27142a3273acf496865729c936f",
        "748474146da0c6484fa3dca0a700f612d47550c3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 21 09:15:02 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 21 09:15:02 2012 -0700"
      },
      "message": "Merge \"Fix a bunch of lint.\" into ics-mr1-plus-art"
    },
    {
      "commit": "748474146da0c6484fa3dca0a700f612d47550c3",
      "tree": "58837d0fa82d4099eb4b82b2fd3d2bbf4294e4aa",
      "parents": [
        "92e3134cd84c134f167175288671a1e6838c908f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 20 18:10:21 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 21 09:14:27 2012 -0700"
      },
      "message": "Fix a bunch of lint.\n\nThere are still about 1800 lint warnings, so don\u0027t get too excited...\n\nChange-Id: I2394bd6e750b94060231378b3a7a88b87f70c757\n"
    },
    {
      "commit": "713b00e106f6f27142a3273acf496865729c936f",
      "tree": "3e0bdd2261b414fbaf7a48ecfd81470899328920",
      "parents": [
        "86738bd3b21cf28f6a64c72e827cc56eddd5269e",
        "c147826c9223a6835bcdbdb3a47af258457de1f0"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Jun 20 22:13:26 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 20 22:13:26 2012 -0700"
      },
      "message": "Merge \"Save R9 when up-call.\" into ics-mr1-plus-art"
    },
    {
      "commit": "c147826c9223a6835bcdbdb3a47af258457de1f0",
      "tree": "5e2836908ad00274f1db7aa3369599af3069c744",
      "parents": [
        "92e3134cd84c134f167175288671a1e6838c908f"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Wed Jun 20 20:22:27 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Jun 20 22:12:21 2012 -0700"
      },
      "message": "Save R9 when up-call.\n\nThanks to Ian who found this bug. This change can also fix a jni_internal_test\non device when we use -O2 instead of -O0.\n\nChange-Id: I38ac829409aeacb120f5b3d239aedcd39ec32e63\n"
    },
    {
      "commit": "86738bd3b21cf28f6a64c72e827cc56eddd5269e",
      "tree": "690e433dd8d2f09c63165103e7c28eff81f743e0",
      "parents": [
        "92e3134cd84c134f167175288671a1e6838c908f",
        "e33c92b3b9c75b7a5c685639d289d6381b2694a9"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Jun 20 21:17:04 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 20 21:17:04 2012 -0700"
      },
      "message": "Merge \"Fix string.compareTo regression\" into ics-mr1-plus-art"
    },
    {
      "commit": "e33c92b3b9c75b7a5c685639d289d6381b2694a9",
      "tree": "0b0d108988fa893131780539ba28ad5c6f2a9166",
      "parents": [
        "83475c208287fe671f12a1c59f914194b2caf1db"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Jun 20 17:45:00 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Jun 20 17:45:00 2012 -0700"
      },
      "message": "Fix string.compareTo regression\n\nThe recent restructuring that fused invokes and their subsequent\nmove-results caused a performance regression in the compareto\nmicrobenchmarks.  The restructuring CL was being a little over conservative\nand disabled detection of special inlined functions when encountering\none who\u0027s subsequent move-result was missing.  The string.compareto\nmicrobenchmarks do a bunch of compareto\u0027s and ignore the result.\n\nIt\u0027s perfectly legal to ignore the return value, and the generaated\ncode handles this case just fine by defaulting back to the special\nreturn registers if not move-result is found.  Remove the check.\n\nChange-Id: Idca9d10404ced4d6b11be6ea00d62ed429345e85\n"
    },
    {
      "commit": "d66f6e410201f92670af02986b30c556537a0fa9",
      "tree": "344e0cc7a6527aeb73ead36d5cb213d948b1db08",
      "parents": [
        "83475c208287fe671f12a1c59f914194b2caf1db",
        "546b986ecd09c2a498740bd8bf7127e612d94755"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 20 16:30:50 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 20 16:30:50 2012 -0700"
      },
      "message": "Merge \"Fix a couple of JDWP bugs.\" into ics-mr1-plus-art"
    },
    {
      "commit": "546b986ecd09c2a498740bd8bf7127e612d94755",
      "tree": "ce2dfd24317d27929ae549202bc3bbe6ec282245",
      "parents": [
        "4d999fe696d43de5872f7be293e8a749cb69beaf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 20 16:06:13 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 20 16:06:13 2012 -0700"
      },
      "message": "Fix a couple of JDWP bugs.\n\nA couple of JDWP tests started failing when we made \"thread suspend\ncount is already zero\" into a fatal error. This patch makes the debugger\na bit more careful about doing silly things (the JDWP protocol defines\nthese silly things as no-ops, and it\u0027s surprisingly easy for an end\nuser to get us into this state; just sit typing \"resume\" at the jdb(1)\nprompt, for example).\n\nI\u0027ve also tidied up GetObjectTag to return an error on failure, but\nthat isn\u0027t the fix to any bug the tests find. (The only remaining JDWP\nbugs are all caused by an inability to cope with register promotion,\nand we\u0027re already working on the proper fix for that.)\n\nChange-Id: I671f62234b5cb41aa9d86c6b947c518d7c068800\n"
    },
    {
      "commit": "83475c208287fe671f12a1c59f914194b2caf1db",
      "tree": "65d1f065aae991d42d10e055c89de4992652db92",
      "parents": [
        "4d999fe696d43de5872f7be293e8a749cb69beaf",
        "ad8f15e0b13383b2eaa2486b230debeae7a55661"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Jun 20 15:14:24 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 20 15:14:24 2012 -0700"
      },
      "message": "Merge \"Milestone: close Quick side channel communication\" into ics-mr1-plus-art"
    },
    {
      "commit": "ad8f15e0b13383b2eaa2486b230debeae7a55661",
      "tree": "0939aa6dee5f24dc4ae21dd2c06db0265d4682ca",
      "parents": [
        "83c26f9c7ee42b0037d2679f6f37dd28a3f13af7"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Jun 18 14:49:45 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Jun 20 15:12:44 2012 -0700"
      },
      "message": "Milestone: close Quick side channel communication\n\nThis CL elminates side-channel communication between the Quick\nCompiler\u0027s Dex-\u003eMIR-\u003eLLVM-IR and LLVM-IR-\u003eLIR lowering stages by clearing\nkey data structures between the two stages.\n\nThe purpose if to flush out any hidden information transfer, and thus\nensure that the GreenlandIR representation of the program is sufficient.\n\nNote that as of this change, we\u0027ve lost all register promotion info\nso the Quick compiler will generate non-promoted code.  A near-future\nCL will restore that info from the MethodInfo intrinsic.\n\nChange-Id: I797845f1fc029bc03aac3ec20f8cd81f917817ca\n"
    },
    {
      "commit": "4d999fe696d43de5872f7be293e8a749cb69beaf",
      "tree": "b330d414822c93be54bbbcf8909fcaa98ccac02e",
      "parents": [
        "6fcce3092040f829afd68862091ce00c7661d8ed",
        "57aba86f29d7e795bf7e68c65cc464d2291b6af1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 20 14:24:41 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 20 14:24:41 2012 -0700"
      },
      "message": "Merge \"Throw OOME if pthread_create(3) fails.\" into ics-mr1-plus-art"
    },
    {
      "commit": "57aba86f29d7e795bf7e68c65cc464d2291b6af1",
      "tree": "6d03848a0d66c686092d03c063298bac6cefa2f2",
      "parents": [
        "72e401c59bce47fdf0274a0d47f0340b05e4f27f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 20 14:00:47 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 20 14:00:47 2012 -0700"
      },
      "message": "Throw OOME if pthread_create(3) fails.\n\nThis is how dalvik behaved, though we offer useful detail messages.\n\nThis patch also fixes a bug where we weren\u0027t actually including detail\nmessages in OOMEs (not just the pre-allocated one).\n\nChange-Id: If6c8f47008a9bd058d9773f2f2e6e9a4f0d843e1\n"
    },
    {
      "commit": "6fcce3092040f829afd68862091ce00c7661d8ed",
      "tree": "438147684436ab04308a6ff01942a1e78304e778",
      "parents": [
        "72e401c59bce47fdf0274a0d47f0340b05e4f27f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 19 16:54:19 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 19 16:54:19 2012 -0700"
      },
      "message": "More tests for detail messages, plus a new one.\n\nThe array-length instruction is likely to encounter nulls.\n\nChange-Id: I628f5f00dfaff9414740e2f7015b9fb3d34a1bc9\n"
    },
    {
      "commit": "56ef042065ce282f8f01a0f31f5cce868a60ede8",
      "tree": "7c80dd6fbfb8ec9444e713ea5503cfc2774c951e",
      "parents": [
        "2461535670016d58be1994d9f76098e905cf2b72"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 19 14:35:04 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 19 14:35:04 2012 -0700"
      },
      "message": "JNI test improvements.\n\nI broke some tests with a last-minute alteration to my previous change,\nand I missed a good suggestion for an extra check.\n\nChange-Id: I9dd19aab033bcec6bc61b35c46b5c740869c373b\n"
    },
    {
      "commit": "2461535670016d58be1994d9f76098e905cf2b72",
      "tree": "c7f70d15b7a6ffc8834e746b4e1a399fbfe13cce",
      "parents": [
        "fc8cface168b09536869976d6b6f4665cffb2369",
        "3f6635a2c84d645002f651c312d53f8348646c1f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 19 14:27:48 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 19 14:27:48 2012 -0700"
      },
      "message": "Merge \"Improve JniAbort (and JNI tests).\" into ics-mr1-plus-art"
    },
    {
      "commit": "3f6635a2c84d645002f651c312d53f8348646c1f",
      "tree": "e46caa5d1199aca6f6b3c1cbd5f0e706606682c3",
      "parents": [
        "c553b95527b78c1fcf9b719a87d8875f71280f71"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 19 13:37:49 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 19 14:26:32 2012 -0700"
      },
      "message": "Improve JniAbort (and JNI tests).\n\nThis has been on my to-do list for a while, but it actually bit people\nin the ass yesterday. This change enables us to write a lot more (and\nbetter) tests, but for now I\u0027ve just improved the tests that already\nexisted.\n\nChange-Id: I04a18656de60b47e5a6b5777204c144209d1448e\n"
    },
    {
      "commit": "fc8cface168b09536869976d6b6f4665cffb2369",
      "tree": "4cf591f8a3eeef0f0d77abac18deb3f56738d110",
      "parents": [
        "c553b95527b78c1fcf9b719a87d8875f71280f71"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 19 11:56:36 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 19 12:50:47 2012 -0700"
      },
      "message": "Add missing WaitForConcurrentGcToComplete calls.\n\nSome calls to WaitForConcurrentGcToComplete were missing. This was enabling recursive GCs to occasionally occur.\n\nChange-Id: I0dcce50ae1ebfb03681990ec3bffa7b227981383\n"
    },
    {
      "commit": "c553b95527b78c1fcf9b719a87d8875f71280f71",
      "tree": "14161d83a8b454f0f9733e8a7ac8d8c95d6dbb40",
      "parents": [
        "672df88dceaedcc2111e3b9aef1deb01885537a8"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Jun 18 23:39:11 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Jun 18 23:39:11 2012 -0700"
      },
      "message": "Fix JNI return type checking on portable path.\n\nChange-Id: I83c259d0b27c06c8f258c71e1536d4bfa50bb0cc\n"
    },
    {
      "commit": "672df88dceaedcc2111e3b9aef1deb01885537a8",
      "tree": "33a267ba536719d802afff47ba143be65a12ebfa",
      "parents": [
        "8eba99a5be208aad6b213fe1f37178e40a6ca070"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Jun 18 21:46:08 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Jun 18 21:49:27 2012 -0700"
      },
      "message": "Fix JNI compiler test for portable path.\n\nChange-Id: Id776bae394a82853dc05223b8978ddbc6cd07e0b\n"
    },
    {
      "commit": "72d63d4bc4387bd636315f16dc81cf4874905569",
      "tree": "9cdd02f5ec55d5799b73342b16bc1d661e7bfb3c",
      "parents": [
        "d9fd368311d26bbffc0fc9411c0d5082af27219d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 18 16:51:20 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 18 16:51:20 2012 -0700"
      },
      "message": "Fix misleading mutex_test.cc comments.\n\nChange-Id: If0ea3c09d61a05fcd2e5bdef31a4f79a07d94a28\n"
    },
    {
      "commit": "814140550e9dee025b0007293d1763518fdd5ef3",
      "tree": "85448ae3b147575daac2a6d096da4f9c5a54c593",
      "parents": [
        "91117af42e3730ec231a898e416bfd954138d8e3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 18 16:43:50 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 18 16:43:50 2012 -0700"
      },
      "message": "Fix mutex_test.cc so it\u0027ll compile with both GCC versions we support.\n\nChange-Id: Ifde47a2413a6a00fe9604519c89400217289884a\n"
    },
    {
      "commit": "91117af42e3730ec231a898e416bfd954138d8e3",
      "tree": "80868073d0f76682c73dabf2f1d7fcad11d259bb",
      "parents": [
        "24edeb5f13c2fe67344cab01cb248b8f94e6faf9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 18 15:46:39 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 18 15:46:39 2012 -0700"
      },
      "message": "Fix build. (dalvik-dev\u0027s GCC is smarter.)\n\nChange-Id: I4b5cbe56878af2e852f9d84ddcf3e296e4814ead\n"
    },
    {
      "commit": "24edeb5f13c2fe67344cab01cb248b8f94e6faf9",
      "tree": "3a2e9ca020df1c218fd2bb0b56d62e40e30d02c6",
      "parents": [
        "99356bda6dcb9d24596fc015b34681d5202b6441"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 18 15:29:46 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 18 15:45:32 2012 -0700"
      },
      "message": "Fix some camelCase.\n\nThese are the files that are mostly right but contain a few\northographic errors.\n\nChange-Id: I2ca1b5fad71c24f911fd55cfc91f7031af66be99\n"
    },
    {
      "commit": "99356bda6dcb9d24596fc015b34681d5202b6441",
      "tree": "4fb26c16ab403300adc1135c6e7b3c4c8387391a",
      "parents": [
        "632c6e13e685f9e0676fcce4b8957d052634af60",
        "069387a60cb2b72e116cc38b32e14403f092df8f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 18 15:22:28 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 18 15:22:28 2012 -0700"
      },
      "message": "Merge \"Enable / disable CMS runtime options.\" into ics-mr1-plus-art"
    },
    {
      "commit": "069387a60cb2b72e116cc38b32e14403f092df8f",
      "tree": "787c123093daa5e79ab8d5c25ed18856dd6d0724",
      "parents": [
        "83c26f9c7ee42b0037d2679f6f37dd28a3f13af7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 18 12:01:01 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 18 15:19:28 2012 -0700"
      },
      "message": "Enable / disable CMS runtime options.\n\nEnable or disable CMS by doing -Xgc:noconcurrent or Xgc:concurrent. Defaults to enabled.\n\nChange-Id: Ib18687ba6aa6534323531d761133ce410c69f426\n"
    },
    {
      "commit": "f8349361a16a4e2796efe9f3586b994e8d4834e4",
      "tree": "0a3474cde4028e1915c59393f49c147dd76ad766",
      "parents": [
        "44335e189951a863607049a33571932fb6a2a841"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 18 15:00:06 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 18 15:16:21 2012 -0700"
      },
      "message": "Use static thread safety analysis when available, and fix the bugs GCC finds.\n\nIt\u0027s impossible to express the Heap locking and the ThreadList locking with\nGCC, but Clang is supposed to be able to do it. This patch does what\u0027s possible\nfor now.\n\nChange-Id: Ib64a890c9d27c6ce255d5003cb755c2ef1beba95\n"
    },
    {
      "commit": "44335e189951a863607049a33571932fb6a2a841",
      "tree": "0d8bfb84cd0830523cc7ec5fd0eabed0770ae6de",
      "parents": [
        "83c26f9c7ee42b0037d2679f6f37dd28a3f13af7"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Jun 18 13:48:25 2012 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Jun 18 14:38:46 2012 -0700"
      },
      "message": "Fix arguments to throw of ArrayIndexOutOfBounds exception.\n\nThe handler expects the array length in the second arg, but x86 was\npassing the array pointer.\n\nChange-Id: I0439b93f70569f3e1aa5ef34b9dfa75062935170\n"
    },
    {
      "commit": "53519bf663e185d40a4cdf8b5af67ba34c725fa7",
      "tree": "7ad63505088353f8e8302d75933a53ff351136e7",
      "parents": [
        "69c27e04a96f037ee0ec0472c103416d4a4d5850"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Jun 17 03:45:00 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Jun 17 03:51:59 2012 -0700"
      },
      "message": "Set Target CPU.\n\nChange-Id: I1d80b87421e353c5f4925aaaec0b8301048cd0a6\n"
    },
    {
      "commit": "69c27e04a96f037ee0ec0472c103416d4a4d5850",
      "tree": "1e678666e6c74ab965d1206d7546f93d5d2ae9bc",
      "parents": [
        "2613de48e04b582f1af90fd567a34253ebe757c4",
        "6969d50c820bd63043940b0e0f0ddc6e6ac763b0"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Jun 16 23:07:10 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jun 16 23:07:10 2012 -0700"
      },
      "message": "Merge \"Invoke support for Quick Compiler\" into ics-mr1-plus-art"
    },
    {
      "commit": "6969d50c820bd63043940b0e0f0ddc6e6ac763b0",
      "tree": "e6e02ddea49c4ad6706931a62172bce9a921d8d0",
      "parents": [
        "e5f01223ae03b89767dc7881d75dca061121ee36"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Jun 15 16:40:31 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Jun 16 14:56:03 2012 -0700"
      },
      "message": "Invoke support for Quick Compiler\n\nFleshed out invoke and const-string support.  Fixed a bug in Phi node\ninsertion.\n\nWith this CL, the \"Recursive Fibonacci\" and \"HelloWorld\" milestones are\nmet.\n\nAdded are a set of \"HL\" (for High-Level) invoke intrinsics.  Until we\ncomplete the merging of the Quick \u0026 Iceland runtime models the invoke\ncode sequences are slightly different.  Thus, the Greenland IR needs\nto represent invokes at a somewhat higher level than Iceland.  The\ntest for fast/slow path needs to happen during the lowering of the\nHLInvokeXXX intrinsics in both the Quick and Portable paths.\n\nThis will generally be the case in the short term - push fast/slow\npath determination below the Greenland IR level.  As unification\nproceeds, we\u0027ll pull as much as makes sense into the common front end.\n\nChange-Id: I0a18edf1be18583c0afdc3f7e10a3e4691968e77\n"
    },
    {
      "commit": "6cf23884730574ca364b357e823259f4993e6908",
      "tree": "50ad618096847b2dfe423ece38246891870c84ce",
      "parents": [
        "cee4d0c1c2faacf0eae748a24cc7e455e067d977"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 15 15:42:07 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 15 15:42:07 2012 -0700"
      },
      "message": "Simplify the default stack size handling.\n\nThe extra 16KB was just silly. We only need a notion of \"default stack size\"\nif there\u0027s an explicit command-line override.\n\nChange-Id: Ia63e00047a420546656ac8d2dad46789994157a3\n"
    },
    {
      "commit": "cee4d0c1c2faacf0eae748a24cc7e455e067d977",
      "tree": "b76b6bad3427bdf1cae95d321fc77845fc4ae6a0",
      "parents": [
        "e5f01223ae03b89767dc7881d75dca061121ee36"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Fri Jun 15 14:42:01 2012 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Fri Jun 15 15:30:37 2012 -0700"
      },
      "message": "Jni compiler should zero extend boolean and char return values.\n\nThis mostly fixes the emulator. It seems like there\u0027s some final issues\nin browser.\n\nChange-Id: I9a82db3c243a0994465106bf21ac6596af5bdf5a\n"
    },
    {
      "commit": "e5f01223ae03b89767dc7881d75dca061121ee36",
      "tree": "67be365994561e90a2adc8e871989a706f070a1d",
      "parents": [
        "dc07f948e2b5e2355a9e26f7e0fd582c3d4cb182"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Jun 14 15:19:35 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Jun 15 11:24:22 2012 -0700"
      },
      "message": "Fixes for invoke/move-result fusing, recursion bug\n\nFix for the Arm move-result fusing - NEW_FILLED_ARRAY wasn\u0027t\nbeing handled properly.  Still keeping x86 disabled.  Replaced\nthe recursive dfs order computation with an iterative version.  Could\nbe improved, but I\u0027ll wait to see if it shows up as an issue during\ncompile-time profiling.\n\nKeeping the old recursive version code in place for a little while until\nwe\u0027re sure the new mechanism computes the exact same orderings.\n\nWith this CL we stop running out of thread stack memory on the 003\nruntest.\n\nChange-Id: Iab80f42135b081a3f49e1ee26a29220e602ae7e8\n"
    },
    {
      "commit": "dc07f948e2b5e2355a9e26f7e0fd582c3d4cb182",
      "tree": "8ce665c16352fed1a15e4e1a168f89a95cf2b39b",
      "parents": [
        "0a1038b0a30a52dff1a449a989825e808a83df80",
        "7de4bbe6019d432456cdac48332b60e44f130777"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Jun 15 08:49:33 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 15 08:49:33 2012 -0700"
      },
      "message": "Merge \"Get llvm performance back.\" into ics-mr1-plus-art"
    },
    {
      "commit": "7de4bbe6019d432456cdac48332b60e44f130777",
      "tree": "8285d2b04ef1be7f22a6d489233f661d0932681c",
      "parents": [
        "1395b1e06c1d0ff5155b0c5d113ad3bd6f163c07"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Jun 15 08:25:48 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Jun 15 08:25:48 2012 -0700"
      },
      "message": "Get llvm performance back.\n\nChange-Id: I2ee32bc26e9cd33a541fc85154634b1d77d5bc16\n"
    },
    {
      "commit": "0a1038b0a30a52dff1a449a989825e808a83df80",
      "tree": "4f4f72efe2d3fa076faf39c2ce084c9de9f5a4fe",
      "parents": [
        "56400fa8913530a6f01bb45723614f08fa44baf1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 14 16:24:17 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 14 16:51:10 2012 -0700"
      },
      "message": "Make tsan happy.\n\ntsan was unhappy with our static Mutex, claiming a race between the constructor\nwriting the \u0027rank_\u0027 field and Mutex::Lock reading it. My understanding of the\nGCC static initialization acquire/release code is that it includes memory\nbarriers that should make this safe, so I\u0027m reaching out to the tsan guys. In\nthe meantime, let\u0027s just make this MethodVerifier lock \u0026 collection like the\nother MethodVerifier locks \u0026 collections.\n\n  WARNING: Possible data race during read of size 4 at 0x1A42F09C: {{{\n   T2 (Compiler Worker) (L{}):\n    #0  art::Mutex::Lock /home/enh/local-disk/clean-dalvik-dev/art/src/mutex.cc:89\n    #1  art::verifier::MethodVerifier::IsClassRejected /usr/local/google/home/enh/clean-dalvik-dev/art/src/mutex.h:77\n    #2  art::Compiler::CompileClass /home/enh/local-disk/clean-dalvik-dev/art/src/compiler.cc:1420\n    #3  art::WorkerThread::Go /home/enh/local-disk/clean-dalvik-dev/art/src/compiler.cc:1013\n  Concurrent write(s) happened at (OR AFTER) these points:\n   T1 (Compiler Worker) (L{}):\n    #0  art::Mutex::Mutex /home/enh/local-disk/clean-dalvik-dev/art/src/mutex.cc:67\n    #1  art::verifier::MethodVerifier::IsClassRejected /home/enh/local-disk/clean-dalvik-dev/art/src/verifier/method_verifier.cc:3334\n    #2  art::Compiler::CompileClass /home/enh/local-disk/clean-dalvik-dev/art/src/compiler.cc:1420\n    #3  art::WorkerThread::Go /home/enh/local-disk/clean-dalvik-dev/art/src/compiler.cc:1013\n  Address 0x1A42F09C is 28 bytes inside data symbol \"_ZZN3art8verifierL22GetRejectedClassesLockEvE21rejected_classes_lock\"\n   Race verifier data: 0x1A198B1E,0x1A198025\n  }}}\n\n(cherry picked from commit 6356df46fb0ebff5467d3103b97c3c871940e402)\n\nChange-Id: I26a9c91f133370161ab4679e36d9a02315d28847\n"
    },
    {
      "commit": "1395b1e06c1d0ff5155b0c5d113ad3bd6f163c07",
      "tree": "65e1aa9f24ac5d4d3469832756b4f92981d40176",
      "parents": [
        "1c678be1960b48a8df82ec2d1f9a0bd4c8f0ea95"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Jun 13 18:05:13 2012 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Jun 14 15:01:01 2012 -0700"
      },
      "message": "Patches to x86 compilation to fix vm tests on emulator.\n\nnot-int and not-long were unimplemented previously.\n\ncmp-long would return the wrong value with Long.MIN_VALUE.\n\nrem-double and rem-float now use a c helper. This is because fprem may\nnot fully compute the result on the first invocation and would need to\nbe looped to completion.\n\nChange-Id: Idf5f6349a63b19d395a3d89434b5b35c430ae3d3\n"
    },
    {
      "commit": "4909ba443f71f62404eb17ce299396655f70dc08",
      "tree": "91d6ee9fe583bdf5d7879e3e9eb4e28af5b522d2",
      "parents": [
        "a6399035ee2af012e2ac898ee7a753a2f83b35ab"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 14 13:33:49 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 14 13:46:04 2012 -0700"
      },
      "message": "Run the verifier single-threaded.\n\nAlso improve crash dumps so the frame numbers are the same as when you\u0027re\nin gdb, and add a more memorably-named environment variable for waiting\nfor gdb.\n\n(cherry picked from commit 5db7ea037e9acad434efe8ab4ce798c513fdb49a)\n\nChange-Id: I428569d84dc5728bcd090919456395be44bdc97b\n"
    },
    {
      "commit": "a6399035ee2af012e2ac898ee7a753a2f83b35ab",
      "tree": "47d90d21e242ec91345e61f3cf118cd1adabe78b",
      "parents": [
        "69362a053e87efe0e3596618f723a90d97551947"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 11 18:49:50 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 14 11:26:06 2012 -0700"
      },
      "message": "Fix and re-enable CMS\n\nFix for CardTable::Scan double length scan which caused occasional assert failures.\nFix for the case where CMS request JNI code caused a GC which freed newest allocated object.\nFix error with is_gc_running_ never being set and deadlock due to CV wait without thread state change.\nFix error where we were Unlocking the heap before doing ResumeAll in CollectGarbageInternal which resulted in a rare race condition.\nFix error where GC could be in progress when the runtime terminated.\n\nChange-Id: I8d243d4dca63170433a63429442788ecb09e55fe\n"
    },
    {
      "commit": "69362a053e87efe0e3596618f723a90d97551947",
      "tree": "e060046fd545ab7d8f486e9bda555d4fabe809cd",
      "parents": [
        "dc56028cab07ad1f303cfcc2e8a848d3323d0a32",
        "45623b86ad048aa2c51c5ffdba0535654bc447c7"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jun 14 11:24:27 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 14 11:24:27 2012 -0700"
      },
      "message": "Merge \"Disable move-result fusing\" into ics-mr1-plus-art"
    },
    {
      "commit": "45623b86ad048aa2c51c5ffdba0535654bc447c7",
      "tree": "b5c0cf210c8ab8c345c30226a5e69d5912fad49f",
      "parents": [
        "f96a92f795bcfc492bd28cffb7784325d28eba45"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Jun 14 11:15:00 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Jun 14 11:21:45 2012 -0700"
      },
      "message": "Disable move-result fusing\n\nWork around bug in invoke/move-result fusing.  With this, runtests 003, 004,\n010 and 044 work again.\n\nChange-Id: Iecf8467434b32a1441635532c02b28756c057c83\n"
    },
    {
      "commit": "dc56028cab07ad1f303cfcc2e8a848d3323d0a32",
      "tree": "a8e0903909bef1d460647f40f559992621414007",
      "parents": [
        "f96a92f795bcfc492bd28cffb7784325d28eba45",
        "02fb9f7d83813805141da741d8fbfc45751741dd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 14 08:40:51 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 14 08:40:51 2012 -0700"
      },
      "message": "Merge \"Flush libcorkscrew\u0027s /proc/self/maps cache before a crash dump.\" into ics-mr1-plus-art"
    },
    {
      "commit": "f96a92f795bcfc492bd28cffb7784325d28eba45",
      "tree": "9d97ba48b4800b18923d2871f91dc678456e1852",
      "parents": [
        "5c599943f8c347acd84c4d9fda56a9df70649b78",
        "52ed776c9b71abbdee7c24119859371549bd3172"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Jun 14 05:51:08 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 14 05:51:08 2012 -0700"
      },
      "message": "Merge \"FP breakage workaround\" into ics-mr1-plus-art"
    },
    {
      "commit": "52ed776c9b71abbdee7c24119859371549bd3172",
      "tree": "99702bcfcd56063a56f15faa0383912096ef2d9f",
      "parents": [
        "3b3dbddcbc7a7bee505a608061304f9b26a91750"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Jun 13 23:43:14 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Jun 13 23:43:14 2012 -0700"
      },
      "message": "FP breakage workaround\n\nThis should get the x86 runtests passing again until I track down\nthe root cause.  The bug is related to the invoke/move_result fusing,\nbut the problem remained after fixing the issue with x86 using a\ndifferent return register for floats.  This CL disables the fusing for\nx86.\n\nChange-Id: Id2b2ebc5ebd4089fe3053d8f077dcadba3466de0\n"
    },
    {
      "commit": "02fb9f7d83813805141da741d8fbfc45751741dd",
      "tree": "3aae602bc4bcf7815042306d2cfa45b295bc118b",
      "parents": [
        "5c599943f8c347acd84c4d9fda56a9df70649b78"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 13 22:22:33 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 13 22:22:33 2012 -0700"
      },
      "message": "Flush libcorkscrew\u0027s /proc/self/maps cache before a crash dump.\n\nChange-Id: I682282b7162312db71b7222d89b4e5592fe1c8a1\n"
    },
    {
      "commit": "5c599943f8c347acd84c4d9fda56a9df70649b78",
      "tree": "b7ecfa967f8108338c6d9d43d3b32ed9f8b07954",
      "parents": [
        "f69ea07d1c83a73fd69d999d5b9633ea95aabc38"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 13 16:45:05 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 13 16:45:05 2012 -0700"
      },
      "message": "Turn parallel compilation back on.\n\nApparently we don\u0027t wind back class statuses any more.\n\nChange-Id: Ice0c743114e62aa805d170aa62f317007b9dbdb4\n"
    },
    {
      "commit": "f69ea07d1c83a73fd69d999d5b9633ea95aabc38",
      "tree": "33390eaaf25620d95cc32538431a9f3d5d141e6f",
      "parents": [
        "3b3dbddcbc7a7bee505a608061304f9b26a91750",
        "95aff770aad557685411775994bf2ec6bb370367"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 13 15:29:47 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 13 15:29:47 2012 -0700"
      },
      "message": "Merge \"Fix ridiculous pc offsets for static symbols in .so files.\" into ics-mr1-plus-art"
    },
    {
      "commit": "95aff770aad557685411775994bf2ec6bb370367",
      "tree": "360add38920eb519830b86859d53cc7afba79c76",
      "parents": [
        "a168c83a1d247094e9efb1244b0f73a5f1e1ed97"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 12 17:44:15 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 13 15:27:51 2012 -0700"
      },
      "message": "Fix ridiculous pc offsets for static symbols in .so files.\n\nExample before:\n\n  static\tart::HandleUnexpectedSignal(int, siginfo*, void*)+4146013245 [0xf75f6fcd] (libartd.so)\n\n...and after:\n\n  static \tart::HandleUnexpectedSignal(int, siginfo*, void*)+1085 [0xf7e9872d] (libartd.so)\n\n(This matches what gdb\u0027s x/1i said.)\n\nChange-Id: I0f1ce29ad09bbe6f1f27aa8ef654e7fab2f2378e\n"
    },
    {
      "commit": "3b3dbddcbc7a7bee505a608061304f9b26a91750",
      "tree": "a8973c0ce937e6f11136804dabdcd14ee2e2e509",
      "parents": [
        "1a5e1e7b3b2340a6ac08c53220900d4044ac3e4c"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Jun 13 13:39:34 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Jun 13 13:51:40 2012 -0700"
      },
      "message": "More Quick compiler mir/bb cleanup\n\nRemoved the references to MIR and BasicBlock from the generator\nfor NEW_ARRAY and the compare/branch.  The previously-introduced\nInvokeInfo structure was sufficient for handling the NEW_ARRAY call,\nso renamed it to cover both.\n\nThis CL should end this round of restructuring.\n\nChange-Id: I9bec6a820589a562eb58f0c9688d27fabe98c064\n"
    },
    {
      "commit": "1a5e1e7b3b2340a6ac08c53220900d4044ac3e4c",
      "tree": "06f0041c4ff4363b1b94d3a4e8133e914fb02fa9",
      "parents": [
        "27cac650c28bb6887b1be85fff3857c77211b294",
        "15bf9804820b73765899e4b3e0d8a1fa15e0dbd3"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Jun 13 11:12:43 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 13 11:12:43 2012 -0700"
      },
      "message": "Merge \"More Quick compiler restructuring\" into ics-mr1-plus-art"
    },
    {
      "commit": "15bf9804820b73765899e4b3e0d8a1fa15e0dbd3",
      "tree": "bcc0a0e3c0037e86041d769c1bde4b9cb9330048",
      "parents": [
        "a168c83a1d247094e9efb1244b0f73a5f1e1ed97"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Jun 12 17:49:27 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Jun 13 10:44:04 2012 -0700"
      },
      "message": "More Quick compiler restructuring\n\nYet another round of compiler restructuring to remove references to\nMIR and BasicBlock structures in the lower levels of code generation.\nEliminating these will make it easer to share code with the\nLLVM-IR -\u003e LIR lowering pass.\n\nThis time I\u0027m focusing on the Invokes and special-cased inlined\nintrinsics.  Note that this CL includes a somewhat subtle difference\nin handling MOVE_RETURNs following an INVOKE.  Previously, we fused\nINVOKEs and MOVE_RETURNs for inlined intrinsics.  To simplify the\nworld, we\u0027re now fusing all INVOKE/MOVE_RETURN pairs (though it shouldn\u0027t\nimpact the codegen non-inlined invokes.\n\nChanges in latest patch set: Two of the old intrinsic generators\ndid not fuse the following MOVE_RESULT, so the results were dropped\non the floor.  Also, allowed match of MOVE_RESULT_OBJECT (which\npreviously had not been matched because no inline intrisic used it\nas a return value).\n\nChange-Id: I93fec0cd557398ad7b04bdcc0393f27d3644913d\n"
    },
    {
      "commit": "27cac650c28bb6887b1be85fff3857c77211b294",
      "tree": "2af9f4797abcc4a85e9d3c48dca5297cf8765aea",
      "parents": [
        "a168c83a1d247094e9efb1244b0f73a5f1e1ed97"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Jun 12 17:34:50 2012 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Jun 12 17:34:50 2012 -0700"
      },
      "message": "Don\u0027t register oat files with bad checksums.\n\nThis causes the code to use stale oat files when a jar file is\noverwritten.\n\nChange-Id: I66f992a35ad3eb7c3414c05f11623f5ad7499b45\n"
    },
    {
      "commit": "a168c83a1d247094e9efb1244b0f73a5f1e1ed97",
      "tree": "d0fb5a91a00227eda6b430fd64f2a1bff5271723",
      "parents": [
        "289be85116aaf7c48413858b5d0448868b4e61f3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 12 15:34:20 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 12 15:34:20 2012 -0700"
      },
      "message": "Convince tsan that the card table isn\u0027t a problem.\n\nAlso move the #include \u003csys/mman.h\u003e into \"mem_map.h\", since it\u0027s\ncurrently not possible to make any use of the latter without the\nformer. If we care about the pollution, we should offer our own\nconstants as part of our API.\n\nChange-Id: I01ec451d23c1d8afb8cb8a6660af8d9723faf5f5\n"
    },
    {
      "commit": "289be85116aaf7c48413858b5d0448868b4e61f3",
      "tree": "b9302aa89850df080b43d0ca0ddb3636463fb22c",
      "parents": [
        "08fcb2591b4e60eee41d0aab92f3bcc36784fa5a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 12 13:57:20 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 12 13:57:20 2012 -0700"
      },
      "message": "Include the crashing thread\u0027s name in crash dumps.\n\nChange-Id: I7fd821e3f390fde3a7280689292373d413218893\n"
    },
    {
      "commit": "df7cb93174c4b06992a528461894f95e878a18d2",
      "tree": "7e0036c697e3b69dc05ef5636c3eec10a42be819",
      "parents": [
        "eb02a124afcd6869ada475712bca8cbe0de20222",
        "666d9b4706a81a3406b6f3e3e043056b8786abc1"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Jun 12 12:01:05 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 12 12:01:05 2012 -0700"
      },
      "message": "Merge \"Verifier treats unresolved return types as a soft error.\" into ics-mr1-plus-art"
    },
    {
      "commit": "666d9b4706a81a3406b6f3e3e043056b8786abc1",
      "tree": "df67b99845d82398b06a6ed8cc36ecdb39231770",
      "parents": [
        "f421588631bd97023da23d3aaf720cad411c81e4"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Jun 12 11:36:38 2012 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Jun 12 11:59:58 2012 -0700"
      },
      "message": "Verifier treats unresolved return types as a soft error.\n\nIt\u0027s ok for the type of a returned register to be an unresolved class,\neven if the return type derived from the descriptor is resolved, when\nthe descriptor type is a super and the register type is a sub. It\u0027s\nalso ok for both types to be resolved, but it\u0027s not ok for the derived\nreturn type to be unresolved while the register\u0027s type is resolved.\n\nChange-Id: If0ac5ba33ccef61e754382b7d9918deac7f05448\n"
    },
    {
      "commit": "eb02a124afcd6869ada475712bca8cbe0de20222",
      "tree": "2d88c72529f5829f522bb8d75f823c309f59ff75",
      "parents": [
        "f421588631bd97023da23d3aaf720cad411c81e4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 12 11:35:40 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 12 11:39:03 2012 -0700"
      },
      "message": "Use our own \u0027main\u0027 for gtest tests.\n\nThis lets us include the test name in crashes.\n\nChange-Id: Id8ed130589b5bc058bedc835a7fe06bbc6178be5\n"
    },
    {
      "commit": "f421588631bd97023da23d3aaf720cad411c81e4",
      "tree": "f2ef0b2ae77d832bd4316a9bc0e2e422a3e3d186",
      "parents": [
        "fd26e9bdddd9c5fde5fc41104cdcc88cac27cf41",
        "e0447357fa8dece635c213d360cd03160cc2d8a0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 12 09:34:04 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 12 09:34:04 2012 -0700"
      },
      "message": "Merge \"Explain why I gave up optimizing Thread::Current for x86.\" into ics-mr1-plus-art"
    },
    {
      "commit": "fd26e9bdddd9c5fde5fc41104cdcc88cac27cf41",
      "tree": "f8e493f02fcb1d4c289d00e991d02c0973685f7b",
      "parents": [
        "b2e940a5e5fe25ca4c779129652d836e3a6adc67",
        "98eedd82dea1deca32574f16544f5f4439427141"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 12 09:21:40 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 12 09:21:40 2012 -0700"
      },
      "message": "Merge \"Don\u0027t SEGV in the signal handler in a unit test.\" into ics-mr1-plus-art"
    },
    {
      "commit": "b2e940a5e5fe25ca4c779129652d836e3a6adc67",
      "tree": "314165523d4e34e26bddff532a794ffda0de5429",
      "parents": [
        "3bb50b1ce3debd9722e7a7affd5c91025666ccc2"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Mon Jun 11 17:56:10 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Jun 11 20:19:50 2012 -0700"
      },
      "message": "Fix assume_this_non_null.\n\nIf we modify \"this\" register, we can\u0027t assume this will not be null.\n\nChange-Id: Ic4715d892af948e2c0f73de5be9159454ab661d6\n"
    },
    {
      "commit": "3bb50b1ce3debd9722e7a7affd5c91025666ccc2",
      "tree": "f166b44cf0771de3b9fb57e35e1d0db215558916",
      "parents": [
        "036eab43bcf86e6ae5d3558f277b7d6797ff2685",
        "b03f487219e446b0480aabd534fac139513502a4"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Jun 11 19:46:51 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 11 19:46:51 2012 -0700"
      },
      "message": "Merge \"Shadow frame support for MIR-\u003eLLVM-IR conversion\" into ics-mr1-plus-art"
    },
    {
      "commit": "e0447357fa8dece635c213d360cd03160cc2d8a0",
      "tree": "e30eb22979d022cedd99552e8c20d7445a2e2301",
      "parents": [
        "036eab43bcf86e6ae5d3558f277b7d6797ff2685"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 11 18:30:31 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 11 18:30:31 2012 -0700"
      },
      "message": "Explain why I gave up optimizing Thread::Current for x86.\n\nChange-Id: Ib5da37f8363163f60107005ba0e8b10fc4b0ccc0\n"
    },
    {
      "commit": "98eedd82dea1deca32574f16544f5f4439427141",
      "tree": "72ad7bba08b738dafec645c424deafc23fbf1385",
      "parents": [
        "036eab43bcf86e6ae5d3558f277b7d6797ff2685"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 11 17:52:56 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 11 17:52:56 2012 -0700"
      },
      "message": "Don\u0027t SEGV in the signal handler in a unit test.\n\nChange-Id: Id441b096a145c630915c71e06338f33b447b008d\n"
    },
    {
      "commit": "b03f487219e446b0480aabd534fac139513502a4",
      "tree": "701f18e7dd88648f9006be87dea072adbfdcc945",
      "parents": [
        "622a6988351d77da0008142f4ce1ea447d838556"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Jun 11 15:22:11 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Jun 11 15:28:13 2012 -0700"
      },
      "message": "Shadow frame support for MIR-\u003eLLVM-IR conversion\n\nAdded basic shadow stack support.  Minimally tested.\n[Removed some stray debugging LOGs]\n\nChange-Id: Ia27f8383548a5ca8a6fe0aa6543310575c2523ac\n"
    },
    {
      "commit": "036eab43bcf86e6ae5d3558f277b7d6797ff2685",
      "tree": "54ebaa365e0cc6aec8a099ea1bfaf5b91e0d6c89",
      "parents": [
        "6fc5e482151e28d0ad46f64ce62c87de654dec6a",
        "5dbf829faa892eebbc33e2330406955d12c71c5c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 11 14:05:20 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 11 14:05:20 2012 -0700"
      },
      "message": "Merge \"Disable CMS until bug(s) are fixed\" into ics-mr1-plus-art"
    },
    {
      "commit": "5dbf829faa892eebbc33e2330406955d12c71c5c",
      "tree": "d5cbac3117b4bde84f2532d3741e73090a2c1c31",
      "parents": [
        "7664f5cd118b355a5fe0c7536cb48ac991ed2b62"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 11 13:51:41 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 11 14:01:45 2012 -0700"
      },
      "message": "Disable CMS until bug(s) are fixed\n\nCMS causes some check failures during phone bootup and art host tests.\n\nChange-Id: I6c9d4ee6e9d729fca5d631565effbd585e26a3e4\n"
    },
    {
      "commit": "6fc5e482151e28d0ad46f64ce62c87de654dec6a",
      "tree": "beb4e48b4db8f82c4eec7a7f32068cadeebd2c94",
      "parents": [
        "225f5a1df25241babd16cdba54056b9e2cd166a2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 11 12:58:28 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 11 12:58:28 2012 -0700"
      },
      "message": "Help gdb(1) find its way to the right thread.\n\nIt\u0027s more useful to attach to the crashing thread than the main thread.\n\nChange-Id: Ibd8b67579e9e73101d9c56fc11dcead29ce7e7f5\n"
    },
    {
      "commit": "225f5a1df25241babd16cdba54056b9e2cd166a2",
      "tree": "d3846f2f3a97a59124084d8fd503a3238346e66d",
      "parents": [
        "7664f5cd118b355a5fe0c7536cb48ac991ed2b62"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 11 11:23:48 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 11 11:37:58 2012 -0700"
      },
      "message": "Don\u0027t pre-allocate one OOME per thread.\n\nThere\u0027s no associated stack trace, so we can share one between all\nthreads, saving a little memory and thread start-up time. Speaking\nof stack traces: dump the stack to the log at the point where we\nrealize we\u0027re not going to be able to throw an exception with a\nstack, so the developer has _something_ to work with.\n\nChange-Id: I2246d291855bd9b9ee13f2be5b1ce14f669e9410\n"
    },
    {
      "commit": "7664f5cd118b355a5fe0c7536cb48ac991ed2b62",
      "tree": "0564c36316e2aa0a892ff9914258433f14641a07",
      "parents": [
        "9eb5f03e0dd90ac25e01fcf81f832c50a1f09d2c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 08 18:15:32 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 11 11:17:13 2012 -0700"
      },
      "message": "Fix GC performance regression\n\nEnable CMS and fix performance regression due to recursive marking image spaces. Dependent on my java change list.\n\nChange-Id: I4765792aa8226e811ac158f04ab88217db755573\n"
    },
    {
      "commit": "9eb5f03e0dd90ac25e01fcf81f832c50a1f09d2c",
      "tree": "711b2485f69db3c5af915a9442f45e0322ee299d",
      "parents": [
        "622a6988351d77da0008142f4ce1ea447d838556"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Sun Jun 10 11:12:28 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Jun 10 11:13:08 2012 -0700"
      },
      "message": "Fix MethodInfo. Remove unused shadow frame entry.\n\nChange-Id: I140b3640e1b1bd7575dd8134e295409937dbfd4b\n"
    },
    {
      "commit": "622a6988351d77da0008142f4ce1ea447d838556",
      "tree": "4308a9a60d5844ec3106e4d92018eb873e492019",
      "parents": [
        "06db56c39997b1bb1e69a3c5f2ba960dcd13e11a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 08 17:58:54 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 08 17:58:54 2012 -0700"
      },
      "message": "Clean up the hprof implementation a bit.\n\nChange-Id: I9e6622cd5ec10fe8af6553f72095bf3dee00afdd\n"
    },
    {
      "commit": "06db56c39997b1bb1e69a3c5f2ba960dcd13e11a",
      "tree": "1b6107a5b047d0d6fc30c12d4778e3119fb4783c",
      "parents": [
        "a8f93cbea2a094ac76e29d2ed17b8531b0a12cb6",
        "4abb1a9000b525a0636763a97528e24468f16d10"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Fri Jun 08 17:36:14 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 08 17:36:14 2012 -0700"
      },
      "message": "Merge \"Fixes for x86 compilation with floats.\" into ics-mr1-plus-art"
    },
    {
      "commit": "a8f93cbea2a094ac76e29d2ed17b8531b0a12cb6",
      "tree": "198a83a24b05976489114870113ab92dad1244ed",
      "parents": [
        "741c9fab3531a0157e1f51e3fc22466145ba15fa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 08 17:08:48 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 08 17:08:48 2012 -0700"
      },
      "message": "Fix ddms allocation tracking.\n\nThis broke when ClassHelper and MethodHelper started returning pointers\nthat don\u0027t outlast their own lifetimes. Just copy everything (and add\nan assertion that we never fail to find anything in the tables).\n\nChange-Id: Ifcc59a62f325bf3dca8bb5fdd3089cc8431c8957\n"
    },
    {
      "commit": "4abb1a9000b525a0636763a97528e24468f16d10",
      "tree": "c48ab3f5599ad81caa026bbbce380d9df7a3f149",
      "parents": [
        "741c9fab3531a0157e1f51e3fc22466145ba15fa"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Fri Jun 08 17:02:08 2012 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Fri Jun 08 17:02:08 2012 -0700"
      },
      "message": "Fixes for x86 compilation with floats.\n\nCorrected compilation of neg-float and neg-double, as well as other\nfloat and double operations. There was an issue of the destination\noverwriting the second source if they were the same virtual register.\n\nChange-Id: If75e5f74b5609323c7068b68be1b72510a6ac5b1\n"
    },
    {
      "commit": "741c9fab3531a0157e1f51e3fc22466145ba15fa",
      "tree": "1607d821ee40e56dd08fb06be04b6962c26f9af1",
      "parents": [
        "a8454bd4dc137513f3d4d3f69922165804aa7419"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 08 15:51:32 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 08 15:51:32 2012 -0700"
      },
      "message": "Fix ddms heap monitoring.\n\nThe bug was that the struct malloc_chunk \u0027head\u0027 field only contains a\nchunk length if the bottom bits signify that the chunk is actually in\nuse. But rather than fix our logic, we can just call mspace_usable_size.\n\nChange-Id: I10648f0486c19555061d0e4772668528dd8f076b\n"
    },
    {
      "commit": "a8454bd4dc137513f3d4d3f69922165804aa7419",
      "tree": "b2210fd415870f8a999404f90a537b7cf64af95c",
      "parents": [
        "aca651cec3c2482363aefa52debe18847fc9921f",
        "9eebd3b36f1f04c430623d6a2cffff05d80513ba"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 08 14:18:44 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 08 14:18:44 2012 -0700"
      },
      "message": "Merge \"Trim the native heap too, like dalvik did.\" into ics-mr1-plus-art"
    },
    {
      "commit": "9eebd3b36f1f04c430623d6a2cffff05d80513ba",
      "tree": "487a51f0f4e78c385e240ce7722d46d4ca220be9",
      "parents": [
        "a9719eb4167b544438268d46692389761652fc5d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 08 13:56:31 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 08 14:10:51 2012 -0700"
      },
      "message": "Trim the native heap too, like dalvik did.\n\nChange-Id: I240f33937ffe7a3d3df2a66cf5b4ee5296bce16d\n"
    },
    {
      "commit": "aca651cec3c2482363aefa52debe18847fc9921f",
      "tree": "2ca6cef2c91ea749d84e1520f774eb0ca6733750",
      "parents": [
        "2cfc639fc803bf67e3d2a961f2b637220c86d5f7",
        "b5c25fd34cf2cf48238490cb6d311496bd2ba152"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Fri Jun 08 13:03:15 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 08 13:03:15 2012 -0700"
      },
      "message": "Merge \"Verifier treats unresolved references as a rewrite error at runtime.\" into ics-mr1-plus-art"
    },
    {
      "commit": "b5c25fd34cf2cf48238490cb6d311496bd2ba152",
      "tree": "15912793f427a5ea914824996a25b15389fefaa2",
      "parents": [
        "a9719eb4167b544438268d46692389761652fc5d"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Jun 07 17:47:06 2012 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Fri Jun 08 11:26:55 2012 -0700"
      },
      "message": "Verifier treats unresolved references as a rewrite error at runtime.\n\nSetting a register to unresolved at runtime causes a verify error that\nwill prevent it from trying to verify any following instructions. When\nthe instruction is executed, the compiled code will treat the unresolved\nclass appropriately.\n\nThis makes OTP work, and CTS passes as well.\n\nChange-Id: I6a163253b385fd4007032720bb740b09c57e7cf4\n"
    },
    {
      "commit": "2cfc639fc803bf67e3d2a961f2b637220c86d5f7",
      "tree": "dfb184dc35b3a534fcd54a420378f29f30011f3a",
      "parents": [
        "a9719eb4167b544438268d46692389761652fc5d"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon May 07 14:51:40 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Jun 07 16:29:03 2012 -0700"
      },
      "message": "Foundation for Quick LLVM compiler\n\nReady for review - probably better get this cleaned up and\nchecked in even though much work remains.\n\nBasic conversion from MIR to GreenlandIR and from GreenlandIR\nback to LIR.  Support sufficient to run Fibonacci test.\n\nNote some structural changes in MIR to support this work:\n    o  retaining incoming label for phi nodes\n    o  constant propagation\n    o  include object reference detection in type inference pass\n\nChange-Id: I8ba63c73e76d071aa40cae0f744e598b96f68699\n"
    },
    {
      "commit": "7bda15835732b2ce874a093c136ca406d4f20e00",
      "tree": "a29f7656d44ed72b2304147801219a6fcaaef563",
      "parents": [
        "ecd3a6fc6e29d7dc4cb825c5282a8054ac52b8cf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 07 11:00:54 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 07 11:00:54 2012 -0700"
      },
      "message": "Fix the Mac build.\n\nChange-Id: Id46f542ddf6198dc5268bc1109b253308fab5244\n"
    },
    {
      "commit": "ecd3a6fc6e29d7dc4cb825c5282a8054ac52b8cf",
      "tree": "f684b381860df24cfea1414d01bff9a37c054023",
      "parents": [
        "a060ed959efb8d57419edc3c5c1fa48372cc6588"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 06 18:16:37 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 07 10:07:12 2012 -0700"
      },
      "message": "Use libcorkscrew to detect map collisions.\n\nI taught libcorkscrew about Mac OS map info, so we don\u0027t need another\ncopy of the multi-platform map-parsing code.\n\nChange-Id: Iebb4559804d9d8210d00311987171079a7ee0919\n"
    },
    {
      "commit": "a060ed959efb8d57419edc3c5c1fa48372cc6588",
      "tree": "5d40e49f8f9f7cbcf2a1a5be1d800b8ab03d8f21",
      "parents": [
        "b65c9244ff8999fd62aecd86494886c61a50a60c"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Jun 07 09:25:28 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Jun 07 09:32:37 2012 -0700"
      },
      "message": "Fix error meessages in DexFile::ChangePermissions() and mem_map.cc.\n\nChange-Id: I9be999b61b0fca1ab9cad7521346681d2370f1c4\n"
    },
    {
      "commit": "d24e264ff85ad8c6f142ac6d33055fdc1881fa2f",
      "tree": "37e1ba1dd328828205e5c9340ae64eddd915a154",
      "parents": [
        "d06dfe7b09de95c035fa736d2b62aa9fee2347b5"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jun 06 21:21:43 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jun 06 22:57:13 2012 -0700"
      },
      "message": "Fix recursive static field lookup.\n\nChange-Id: I892696e6e98be9f31a7900d10130cae204f9127a\n"
    },
    {
      "commit": "d06dfe7b09de95c035fa736d2b62aa9fee2347b5",
      "tree": "dbb358fe31259a4f56ccf4ae84e24f8a54fea1e3",
      "parents": [
        "61b409cd6bb5990dd33c5c816071e8946d9ba017"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jun 06 22:15:39 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Jun 06 22:24:48 2012 -0700"
      },
      "message": "Add missing llvm ifdef\n\nChange-Id: Ia6cc6a60434c952d3d7e66465913f6f4bc026485\n"
    },
    {
      "commit": "61b409cd6bb5990dd33c5c816071e8946d9ba017",
      "tree": "e644ec30c39fe4223ded35a202023b67b9d37409",
      "parents": [
        "b08ed1255fc34b9f34bcea66cd5e0a292af3d698"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Tue Jun 05 23:54:30 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Jun 06 21:53:49 2012 -0700"
      },
      "message": "After fixing llvm if-conversion, we can reduce stack to 1MB.\n\nChange-Id: Ia5b1995363fa79a14520c6ce54a28465f735463d\n"
    },
    {
      "commit": "b08ed1255fc34b9f34bcea66cd5e0a292af3d698",
      "tree": "ecc865c3f942fe0949ef3d9b0bb3aa585f6e2d61",
      "parents": [
        "7a2a23a44d27f769718e28327af671f4e486c49a"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Tue Jun 05 23:51:19 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Jun 06 21:52:21 2012 -0700"
      },
      "message": "Implement thin-lock fast path for compiler-llvm.\n\nChange-Id: I09d6a0dba4df7cbeb0c0e3f432ab3b09fce0846d\n"
    },
    {
      "commit": "7a2a23a44d27f769718e28327af671f4e486c49a",
      "tree": "345a05da812927dafe13af82a4926257c3b368e9",
      "parents": [
        "95dfa6a8c522ad84a492d88666ea69fe7a3852c5"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Wed Jun 06 11:01:00 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Jun 06 21:22:11 2012 -0700"
      },
      "message": "Cleanup proxy stub compiler code.\n\nChange-Id: I2a5815cc2a38f5cea9e9c36e5e6db92c1a861eaa\n"
    },
    {
      "commit": "95dfa6a8c522ad84a492d88666ea69fe7a3852c5",
      "tree": "8e0d56021463754f2ea55ef53bf03aca49f79a68",
      "parents": [
        "a1beb1f8d37e5a02af12d80e59012f68112b3113"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Fri Jun 01 16:08:02 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Jun 06 21:15:07 2012 -0700"
      },
      "message": "Refine compiler runtime function list.\n\nThis CL includes several changes:\n\n1. Define 3 different compiler runtime function list\n   for different architecture:\n\n   - COMPILER_RUNTIME_FUNC_LIST_ARM\n   - COMPILER_RUNTIME_FUNC_LIST_MIPS\n   - COMPILER_RUNTIME_FUNC_LIST_X86\n\n2. Split MIPS compiler runtime function list from the\n   X86 version.\n\n3. Replace COMPILER_RUNTIME_FUNC_LIST with\n   COMPILER_RUNTIME_FUNC_LIST_NATIVE.  \"Native\" means\n   the host of the runtime.\n\nChange-Id: Ic18b793dd8c153cac4f7bc82dcd07e44576b7f58\n"
    },
    {
      "commit": "a1beb1f8d37e5a02af12d80e59012f68112b3113",
      "tree": "38eee5d1a143ce32530dda291b194c77e0d62989",
      "parents": [
        "fc6c5fde1b7cd0b8f06af2626bf7c597232f478d"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Fri Jun 01 16:03:27 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Jun 06 21:12:48 2012 -0700"
      },
      "message": "Rename CStringComparator to CStringLessThanComparator.\n\nChange-Id: Ie44950ebe5c65cd071238fb504769f71f346c729\n"
    },
    {
      "commit": "fc6c5fde1b7cd0b8f06af2626bf7c597232f478d",
      "tree": "ad195d37d0b2ed82c5f14dee79d1e860e96b78e7",
      "parents": [
        "4cf8f16f737e12625c549f915436b25e2b991289"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Fri Jun 01 16:07:12 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Jun 06 21:09:59 2012 -0700"
      },
      "message": "Add missing object.h to runtime_support_llvm.h\n\nChange-Id: I668cba1edab6d6cb3a39bfb81a87c203c4687bbe\n"
    },
    {
      "commit": "4cf8f16f737e12625c549f915436b25e2b991289",
      "tree": "3ef19bfa503e86628288d764776850787615a464",
      "parents": [
        "66ec3809b83330c62b3f02337f88cae80400fb84",
        "d88fa26892ad5ddebb7ab3407cdc574c54ed8258"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Jun 06 21:02:20 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 06 21:02:20 2012 -0700"
      },
      "message": "Merge \"Add mprotect helper function to MemMap class.\" into ics-mr1-plus-art"
    },
    {
      "commit": "d88fa26892ad5ddebb7ab3407cdc574c54ed8258",
      "tree": "0c99e8b69ed93347908505d4c56b6bf48e4b3e28",
      "parents": [
        "07a062cc9770d0fa8c73f116db4cb15bfba8b7b3"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Wed Jun 06 15:23:32 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Jun 06 21:01:17 2012 -0700"
      },
      "message": "Add mprotect helper function to MemMap class.\n\nChange-Id: I3967b76301d339de987fb8e094adbde4ef18573d\n"
    }
  ],
  "next": "66ec3809b83330c62b3f02337f88cae80400fb84"
}
