)]}'
{
  "log": [
    {
      "commit": "756ee4e090bc1e1812b41fb7b4661df601a32ef9",
      "tree": "b456ca4a582d5e75d20b418ab4c27ed56b46f40d",
      "parents": [
        "eeb9888421b696990f45b89286ad9d0908c70a69"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 03 15:46:12 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 03 18:14:18 2013 -0700"
      },
      "message": "Find OatDexFile by DexFile name and checksum, not just checksum\n\nBug: 10614658\nChange-Id: Ie0b5a34fd396b6299000c37909108c5e7e6ab80f\n"
    },
    {
      "commit": "eeb9888421b696990f45b89286ad9d0908c70a69",
      "tree": "b5f7c891e2e0a4600a781ea723047717afc0fc3f",
      "parents": [
        "7c3d13aebdd8611cae58a1048bffb13cbdc465cb"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 03 15:53:49 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 03 18:13:32 2013 -0700"
      },
      "message": "Use ElfFile instead of dlopen for Quick\n\nBug: 10614658\nChange-Id: I6a7e2cb0960a5d468a55d220c3fafa80bc239fa9\n"
    },
    {
      "commit": "7c3d13aebdd8611cae58a1048bffb13cbdc465cb",
      "tree": "23f2415bb38e77b0d53c1de06c37a133c7b08e51",
      "parents": [
        "f15242943a7a836966cd521e3095a4b731695c71"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Sep 04 17:15:11 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 03 17:00:39 2013 -0700"
      },
      "message": "Use file magic to determine file type, not file extension.\n\nBug: 10614658\nChange-Id: I9156dfca78ac8cd1c62fb258825cc791629270a4\n"
    },
    {
      "commit": "f15242943a7a836966cd521e3095a4b731695c71",
      "tree": "17730ef5f76ddfd361c988ec169520c5ed3758b0",
      "parents": [
        "6f277751ec5bfc0d7469b2cc7f7134e9032593f1",
        "b00309f1aece094de16e0e542cc30cb2e27f2326"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 01 21:32:58 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 01 21:32:59 2013 +0000"
      },
      "message": "Merge \"Fix OatFile leak causing dlopen to return stale OatFile contents\" into klp-dev"
    },
    {
      "commit": "6f277751ec5bfc0d7469b2cc7f7134e9032593f1",
      "tree": "46e76b5a0c7e9fe1a3ac5602d8e37b11aac00d92",
      "parents": [
        "eb1efc4575e93543ed459c7ee5c6c36109e69b5f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Sep 30 17:56:45 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Sep 30 18:16:16 2013 -0700"
      },
      "message": "Make oatdump support image file generated on device\n\nBug: 11012947\nChange-Id: Ic7bce4cbf1c00e219c2d312e85b27b980b1396f2\n"
    },
    {
      "commit": "b00309f1aece094de16e0e542cc30cb2e27f2326",
      "tree": "527686184d3f77ca160efd7b88c4a08eb8ed7fc6",
      "parents": [
        "eb1efc4575e93543ed459c7ee5c6c36109e69b5f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Sep 30 14:23:30 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Sep 30 14:34:41 2013 -0700"
      },
      "message": "Fix OatFile leak causing dlopen to return stale OatFile contents\n\nBug: 10917637\nChange-Id: If6b7bb8dd9c7aa3d870bd43964f31512385c5d39\n"
    },
    {
      "commit": "eb1efc4575e93543ed459c7ee5c6c36109e69b5f",
      "tree": "4966b4609f0dc5ba8921e32aa80331bf0ecd4108",
      "parents": [
        "deb43702e611d6c75b459ea352a00f5d98fc0aa9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 27 10:59:41 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 27 18:04:16 2013 +0000"
      },
      "message": "MIPS fix.\n\nBug 10094803.\nResolution stub needs to set $t9 to ensure the global pointer is calculated\ncorrectly.\nFix copy-paste error in resolution stub in function being invoked.\n\nChange-Id: I330b3052f87f47c10cbde2f7e6b271664185d7b0\n(cherry picked from commit 65d1b22d0b02fb0111f69013163c8170e68392f1)"
    },
    {
      "commit": "deb43702e611d6c75b459ea352a00f5d98fc0aa9",
      "tree": "3a85938cf895bbdf3082eb5cf6a235514818a2ec",
      "parents": [
        "abcf7ae8deba4ee81dec44f3d1a2f0ecaf032859"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Sep 03 19:07:00 2013 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Sep 24 16:26:02 2013 -0700"
      },
      "message": "Fix handling of unresolved references in verifier.\n\nThe verifier should not treat use of unresolved references as a reason to reject\nthe entire class. Instead, the verifier treats the instruction as a throw. If\nthat class is run, the interpreter with extra checks will throw an exception.\n\nBug: 10457426\n\n(cherry picked from commit a3faaf4bece7f42529c013fe87bd41de59798656)\n\nChange-Id: I161bfdbfa116890ffa9e7a593c756229bd939eb4\n"
    },
    {
      "commit": "abcf7ae8deba4ee81dec44f3d1a2f0ecaf032859",
      "tree": "4f8145f8c5ba6cf29e151e88ea31dafb2fecdabb",
      "parents": [
        "cb5f5e53b580023fa2c1d8235c2e9aa1ff67d1dc"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Sep 23 22:19:52 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Sep 23 22:19:52 2013 -0700"
      },
      "message": "Fix overly restrictive assert\n\nFound by 084-class-init on a clean build.\n\nBug: 10750824\nChange-Id: I7cf1ee190cbddbda98132511527eab36c36da523\n"
    },
    {
      "commit": "cb5f5e53b580023fa2c1d8235c2e9aa1ff67d1dc",
      "tree": "90033a1839d51e8b54a095aa896dc9295ccab959",
      "parents": [
        "ee39a10e45a6a0880e8b829525c40d6055818560"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Sep 23 17:48:16 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Sep 23 18:50:52 2013 -0700"
      },
      "message": "Make sure CompilerDriver actually resolves types\n\nBug: 10750824\nChange-Id: Ie61881f24196e851d87822798a7e9abdf9678aa3\n"
    },
    {
      "commit": "ee39a10e45a6a0880e8b829525c40d6055818560",
      "tree": "88cf2b0765ffc8cc96aa2f895254fbf799d0eb40",
      "parents": [
        "7d690ba929a2a02e2b6344749561d49e2c0d55d2"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 19 02:56:49 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Sep 21 22:00:10 2013 -0700"
      },
      "message": "Use class def index from java.lang.Class.\n\nBug: 10244719\nThis removes the computation of the dex file index, when necessary this is\ncomputed by searching the dex file. Its only necessary in\ndalvik.system.DexFile.defineClassNative and DexFile::FindInClassPath, the\nlatter not showing up significantly in profiling with this change.\n\n(cherry-picked from 8b2c0b9abc3f520495f4387ea040132ba85cae69)\nChange-Id: I20c73a3b17d86286428ab0fd21bc13f51f36c85c\n"
    },
    {
      "commit": "7d690ba929a2a02e2b6344749561d49e2c0d55d2",
      "tree": "0bb9e542b9474d5b0a75cc9346de2fafb71812fa",
      "parents": [
        "ded4f4600d61f2a1c1c02b145d14c715e0605d70",
        "c11d9b8870de5f860b13c84003ade7b3f3125a52"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 20 18:02:11 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 20 18:02:12 2013 +0000"
      },
      "message": "Merge \"Re-enable concurrent system weak sweeping.\" into klp-dev"
    },
    {
      "commit": "c11d9b8870de5f860b13c84003ade7b3f3125a52",
      "tree": "89b0250d35a950774f98fa1abfa9cc296c9d85db",
      "parents": [
        "261d3cda32b28782d894be0244e617f78182ee3b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Sep 19 10:01:59 2013 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 20 10:36:49 2013 -0700"
      },
      "message": "Re-enable concurrent system weak sweeping.\n\nEnabled by disallowing new system weaks during the pause and\nre-allowing it after the system weaks have been swept. Reduces\nGC pause by ~1ms.\n\nFixes pause regression caused by fix for\nBug: 10626133\n\nChange-Id: If49d33e7ef19cb728ed3cef5187acfa53b9b05d8\n"
    },
    {
      "commit": "ded4f4600d61f2a1c1c02b145d14c715e0605d70",
      "tree": "a390701662d894d26a97c51f752a7b69c0d377dd",
      "parents": [
        "261d3cda32b28782d894be0244e617f78182ee3b",
        "caacdf326cfe09decfca0a15c62ebe10b774e05e"
      ],
      "author": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Fri Sep 20 00:47:48 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 20 00:47:48 2013 +0000"
      },
      "message": "Merge \"Fix dumpsys meminfo for art\" into klp-dev"
    },
    {
      "commit": "caacdf326cfe09decfca0a15c62ebe10b774e05e",
      "tree": "d1f0fe587a4d19ba613226fdbde8c3b9f87d70b4",
      "parents": [
        "0f72e4136aecaf6976fdb55916bbd7b6d5c9c77b"
      ],
      "author": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Thu Sep 19 17:29:21 2013 -0700"
      },
      "committer": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Thu Sep 19 17:34:13 2013 -0700"
      },
      "message": "Fix dumpsys meminfo for art\n\nBUG:10112253\nChange-Id: I2a34cc0841bdcf922c4ab4eadda360313858a0d6\n"
    },
    {
      "commit": "261d3cda32b28782d894be0244e617f78182ee3b",
      "tree": "4e85dfadf2e0075c46f2d641312954226a1810e8",
      "parents": [
        "0f72e4136aecaf6976fdb55916bbd7b6d5c9c77b",
        "72fcca2477e02da2d3970aefc75465ba1f20ce9c"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Sep 20 00:05:16 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 20 00:05:16 2013 +0000"
      },
      "message": "Merge \"Reconcile differences between zip implementations\" into klp-dev"
    },
    {
      "commit": "72fcca2477e02da2d3970aefc75465ba1f20ce9c",
      "tree": "3ad90394d1483839cdaaf263afd90af95a516813",
      "parents": [
        "ab482f5eff21af748c906857f529a3c17df35964"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 19 09:25:34 2013 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 19 15:49:23 2013 -0700"
      },
      "message": "Reconcile differences between zip implementations\n\nCopy new behavior of ZipFileRO to art\u0027s zip_archive.cc\n\nBug: 10424836\nChange-Id: I0ec81425ab372d0884c684eab299449834c35e82\n"
    },
    {
      "commit": "0f72e4136aecaf6976fdb55916bbd7b6d5c9c77b",
      "tree": "f66e033a77c0e9bfb39bde51305f8d155b2a73a3",
      "parents": [
        "9e452d1d097bc0f29a24e13ced5477fa3c9463f9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 06 16:40:01 2013 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Sep 19 09:47:39 2013 -0700"
      },
      "message": "Improve heap verification.\n\nRe-enabled checking the allocation stack for heap verification.\n\nAdded tracking of recent frees in DlMallocSpace if debug spaces is\nenabled. This is useful when you have heap corruption caused by a\nlive object referencing a recently freed object.\n\nAdded various other sanity checks in the GC.\n\nBug: 10626133\n\nChange-Id: I5ada11966336ae9a06615b16f4b933f05b5d0c32\n"
    },
    {
      "commit": "9e452d1d097bc0f29a24e13ced5477fa3c9463f9",
      "tree": "3386b2ba7a3187bb0cea4cc1a990eb7c4e7578d8",
      "parents": [
        "3c60d13761e245b74f862987b3eae7bd5fdda5f3"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Sep 18 16:35:15 2013 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Sep 18 17:09:42 2013 -0700"
      },
      "message": "Fix system weak sweeping race.\n\nThere was a race related to sweeping the intern table with mutators\nunpaused. The race occurred when an unused intern was seen as not\nreferenced by the GC but another thread attempted to create intern\nthis same string before we swept the system weaks. This caused the\nthread to get a pointer to the stale string which was shortly going\nto be reclaimed.\n\nThe fix moves sweeping the system weaks inside of the pause. This is\na temporary solution since it adds \u003c 1ms of pause time.\n\nBug: 10626133\n\nChange-Id: Ibf669ae5237ddb2ab44a9efd72e207bd06b53147\n"
    },
    {
      "commit": "3c60d13761e245b74f862987b3eae7bd5fdda5f3",
      "tree": "765ee57ad4bad6cf675c315c75e9a206e6ee2e24",
      "parents": [
        "ab482f5eff21af748c906857f529a3c17df35964",
        "b4ea4de2d6b63a3855968f2748878018a27af106"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Sep 18 21:22:09 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 18 21:22:09 2013 +0000"
      },
      "message": "Merge \"Fix soft reference clearing issue.\" into klp-dev"
    },
    {
      "commit": "b4ea4de2d6b63a3855968f2748878018a27af106",
      "tree": "9f27a9eef32d9aa0147abee75fbbd36d1ffe8281",
      "parents": [
        "c4621985bdfc2b27494087e5dee65a6d0cc5a632"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Sep 18 09:58:29 2013 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Sep 18 14:11:30 2013 -0700"
      },
      "message": "Fix soft reference clearing issue.\n\nThere was a bug where we would check that the pending next field was\nnon null before enqueueing up cleared references. This was causing\nreferences to not get queued up during ProcessReferences.\n\nBug: 10626133\n\nChange-Id: Ic1e00e42045092280b4abb3d41f1c58f7adbc3de\n"
    },
    {
      "commit": "ab482f5eff21af748c906857f529a3c17df35964",
      "tree": "dea612debd0e7aa4451d1e74c2e1073fe2fe5783",
      "parents": [
        "c4621985bdfc2b27494087e5dee65a6d0cc5a632",
        "52cd1e8f2f0622a174f883e24151ab873170787f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Sep 18 17:10:43 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 18 17:10:43 2013 +0000"
      },
      "message": "Merge \"Allow traversal into /storage paths.\" into klp-dev"
    },
    {
      "commit": "52cd1e8f2f0622a174f883e24151ab873170787f",
      "tree": "01aab8fb4ccd930e7b11bb353f1d344170f30acf",
      "parents": [
        "5666afd6854b5634ae741dc8a3a633fc47d52168"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 17 16:25:12 2013 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 17 17:21:48 2013 -0700"
      },
      "message": "Allow traversal into /storage paths.\n\nApps are no longer required to have sdcard_r or sdcard_rw to access\nsome parts of external storage.  Relax the mount parameters to allow\neveryone to traverse.\n\nBug: 10577808\nChange-Id: Ife3c6fb18028f7093ff853459c1ca1e0ec7a6d01\n"
    },
    {
      "commit": "c4621985bdfc2b27494087e5dee65a6d0cc5a632",
      "tree": "d8165f5b8d337e73942ee29d66fb40585dc7caf1",
      "parents": [
        "5666afd6854b5634ae741dc8a3a633fc47d52168"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Sep 16 19:43:47 2013 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 17 10:03:00 2013 -0700"
      },
      "message": "Fix race in root marking.\n\nThere was a race which caused the class linker / intern table to not\nbecome dirty after adding a root. We now guard the is dirty flag by\nthe corresponding locks to prevent this from occuring. This was\ncausing roots to be occasionally missed.\n\nAlso fixes the bug where we occasionally scan more cards than\nneeded.\n\nBug: 10626133\n\nChange-Id: I0f6e72d92035ff463954d66988ef610ea0df61be\n"
    },
    {
      "commit": "5666afd6854b5634ae741dc8a3a633fc47d52168",
      "tree": "0260272bc233589d22fb18511b9f15753f58dc26",
      "parents": [
        "6fc9251ae4f34c31351d9d902dd6c6cbc7baba1c"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Sep 14 08:21:05 2013 -0700"
      },
      "committer": {
        "name": "Bill Buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Sep 14 20:56:54 2013 +0000"
      },
      "message": "Timely color fix\n\nSee b/10690000\n\nFor efficiency, the Quick compiler will not flush incoming register\narguments to the frame if their underlying Dalvik virtual registers\nhave been promoted to physical registers.  In this case, though,\nthere was a bug on Arm devices in that an incoming Double was promoted\nto physical floating point registers, but not in a usable form.  The\nentry code generation saw that both halves of the double were promoted,\nbut failed to check if it was in a form usable as a double.\n\nIn this particular case, it meant that subsequent uses of the incoming\nargument referred to the uninitialized home location in the frame,\nresulting in garbage color values.\n\nThat\u0027s the bug.  Another problem is that the incoming double should\nnever have been promoted to an unusable state in the first place - but\nthat\u0027s merely an efficiency issue and will be addressed in another CL.\n\nNote: no good way to generate a regression test for this issue.  The\nbug triggered because of an unusual sequence of events driving register\npromotion that can\u0027t easily (or robustly) be triggered from Java source.\n\nChange-Id: I7242422277193a04376461134dde71e9dec55576\n(cherry picked from commit d0a03b8099347dee6e4bab3af95e14cd5a03b29c)"
    },
    {
      "commit": "6fc9251ae4f34c31351d9d902dd6c6cbc7baba1c",
      "tree": "7c1f7b32093b9837e890ab9a76338c0b5b87a26a",
      "parents": [
        "95848d01adae14c6a9ba433f6789a9462edb8e7d"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Sep 12 17:20:31 2013 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Sep 13 01:43:24 2013 +0000"
      },
      "message": "Make inlined CAS32 loop until store is successful if values match.\n\nThe native implementation of compareAndSwap uses android_atomic_cas,\nwhich will repeat the strex until it succeeds. The compiled version\nwas changed to do the same.\n\nBug: 10530407\nChange-Id: I7efb3f92d0d0610fcc5a885e2c97f1d701b5a4ea\n(cherry picked from commit 2de2aa1a96dfa5bebc004f29b5dbfafd37039cee)"
    },
    {
      "commit": "95848d01adae14c6a9ba433f6789a9462edb8e7d",
      "tree": "e34a34977ed34663798d9aba166e380fbe11046a",
      "parents": [
        "3a0831507637028a439712dedaaddd7cd0893995"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Sep 12 17:13:54 2013 +0000"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Sep 12 17:13:54 2013 +0000"
      },
      "message": "Revert \"Fix CAS intrinsic to clear exclusive if values don\u0027t match.\"\n\nIan is correct. I can still see this bug even with this change.\n\nThis reverts commit 3a0831507637028a439712dedaaddd7cd0893995.\n\nChange-Id: I780f2de926f1ff7576adc679c56a6cf491dad127\n"
    },
    {
      "commit": "3a0831507637028a439712dedaaddd7cd0893995",
      "tree": "bc64f05af01521fb9636b05e564e3ada08fdd033",
      "parents": [
        "226476bd6067864b860b48ed5b88982e131c20d9"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Sep 11 18:04:26 2013 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Sep 12 01:35:24 2013 +0000"
      },
      "message": "Fix CAS intrinsic to clear exclusive if values don\u0027t match.\n\nThe LDREX has a matching STREX if the values match, but it needed\na CLREX for the case where they didn\u0027t.\n\nBug: 10530407\nChange-Id: I46b474cca326a251536e7f214c80486694431386\n(cherry picked from commit 78765e84a3654357a03f84b76985556cf7d9731a)"
    },
    {
      "commit": "226476bd6067864b860b48ed5b88982e131c20d9",
      "tree": "e34a34977ed34663798d9aba166e380fbe11046a",
      "parents": [
        "b8c46fc72d4870bc75c1d3aa3855d6e73ae0400c",
        "3e47a748eb646b8d2fc8e8c4f11b270d9ae2c607"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed Sep 11 07:04:08 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 11 07:04:08 2013 +0000"
      },
      "message": "Merge \"Remove dependency on JNIHelp header side effects.\" into klp-dev"
    },
    {
      "commit": "b8c46fc72d4870bc75c1d3aa3855d6e73ae0400c",
      "tree": "f3485c0318033947e842aad12070279b77a620f9",
      "parents": [
        "08f2e7b59fab9df108d3d91e6eeb4bbccbb325d1"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 10 18:28:10 2013 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 10 18:28:10 2013 -0700"
      },
      "message": "Remove OBB bind mounts, now provided by FUSE.\n\nThe OBB storage area is now presented on a per-user basis by the FUSE\ndaemon, so we no longer need to create bind mounts.  (In fact, we\nmust use the FUSE daemon since it now correctly synthesizes UID\nownership on a per-user basis.)\n\nBug: 10506809\nChange-Id: I763b340bb040396cbcc1f1f32277eca15fe69fc6\n"
    },
    {
      "commit": "3e47a748eb646b8d2fc8e8c4f11b270d9ae2c607",
      "tree": "fe03f35aa83f71059294944796ebf6c077ab1eae",
      "parents": [
        "3b99337ec2a92ca5fc0b3bd1d44be40e5eb2a30f"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Sep 09 17:56:07 2013 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue Sep 10 17:26:49 2013 -0700"
      },
      "message": "Remove dependency on JNIHelp header side effects.\n\nBug: 10680559\nChange-Id: I2f8ab34803a4554dac35c941ed58c0c845754655\n"
    },
    {
      "commit": "08f2e7b59fab9df108d3d91e6eeb4bbccbb325d1",
      "tree": "a41d65ab0753f4b0a84540c95feacd932c21e0fe",
      "parents": [
        "3b99337ec2a92ca5fc0b3bd1d44be40e5eb2a30f"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Sep 09 16:44:02 2013 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Sep 09 17:03:37 2013 -0700"
      },
      "message": "Disable lock contention logging by default.\n\nThe verifier runs out of memory with lock contention logging on nakasi.\n\nBug: 10646091\nChange-Id: I8ddffdb48d779a20107bae7013cbe92d13dc8bdb\n"
    },
    {
      "commit": "3b99337ec2a92ca5fc0b3bd1d44be40e5eb2a30f",
      "tree": "b60730468e82c1be13fee0380141c38d12cf4cb7",
      "parents": [
        "0a02d12788c0b21d020b67d65552ff692104be77",
        "3b7ffa1f4c466f4bf8032c328a47aea83a23868c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 06 23:04:58 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 06 23:04:58 2013 +0000"
      },
      "message": "Merge \"Support apps that pass JNI_VERSION_1_1 to GetEnv.\" into klp-dev"
    },
    {
      "commit": "3b7ffa1f4c466f4bf8032c328a47aea83a23868c",
      "tree": "1cbe69e6be5b780c2ff7a6ace3807a62d727337b",
      "parents": [
        "dd3c27eeb8286ab53d8a2f1aec76a7a919ba353a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 06 15:57:08 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 06 15:57:08 2013 -0700"
      },
      "message": "Support apps that pass JNI_VERSION_1_1 to GetEnv.\n\nBug: 10649815\nChange-Id: I73b9bef20f7f8fa96cdcb5afdab9592c35ea0f3e\n"
    },
    {
      "commit": "0a02d12788c0b21d020b67d65552ff692104be77",
      "tree": "30f80e44c0feab5d4a03d6de182244c7340aa136",
      "parents": [
        "2e450bf45e1bacc9c356f6ab239ccfb31bd8d7e4"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 06 15:42:40 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 06 15:44:12 2013 -0700"
      },
      "message": "Revert \"Revert \"Remove bogus fastpath from String::Equals(const StringPiece\u0026)\"\"\n\nThis reverts commit 2b25433c561ff53494e948f20a221143b3165a14.\n\nBug: 10614658\nChange-Id: I757329f8643bf5e32a7d3005f8314fb9ebea440c\n"
    },
    {
      "commit": "2e450bf45e1bacc9c356f6ab239ccfb31bd8d7e4",
      "tree": "d695b5a0aa5049ed3936a65ab69b409e2eceb818",
      "parents": [
        "dd3c27eeb8286ab53d8a2f1aec76a7a919ba353a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 06 15:39:46 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 06 15:43:51 2013 -0700"
      },
      "message": "Revert \"Remove bogus fastpath from String::Equals(const StringPiece\u0026)\"\n\nThis reverts commit 8438ed31e10f3881ed92f03877d5edaca7d5b48c.\n\nBug: 10614658\nChange-Id: I335f10a7140e1644957bc1cee21a9b310a558499\n"
    },
    {
      "commit": "dd3c27eeb8286ab53d8a2f1aec76a7a919ba353a",
      "tree": "f03ff1b2e3d5a22710aa085d8b24502998b93d8b",
      "parents": [
        "8438ed31e10f3881ed92f03877d5edaca7d5b48c"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Sep 04 16:11:55 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 06 13:09:14 2013 -0700"
      },
      "message": "Fix verifier upcasting type after instance_of.\n\nThe verifier automatically changed the type of a register to be\nthe checked type in an instance_of instruction, even if the\nchecked type was the register type\u0027s superclass. This would loosen\nthe type information of the register and cause problems later.\n\nBug: 10614872\n\n(cherry picked from commit c642ec8987746a2a44b990bd5354306242d709da)\n\nChange-Id: Ib447557d3582dad6ac01f0e3b4ee497a27a45172\n"
    },
    {
      "commit": "8438ed31e10f3881ed92f03877d5edaca7d5b48c",
      "tree": "a29524e6974a58d593362b49217649dc9a39f496",
      "parents": [
        "51db7beb7faaea43d697321520732d1d71288f50"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Sep 04 17:17:19 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 06 12:38:20 2013 -0700"
      },
      "message": "Remove bogus fastpath from String::Equals(const StringPiece\u0026)\n\nBug: 10614658\nChange-Id: I907ec77a65c1ae29e800356abdf755a457620081\n"
    },
    {
      "commit": "51db7beb7faaea43d697321520732d1d71288f50",
      "tree": "c5849ceac2e59b9e0e656b924a5d7d86b28819fd",
      "parents": [
        "3f9667022788ba1effcd1e47fc9e3decc4db569d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 05 17:24:22 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 06 10:29:40 2013 -0700"
      },
      "message": "Use exit to avoid destructors in dex2oat.\n\n(cherry picked from commit 2672a9f93caa66add6ca48a8e38ba1661ef43959)\n\nBug: 10645725\nChange-Id: I55c2a7b7f3bd105f1a6a8bf84db2204c6f87e642\n"
    },
    {
      "commit": "3f9667022788ba1effcd1e47fc9e3decc4db569d",
      "tree": "587c4e54f352725cb77701e097e8eed2f516f1d4",
      "parents": [
        "280ebdf280c435a42b7586466c8317c7cf82beb8"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Sep 04 16:50:05 2013 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Sep 05 10:22:26 2013 -0700"
      },
      "message": "Add more systrace logging to GC.\n\nThere was some confusing systrace messages which made it seem like\npauses were longer than they actually were due to premption occuring\nduring thread_list-\u003eResumeAll().\n\nBug: 10612142\n\nChange-Id: I6eeedd1cf85ff38c5b116f15059469db52cbb73b\n"
    },
    {
      "commit": "280ebdf280c435a42b7586466c8317c7cf82beb8",
      "tree": "4fae0a178e66de7430592f5ed86ea2b154b86e32",
      "parents": [
        "a4684052dbe58d36e32d1035c10bae2e2d52a8dd",
        "5f67532efa0622ccfbbb4edf7d12098b26c19b35"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Sep 04 05:49:04 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 04 05:49:04 2013 +0000"
      },
      "message": "Merge \"Fix image_test for SMALL_ART\" into klp-dev"
    },
    {
      "commit": "5f67532efa0622ccfbbb4edf7d12098b26c19b35",
      "tree": "c241723e6ee1ffb5807ca08578ea8200dd787be6",
      "parents": [
        "68708f536d11f8824d881b640f3902093075c0a6"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Sep 03 22:45:51 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Sep 03 22:46:35 2013 -0700"
      },
      "message": "Fix image_test for SMALL_ART\n\nBug: 9618388\nChange-Id: I8b13ef2bfec77479a60271d9b9f5379c9d7a2490\n"
    },
    {
      "commit": "a4684052dbe58d36e32d1035c10bae2e2d52a8dd",
      "tree": "17ddd4f3b10a76c8eab33a68c59d2e2574c8e74f",
      "parents": [
        "22955837e20f126845ff0e516dfa6f74ec81d240"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 03 17:41:50 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 03 22:26:57 2013 -0700"
      },
      "message": "[build fix] Remove redundant complexity from JNI aborts.\n\n(cherry picked from commit 8e4d3ed463df1a9f5fdc1e927a6afe6d208558e1)\n\nChange-Id: I375f27efbec35a7d21070b3a5699ab798143a6a2\n"
    },
    {
      "commit": "22955837e20f126845ff0e516dfa6f74ec81d240",
      "tree": "884c9c87abca2989170d516f0099b710330ba5ea",
      "parents": [
        "68708f536d11f8824d881b640f3902093075c0a6",
        "193bad9b9cfd10642043fa2ebbfc68bd5f9ede4b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Sep 04 01:03:04 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 04 01:03:05 2013 +0000"
      },
      "message": "Merge \"Multi threaded hashed deduplication during compilation.\" into klp-dev"
    },
    {
      "commit": "193bad9b9cfd10642043fa2ebbfc68bd5f9ede4b",
      "tree": "0fc125adc74316df802b76889a780decd5b8236b",
      "parents": [
        "179486aee731f734207873244542993ed4bcff21"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Aug 29 18:46:00 2013 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 03 17:44:20 2013 -0700"
      },
      "message": "Multi threaded hashed deduplication during compilation.\n\nMoved deduplication to be in the compiler driver instead of oat\nwriter. This enables deduplication to be performed on multiple\nthreads. Also added a hash function to avoid excessive comparison\nof byte arrays.\n\nImprovements:\nBefore (alloats host):\nreal\t1m6.967s\nuser\t4m22.940s\nsys\t1m22.610s\n\nThinkfree.apk (target mako):\n0m23.74s real     0m50.95s user     0m9.50s system\n0m24.62s real     0m50.61s user     0m10.07s system\n0m24.22s real     0m51.44s user     0m10.09s system\n0m23.70s real     0m51.05s user     0m9.97s system\n0m23.50s real     0m50.74s user     0m10.63s system\n\nAfter (alloats host):\nreal\t1m5.705s\nuser\t4m44.030s\nsys\t1m29.990s\n\nThinkfree.apk (target mako):\n0m23.32s real     0m51.38s user     0m10.00s system\n0m23.49s real     0m51.20s user     0m9.80s system\n0m23.18s real     0m50.80s user     0m9.77s system\n0m23.52s real     0m51.22s user     0m10.02s system\n0m23.50s real     0m51.55s user     0m9.46s system\n\nBug: 10552630\n\nChange-Id: Ia6d06a747b86b0bfc4473b3cd68f8ce1a1c7eb22\n"
    },
    {
      "commit": "68708f536d11f8824d881b640f3902093075c0a6",
      "tree": "d1409b81bf3274b596e404dcd6b74b180f4ca41a",
      "parents": [
        "179486aee731f734207873244542993ed4bcff21"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Sep 03 14:15:31 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Sep 03 14:15:31 2013 -0700"
      },
      "message": "Fix image_test on target\n\nBug: 10606994\nChange-Id: I39838483e59479ceb9ba014bef9086b32f2596a8\n"
    },
    {
      "commit": "179486aee731f734207873244542993ed4bcff21",
      "tree": "8a4c9c5d0f518844584a991269e5571fd50bae01",
      "parents": [
        "144a1397d09af54c0d098b7c2254e4d04bbddf9b"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Sep 03 11:51:42 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Sep 03 11:54:54 2013 -0700"
      },
      "message": "Fix ImageHeader.IsValid\n\nChange-Id: Ia56f4ded63a726a416225bf4a536175aa435866e\n"
    },
    {
      "commit": "144a1397d09af54c0d098b7c2254e4d04bbddf9b",
      "tree": "5481b056d8e31b4f1fde0efc93e2ca23942e5ce5",
      "parents": [
        "479b494a5d303b4e201e15a630e3de5a7bf36ff2",
        "32327098e300ab66671b891a18bf669576fc896a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Aug 30 21:50:10 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 30 21:50:10 2013 +0000"
      },
      "message": "Merge \"Fix oatdump to take bitmap bytes into its accounting.\" into klp-dev"
    },
    {
      "commit": "32327098e300ab66671b891a18bf669576fc896a",
      "tree": "cc7b93b256a6890534f3f5929b2609f40ab71033",
      "parents": [
        "70814f7746793934a29e010211ef6e652ad75cd2"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Aug 30 14:04:08 2013 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Aug 30 14:13:41 2013 -0700"
      },
      "message": "Fix oatdump to take bitmap bytes into its accounting.\n\nBug: 10567842\n\nChange-Id: I14d921343bc54598a83cfcf8d7185dca702c2739\n"
    },
    {
      "commit": "479b494a5d303b4e201e15a630e3de5a7bf36ff2",
      "tree": "a5f1635f87a3b0a7fc41679464406de486c36bff",
      "parents": [
        "70814f7746793934a29e010211ef6e652ad75cd2"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Aug 29 11:18:01 2013 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Aug 30 18:02:43 2013 +0000"
      },
      "message": "Change IsMethodTracingActive to GetMethodTracingMode for art.\n\nThis allows traceview to tell whether sampling or just normal\nmethod profiling is enabled.\n\nBug: 9968521\n\nChange-Id: I518a1888a90bc50568fe56bf708d801027ac98d7\n(cherry picked from commit 64caa7dcf46ed6139b766dbe77fbd7353899417f)\n"
    },
    {
      "commit": "70814f7746793934a29e010211ef6e652ad75cd2",
      "tree": "ea5c31b7fa761f4db0b944f38f741d257443f037",
      "parents": [
        "b2610f5c6bb7112d4681f2718fd8f0a9d9ce5f18"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Fri Aug 09 02:14:36 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 29 16:48:56 2013 -0700"
      },
      "message": "Update ART for LLVM merge up to r187914.\n\nRemoved NoFramePointerElimNonLeaf because this is now only specified via\na function attribute (and thus covered by existing cases).\n\nSwitch to llvm::sys::fs::F_* enums.\n\nRemove unused DisableSimplifyLibCalls().\n\n(cherry picked from commit 1961a2716cf02f597f06c27a0850daa2dc917586)\n\nChange-Id: I49e691b6771f7e3f77fe583841ea51b06ee7cfdf\n"
    },
    {
      "commit": "b2610f5c6bb7112d4681f2718fd8f0a9d9ce5f18",
      "tree": "533a03c0560378b62ed9d5dbd8af06f77542caac",
      "parents": [
        "01e9779ad3860a44bc356d4734957bbbd6b77e48",
        "da4ee47b1f8357bfe0a871079c5f9953a4b2a4b1"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 29 16:48:55 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 29 16:48:55 2013 -0700"
      },
      "message": "Merge remote-tracking branch \u0027goog/dalvik-dev\u0027 into merge-art\n"
    },
    {
      "commit": "da4ee47b1f8357bfe0a871079c5f9953a4b2a4b1",
      "tree": "533a03c0560378b62ed9d5dbd8af06f77542caac",
      "parents": [
        "afbe1622c02379fb7f7835d73a5594b40d31d3ea",
        "01e9779ad3860a44bc356d4734957bbbd6b77e48"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Aug 29 16:03:08 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 29 16:03:08 2013 -0700"
      },
      "message": "am 01e9779a: Merge \"Write out image bitmap inside of image file.\" into klp-dev\n\n* commit \u002701e9779ad3860a44bc356d4734957bbbd6b77e48\u0027:\n  Write out image bitmap inside of image file.\n"
    },
    {
      "commit": "01e9779ad3860a44bc356d4734957bbbd6b77e48",
      "tree": "538153ce2f96145735afab38e0413028e6a22e8f",
      "parents": [
        "4bf1c8d4f2127caf769573d7c762a5d460a2781f",
        "31e8925781c2302f1d1a9b39e216ba415bfe0d7e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Aug 29 22:56:21 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 29 22:56:21 2013 +0000"
      },
      "message": "Merge \"Write out image bitmap inside of image file.\" into klp-dev"
    },
    {
      "commit": "31e8925781c2302f1d1a9b39e216ba415bfe0d7e",
      "tree": "12a9173c7134bc08712e46f11ee897072b7afb61",
      "parents": [
        "c6dfdacea2fd9e268f70328805b0366cdd6b7b9e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 28 11:29:12 2013 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Aug 29 15:52:42 2013 -0700"
      },
      "message": "Write out image bitmap inside of image file.\n\nWe now create the image bitmap when we generate the image. The image\nbitmap is written after the image inside of the image file. This\nspeeds up dex2oat by making walking the image during heap creation\nunnecessary. This should also help memory pressure by enabling the\nimage bitmap to be swappable.\n\nBug: 10432288\n\nChange-Id: Idebf459ed15edbb41a7d9b9b353934155bce2f19\n"
    },
    {
      "commit": "afbe1622c02379fb7f7835d73a5594b40d31d3ea",
      "tree": "7dddeaac9f37c7c38d4f21b5c347d3a217a5ffcb",
      "parents": [
        "dc1099ddadebe0b25ff5229f4625979e82f8b2af",
        "d76e08323893c60df77eccca6e882279e7246d8c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 29 22:30:05 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 29 22:30:05 2013 +0000"
      },
      "message": "Merge \"Make files writable on the installd path as well\" into dalvik-dev"
    },
    {
      "commit": "d76e08323893c60df77eccca6e882279e7246d8c",
      "tree": "8a871cf9239e07db055d3a9624af11dd62f1eed0",
      "parents": [
        "e0948e13d5a4552e6a2728087573c07961e4a4f9"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 29 15:17:42 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 29 15:17:42 2013 -0700"
      },
      "message": "Make files writable on the installd path as well\n\nBug: 9618388\nChange-Id: Iabfdfe2bbc44de1fec733269c08a243af75c7dcd\n"
    },
    {
      "commit": "dc1099ddadebe0b25ff5229f4625979e82f8b2af",
      "tree": "78c8c4c44afbc2205e6e8bde395f4179cc33e83e",
      "parents": [
        "bd1edce8f129382f20cff74ddeb4a03aea50b02c",
        "e0948e13d5a4552e6a2728087573c07961e4a4f9"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 29 17:20:56 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 29 17:20:56 2013 +0000"
      },
      "message": "Merge \"Make DexFiles opened from files readonly by default, but writable during dex2oat\" into dalvik-dev"
    },
    {
      "commit": "bd1edce8f129382f20cff74ddeb4a03aea50b02c",
      "tree": "79a8d38d7af7d39a6785241bbbefc22d70c80566",
      "parents": [
        "a7d56cf5e0fe6da41969f6dd841aef0d73f09d93",
        "920af3e556c730a5fbdab90a6d0ec1a2dbe8940b"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Aug 29 17:05:32 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 29 17:05:32 2013 +0000"
      },
      "message": "Merge \"Fix thread status in THST chunk to use JDWP thread state.\" into dalvik-dev"
    },
    {
      "commit": "920af3e556c730a5fbdab90a6d0ec1a2dbe8940b",
      "tree": "29d7aa78d4a4fec87a403c8e2c93214d19b7cc99",
      "parents": [
        "10cc81056261625902a8a073bafb9f499eec4ff7"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Aug 28 15:46:38 2013 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Aug 29 10:03:52 2013 -0700"
      },
      "message": "Fix thread status in THST chunk to use JDWP thread state.\n\nBug: 10492287\n\nChange-Id: I830a2ce71d02c5b09c7040583be98d818eef9385\n"
    },
    {
      "commit": "e0948e13d5a4552e6a2728087573c07961e4a4f9",
      "tree": "6162dd8b5e4f05c00f5414e10d1b1ab6fba61a0d",
      "parents": [
        "a7d56cf5e0fe6da41969f6dd841aef0d73f09d93"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 29 09:36:15 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 29 09:45:43 2013 -0700"
      },
      "message": "Make DexFiles opened from files readonly by default, but writable during dex2oat\n\nBug: 9618388\nChange-Id: I83f2e16ee8446a79a94a84971146d807bb0c9ee0\n"
    },
    {
      "commit": "a7d56cf5e0fe6da41969f6dd841aef0d73f09d93",
      "tree": "c403cbc5b2d6e16d9d9a3f42974e4a4ff3f65147",
      "parents": [
        "13d3c346251b4b1717b883e0eaf1ae273230f261"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Aug 29 15:44:18 2013 +0000"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Aug 29 15:44:57 2013 +0000"
      },
      "message": "Revert \"Update ART for LLVM merge up to r187914.\"\n\nThis reverts commit eaeab46304a139da495de941e853ce9acdace175.\n\nChange-Id: I854e09c9c988702de08a9ff642619761d1d57639\n(cherry picked from commit 03feadd72f6205f0b88fe69aaa30c69d1b2e8c2d)"
    },
    {
      "commit": "13d3c346251b4b1717b883e0eaf1ae273230f261",
      "tree": "4af58b0d01e10ebc75cc1586a5946adac3699225",
      "parents": [
        "b7c0e057bca1a82c3c81fbf4f6beb763d165524c",
        "4bf1c8d4f2127caf769573d7c762a5d460a2781f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 29 07:21:44 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 29 07:21:44 2013 -0700"
      },
      "message": "am 4bf1c8d4: Update blacklist for klp-dev\n\n* commit \u00274bf1c8d4f2127caf769573d7c762a5d460a2781f\u0027:\n  Update blacklist for klp-dev\n"
    },
    {
      "commit": "b7c0e057bca1a82c3c81fbf4f6beb763d165524c",
      "tree": "821573ce9f2c7e2655de709de60c854085174d6e",
      "parents": [
        "9fcd69f364c74b43cc801c1731b14f3336995c37",
        "eaeab46304a139da495de941e853ce9acdace175"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Aug 29 07:21:43 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 29 07:21:43 2013 -0700"
      },
      "message": "am eaeab463: Update ART for LLVM merge up to r187914.\n\n* commit \u0027eaeab46304a139da495de941e853ce9acdace175\u0027:\n  Update ART for LLVM merge up to r187914.\n"
    },
    {
      "commit": "9fcd69f364c74b43cc801c1731b14f3336995c37",
      "tree": "b8c17437e610917fecba776c3f76334c15e1f29d",
      "parents": [
        "615b2959304522b4c0986d71542180638fabbc96",
        "7642d13b320eccd98cfd424f160a1a6a2e49cbde"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 29 07:21:42 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 29 07:21:42 2013 -0700"
      },
      "message": "am 7642d13b: Merge remote-tracking branch \\\u0027goog/dalvik-dev\\\u0027 into merge-art\n\n* commit \u00277642d13b320eccd98cfd424f160a1a6a2e49cbde\u0027:\n"
    },
    {
      "commit": "4bf1c8d4f2127caf769573d7c762a5d460a2781f",
      "tree": "77e18705dd655b73d939f63c016439c37b470d0f",
      "parents": [
        "eaeab46304a139da495de941e853ce9acdace175"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 28 22:31:13 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 28 22:31:13 2013 -0700"
      },
      "message": "Update blacklist for klp-dev\n\nChange-Id: I5308f71b4c2ccdd7f6ac422ccb2a2d78141d1ce3\n"
    },
    {
      "commit": "615b2959304522b4c0986d71542180638fabbc96",
      "tree": "b8c17437e610917fecba776c3f76334c15e1f29d",
      "parents": [
        "f30f6daf33a9671ff756befb673482d7f3717a18",
        "a404db0a6d6f0f9da259d2d27bae9ee21ac05d38"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 29 04:55:29 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 29 04:55:29 2013 +0000"
      },
      "message": "Merge \"Add test-art-oat-\u003ctest\u003e test-art-run-test-\u003ctest\u003e variants\" into dalvik-dev"
    },
    {
      "commit": "a404db0a6d6f0f9da259d2d27bae9ee21ac05d38",
      "tree": "5e8476169834ac403b304dad3d5bb3d3d63ab726",
      "parents": [
        "10cc81056261625902a8a073bafb9f499eec4ff7"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 28 09:37:40 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 28 17:43:31 2013 -0700"
      },
      "message": "Add test-art-oat-\u003ctest\u003e test-art-run-test-\u003ctest\u003e variants\n\nLets you run a test across all configurations (host, target, interpretter, ...)\n\nChange-Id: Ie1c6b5f0e3ae1ef44a710ebec07daf2bd0309413\n"
    },
    {
      "commit": "f30f6daf33a9671ff756befb673482d7f3717a18",
      "tree": "f0305c634c1cc322c110237be2d97b4e612956ee",
      "parents": [
        "a436fde2762664a3ecdda5eefcadd20b2e104f59"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Aug 28 17:33:30 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Aug 28 17:33:30 2013 -0700"
      },
      "message": "Set small ART override for image as an option.\n\nBuild fix for small art, avoids changing the compiler filter post runtime\ninitialization.\n\nChange-Id: I359b5231adaa0331321dc6239305cf748d174a17\n"
    },
    {
      "commit": "eaeab46304a139da495de941e853ce9acdace175",
      "tree": "0be84392d9b7701a4ce528158a8d1b34e53219d4",
      "parents": [
        "7642d13b320eccd98cfd424f160a1a6a2e49cbde"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Fri Aug 09 02:14:36 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 28 17:20:31 2013 -0700"
      },
      "message": "Update ART for LLVM merge up to r187914.\n\nRemoved NoFramePointerElimNonLeaf because this is now only specified via\na function attribute (and thus covered by existing cases).\n\nSwitch to llvm::sys::fs::F_* enums.\n\nRemove unused DisableSimplifyLibCalls().\n\n(cherry picked from commit 1961a2716cf02f597f06c27a0850daa2dc917586)\n\nChange-Id: I5ee58031e423838cdc8968675192f9b63a7d867d\n"
    },
    {
      "commit": "7642d13b320eccd98cfd424f160a1a6a2e49cbde",
      "tree": "22431bc387483220728a3bc99ec7314abce3ad60",
      "parents": [
        "c6dfdacea2fd9e268f70328805b0366cdd6b7b9e",
        "a436fde2762664a3ecdda5eefcadd20b2e104f59"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 28 17:20:20 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 28 17:20:20 2013 -0700"
      },
      "message": "Merge remote-tracking branch \u0027goog/dalvik-dev\u0027 into merge-art\n"
    },
    {
      "commit": "a436fde2762664a3ecdda5eefcadd20b2e104f59",
      "tree": "22431bc387483220728a3bc99ec7314abce3ad60",
      "parents": [
        "10cc81056261625902a8a073bafb9f499eec4ff7"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 27 23:34:06 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 27 23:37:33 2013 -0700"
      },
      "message": "Handle OOMEs in class linker with grace.\n\nCheck for OOMEs and then fail due to them in class loading.\nMake the compiler driver spot OOMEs during resolution and abort compilation to\navoid needless GC thrash then eventual death.\nAllocate the pre-allocated OOME during Runtime::Init as Runtime::Start isn\u0027t\ncalled in the context of the compiler/tools.\n\nChange-Id: Id72199d0fe82001b5bf22758b3cdc9cc4b8efbb9\n"
    },
    {
      "commit": "10cc81056261625902a8a073bafb9f499eec4ff7",
      "tree": "6b33b55831ad394b9fdaf6cb57e0a9a29f6fcdbc",
      "parents": [
        "09cfd6874184915ca76638f37bfce8e6312ec5f7",
        "637859cef76e7d41f7fdfd1f1aea7d60b4a315dc"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Aug 28 02:30:51 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 28 02:30:51 2013 +0000"
      },
      "message": "Merge \"Make entrypoints Thumb2.\" into dalvik-dev"
    },
    {
      "commit": "637859cef76e7d41f7fdfd1f1aea7d60b4a315dc",
      "tree": "5da2d3721421f319cdae8aade1ca05b829bdffca",
      "parents": [
        "35a41fd2d16b760ba3b783d6f01f80cd719a121a"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 27 14:35:54 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 27 19:30:14 2013 -0700"
      },
      "message": "Make entrypoints Thumb2.\n\nSave the 64bit shifts that are more efficient as ARM code.\nMove the standard .S set up code to asm_support_arm.S.\n\nChange-Id: I38b95a88a3658e311020b59abfbe16f843b509ff\n"
    },
    {
      "commit": "09cfd6874184915ca76638f37bfce8e6312ec5f7",
      "tree": "4aa9fbb6f675113febd698e4b5617afd2d1e902b",
      "parents": [
        "958291c7afe723d846a39539fd00410c102485f3",
        "3f3d22c8fc89d754172858d1770f16916b407d8b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Aug 28 02:27:01 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 28 02:27:02 2013 +0000"
      },
      "message": "Merge \"Reduce the scope of a ScopedObjectAccess in dex2oat.\" into dalvik-dev"
    },
    {
      "commit": "958291c7afe723d846a39539fd00410c102485f3",
      "tree": "18702540e76855467c06fd9caf92c9e11828dadc",
      "parents": [
        "d81941e2620d0d19e5460612daf499775f23e7ec"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 27 18:14:55 2013 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 27 18:21:10 2013 -0700"
      },
      "message": "Fix build.\n\nBuild broken due to a rare lock checking violation happening during\noat generation. Added a new lock level for the mark stack lock since\nit may be acquired with the globals/pins lock.\n\nChange-Id: I944ae0700c66ad050fe3d23aba2f2c377c5df799\n"
    },
    {
      "commit": "3f3d22c8fc89d754172858d1770f16916b407d8b",
      "tree": "992608e1b103b3e4fdd5f2e32ac4241fbab05350",
      "parents": [
        "35a41fd2d16b760ba3b783d6f01f80cd719a121a"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 27 18:11:09 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 27 18:11:09 2013 -0700"
      },
      "message": "Reduce the scope of a ScopedObjectAccess in dex2oat.\n\nAllow concurrent GCs during image writing, etc.\n\nChange-Id: I89b70a6dfb17f58b156e164c91457337f1c2648f\n"
    },
    {
      "commit": "d81941e2620d0d19e5460612daf499775f23e7ec",
      "tree": "d841d817ee0c5e6de23e772300da8218e4e5cb8d",
      "parents": [
        "1fed2e81847282d0a937ee4ec5ac0437e344c17b",
        "ba311b4385fa3f382f01312a8cc97b52011232e3"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 28 00:26:19 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 28 00:26:20 2013 +0000"
      },
      "message": "Merge \"Fix mark stack expand race.\" into dalvik-dev"
    },
    {
      "commit": "ba311b4385fa3f382f01312a8cc97b52011232e3",
      "tree": "2243c216174e2decae3ce920be6b6c2a0478128d",
      "parents": [
        "11b63d13f0a3be0f74390b66b58614a37f9aa6c1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 27 13:02:30 2013 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 27 17:08:59 2013 -0700"
      },
      "message": "Fix mark stack expand race.\n\nWe now guard parallel mark stack pushing with a lock. This is\nonly used by checkpoint root marking. I did not observe a\nsignificant slowdown by looking at ritzperf and maps, but it may\nbe worth reinvestigating in the future.\n\nAlso a bit of refactoring.\n\nBug: 10113123\n\nChange-Id: Ifcb12d14df437e2aea9a1165a9568054f80d91b3\n"
    },
    {
      "commit": "1fed2e81847282d0a937ee4ec5ac0437e344c17b",
      "tree": "ed1561fe60b0dd3aaab3ae2ec1348a7d835e6705",
      "parents": [
        "35a41fd2d16b760ba3b783d6f01f80cd719a121a",
        "cf2fb8e6430059cc7fe0a6f931555bb717988393"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Aug 27 15:53:49 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 27 15:53:49 2013 -0700"
      },
      "message": "am cf2fb8e6: Add art support for sample profiling from traceview gui.\n\n* commit \u0027cf2fb8e6430059cc7fe0a6f931555bb717988393\u0027:\n  Add art support for sample profiling from traceview gui.\n"
    },
    {
      "commit": "cf2fb8e6430059cc7fe0a6f931555bb717988393",
      "tree": "1e31698c222b5741d0ab017fd7b2392f4eba1a26",
      "parents": [
        "2cea26c18f01a2b0bb7bcbf8ded7ec7f9930eb85"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Aug 22 15:36:42 2013 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Aug 27 22:29:24 2013 +0000"
      },
      "message": "Add art support for sample profiling from traceview gui.\n\nChange-Id: I6004bf143521b872084ca4aae873bea3524aa895\n(cherry picked from commit 23009dca63c1699e28bfeaa8b45ca48fa0e86ace)"
    },
    {
      "commit": "35a41fd2d16b760ba3b783d6f01f80cd719a121a",
      "tree": "ed1561fe60b0dd3aaab3ae2ec1348a7d835e6705",
      "parents": [
        "9d6bb98d668107fc2a09a7afd919b718f8194b98",
        "89502fc63d5d2ef3586e49b1ec38e1777ce7accf"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Aug 27 18:05:11 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 27 18:05:11 2013 +0000"
      },
      "message": "Merge \"A char array copy optimization.\" into dalvik-dev"
    },
    {
      "commit": "9d6bb98d668107fc2a09a7afd919b718f8194b98",
      "tree": "b85d7771404e5ea73fe5eee83620c0363bdb6c95",
      "parents": [
        "11b63d13f0a3be0f74390b66b58614a37f9aa6c1",
        "2cea26c18f01a2b0bb7bcbf8ded7ec7f9930eb85"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 27 10:36:08 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 27 10:36:08 2013 -0700"
      },
      "message": "am 2cea26c1: am c6dfdace: Add buffering to ELF file generation\n\n* commit \u00272cea26c18f01a2b0bb7bcbf8ded7ec7f9930eb85\u0027:\n  Add buffering to ELF file generation\n"
    },
    {
      "commit": "2cea26c18f01a2b0bb7bcbf8ded7ec7f9930eb85",
      "tree": "86004d28a635838358ac152f65ee81bc497127aa",
      "parents": [
        "f3a2c862738563cc0b230488b15fb3251055f146",
        "c6dfdacea2fd9e268f70328805b0366cdd6b7b9e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 27 10:30:14 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 27 10:30:14 2013 -0700"
      },
      "message": "am c6dfdace: Add buffering to ELF file generation\n\n* commit \u0027c6dfdacea2fd9e268f70328805b0366cdd6b7b9e\u0027:\n  Add buffering to ELF file generation\n"
    },
    {
      "commit": "11b63d13f0a3be0f74390b66b58614a37f9aa6c1",
      "tree": "e319a3ab261e596c8a7dac72932632af74f4ac72",
      "parents": [
        "c8c4e2a4edfdafb18047b2392a8f72ae93119bc2"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Aug 27 07:34:17 2013 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Aug 27 07:34:17 2013 -0700"
      },
      "message": "Quick compiler: division by literal fix\n\nThe constant propagation optimization pass attempts to identify\nconstants in Dalvik virtual registers and handle them more efficiently.\nThe use of small constants in divison, though, was handled incorrectly\nin that the high level code correctly detected the use of a constant,\nbut the actual code generation routine was only expecting the use of\na special constant form opcode.\n\nsee b/10503566\n\nChange-Id: I88aa4d2eafebb2b1af1a1e88049f1845aefae261\n"
    },
    {
      "commit": "c6dfdacea2fd9e268f70328805b0366cdd6b7b9e",
      "tree": "8c6032e2276a3962054dd450025dcf3cc817e43f",
      "parents": [
        "b8a874ca3b13007f4bf688963483ffb3c76e0d7d"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 26 18:57:31 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 26 22:33:11 2013 -0700"
      },
      "message": "Add buffering to ELF file generation\n\nBug: 10496017\nChange-Id: I3cbad249e0fb33f726bd0a504b3b6bd9b4f759c8\n"
    },
    {
      "commit": "c8c4e2a4edfdafb18047b2392a8f72ae93119bc2",
      "tree": "e5e9bfd42b39179a8f0162eb348e96558069b07b",
      "parents": [
        "a2cb85a2bf6abc28a177f6b41ded01c55483baa1",
        "23009dca63c1699e28bfeaa8b45ca48fa0e86ace"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Aug 26 23:46:20 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 26 23:46:20 2013 +0000"
      },
      "message": "Merge \"Add art support for sample profiling from traceview gui.\" into dalvik-dev"
    },
    {
      "commit": "23009dca63c1699e28bfeaa8b45ca48fa0e86ace",
      "tree": "33645ffca45249f4d8dc351dca17327c29613317",
      "parents": [
        "fb2451b516f8411756fe7b6f91b5534cf3ce8682"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Aug 22 15:36:42 2013 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Aug 26 16:44:06 2013 -0700"
      },
      "message": "Add art support for sample profiling from traceview gui.\n\nChange-Id: I6004bf143521b872084ca4aae873bea3524aa895\n"
    },
    {
      "commit": "a2cb85a2bf6abc28a177f6b41ded01c55483baa1",
      "tree": "3237b8353f2208a205eb06c9dc1796a5590a9b1b",
      "parents": [
        "e2be9da597c69b92ffb707f2101b96076578b5e6",
        "f6c4b3ba3825de1dbb3e747a68b809c6cc8eb4db"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Aug 26 23:28:53 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 26 23:28:53 2013 +0000"
      },
      "message": "Merge \"New arena memory allocator.\" into dalvik-dev"
    },
    {
      "commit": "f6c4b3ba3825de1dbb3e747a68b809c6cc8eb4db",
      "tree": "c9dc76dfbd6067ae4de6650be9eb948535c77bb5",
      "parents": [
        "fb2451b516f8411756fe7b6f91b5534cf3ce8682"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Aug 24 16:11:37 2013 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Aug 26 16:23:51 2013 -0700"
      },
      "message": "New arena memory allocator.\n\nBefore we were creating arenas for each method. The issue with doing this\nis that we needed to memset each memory allocation. This can be improved\nif you start out with arenas that contain all zeroed memory and recycle\nthem for each method. When you give memory back to the arena pool you do\na single memset to zero out all of the memory that you used.\n\nAlways inlined the fast path of the allocation code.\n\nRemoved the \"zero\" parameter since the new arena allocator always returns\nzeroed memory.\n\nHost dex2oat time on target oat apks (2 samples each).\nBefore:\nreal\t1m11.958s\nuser\t4m34.020s\nsys\t1m28.570s\n\nAfter:\nreal\t1m9.690s\nuser\t4m17.670s\nsys\t1m23.960s\n\nTarget device dex2oat samples (Mako, Thinkfree.apk):\nWithout new arena allocator:\n0m26.47s real     0m54.60s user     0m25.85s system\n0m25.91s real     0m54.39s user     0m26.69s system\n0m26.61s real     0m53.77s user     0m27.35s system\n0m26.33s real     0m54.90s user     0m25.30s system\n0m26.34s real     0m53.94s user     0m27.23s system\n\nWith new arena allocator:\n0m25.02s real     0m54.46s user     0m19.94s system\n0m25.17s real     0m55.06s user     0m20.72s system\n0m24.85s real     0m55.14s user     0m19.30s system\n0m24.59s real     0m54.02s user     0m20.07s system\n0m25.06s real     0m55.00s user     0m20.42s system\n\nCorrectness of Thinkfree.apk.oat verified by diffing both of the oat files.\n\nChange-Id: I5ff7b85ffe86c57d3434294ca7a621a695bf57a9\n"
    },
    {
      "commit": "e2be9da597c69b92ffb707f2101b96076578b5e6",
      "tree": "d29ac8b7149c2080a1c11df29336cd9ca6b544fd",
      "parents": [
        "fb2451b516f8411756fe7b6f91b5534cf3ce8682"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Aug 26 11:38:54 2013 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Aug 26 11:40:13 2013 -0700"
      },
      "message": "Fix typo in elf writer.\n\nWe were writing the wrong number of characters to the elf file.\nCaught by valgrind.\n\nChange-Id: Iaf5a51bc7f6dd23cc5e68992dc033610fd0c5c79\n"
    },
    {
      "commit": "fb2451b516f8411756fe7b6f91b5534cf3ce8682",
      "tree": "bd484408de8a43114ee3360e48a8dd2eb12de452",
      "parents": [
        "0b3eb39f8bc92f955f875ef50929c439aafe35fb",
        "4b8c13ee44c4c959d7b8de9adff7ce6df48c31d0"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 26 03:55:48 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 26 03:55:49 2013 +0000"
      },
      "message": "Merge \"Fix sort order to make register promotion stable\" into dalvik-dev"
    },
    {
      "commit": "4b8c13ee44c4c959d7b8de9adff7ce6df48c31d0",
      "tree": "b7638f8ac891fc09cbe7dd8a98b8af24ddd7acfa",
      "parents": [
        "a7e885013753df3f07bf038a8c4a187fb97c78e1"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Aug 23 18:10:32 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Aug 23 18:10:32 2013 -0700"
      },
      "message": "Fix sort order to make register promotion stable\n\nAlso some minor oatdump fixes\n\nChange-Id: I5679835bf684b98d130b77ecf00bda5f6547d383\n"
    },
    {
      "commit": "0b3eb39f8bc92f955f875ef50929c439aafe35fb",
      "tree": "0f0372ed1553f2968a9ed1b046636dcf15667164",
      "parents": [
        "7dfb28c066159e6cde8181720f0c451a700ef966"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Aug 23 14:56:59 2013 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Aug 23 16:54:01 2013 -0700"
      },
      "message": "Use atomic integer for compiler driver work balancing.\n\nBefore, we divided the work by dividing the total work by the number\nof threads. This did not balance work well since some threads could\nfinish much earlier than others. The new method uses a shared atomic\ninteger to balance work. This makes it that a thread can process at\nmost one item after the other worker threads are finished.\n\nChanged the number of threads to take into account the main thread\nalso doing work. This means that we subtract one from the number of\nthreads when we make the thread pool.\n\nChange-Id: I0147b0403c6214800ed6bfcdac4f1e5486330996\n"
    },
    {
      "commit": "89502fc63d5d2ef3586e49b1ec38e1777ce7accf",
      "tree": "bdd0ca91f0dac742b2814ae60c4a4e1d3322fb86",
      "parents": [
        "2213ac60891aae4a05232663182bcb75137c7623"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Aug 21 11:54:09 2013 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Aug 23 11:46:35 2013 -0700"
      },
      "message": "A char array copy optimization.\n\n- Based on measurements, copy char by char for arrays of length \u003c\u003d 64.\n- With this change, the Ritz MemAllocBench got ~25% faster on Nexus 4\n  and ~20% faster on host.\n- This change only handles arraycopy calls in the core libraries and\n  char arrays with the rest future work.\n\nBug: 7103825\nChange-Id: Ie88890eb65f011ca052b1f253f1b0e078ec24b6b\n"
    },
    {
      "commit": "7dfb28c066159e6cde8181720f0c451a700ef966",
      "tree": "5279fb95da015365846eb48d931b9355b540cb9e",
      "parents": [
        "a7e885013753df3f07bf038a8c4a187fb97c78e1"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Aug 22 08:18:36 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Aug 23 10:49:29 2013 -0700"
      },
      "message": "Don\u0027t scan image space when starting runtime.\n\nBug 10432288.\nFind Classes and Strings from dex caches lazily rather than when the image is\nloaded.\nMake class status changes do notifies when there can be waiters.\nFor Class lookup there\u0027s a pathology if we always search dex caches and\nso after 1000 failures move all classes into the class table.\nBe consistent in using \"const char*\" for class linker descriptors as this\nmost easily agrees with the type in the dex file.\nImprove the intern run-test so that it has a case of a literal contained in the\nimage.\nModify image_test to allow any valid lock word rather than expecting 0, ideally\nwe wouldn\u0027t see inflated monitors but we do due to NotifyAll (see bug 6961405).\n\nChange-Id: Ia9bfa748eeccb9b4498784b97c6823141b1f6db8\n"
    },
    {
      "commit": "a7e885013753df3f07bf038a8c4a187fb97c78e1",
      "tree": "6fe6d124c077109b4315b8b3e2186cbed0fc944f",
      "parents": [
        "ec0cf9b8217ceaddbb53faa78c3cf34b07ac87b1",
        "f3a2c862738563cc0b230488b15fb3251055f146"
      ],
      "author": {
        "name": "Yohann Roussel",
        "email": "yroussel@google.com",
        "time": "Fri Aug 23 08:18:15 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 23 08:18:15 2013 -0700"
      },
      "message": "am f3a2c862: Merge \"Update art/tests/089-many-methods.\"\n\n* commit \u0027f3a2c862738563cc0b230488b15fb3251055f146\u0027:\n  Update art/tests/089-many-methods.\n"
    },
    {
      "commit": "f3a2c862738563cc0b230488b15fb3251055f146",
      "tree": "3f4cd1b9b66d135f1504ff053e293e8eac2c86fb",
      "parents": [
        "b8a874ca3b13007f4bf688963483ffb3c76e0d7d",
        "25532503bdc388a37ebedd5a2363167f4913a350"
      ],
      "author": {
        "name": "Yohann Roussel",
        "email": "yroussel@google.com",
        "time": "Fri Aug 23 15:15:57 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 23 15:15:58 2013 +0000"
      },
      "message": "Merge \"Update art/tests/089-many-methods.\""
    },
    {
      "commit": "25532503bdc388a37ebedd5a2363167f4913a350",
      "tree": "ac18cde32c897391660ef15beb84d7ca095e2597",
      "parents": [
        "379e2f5996b38d9f67b9c334c232cb315a5390ad"
      ],
      "author": {
        "name": "Yohann Roussel",
        "email": "yroussel@google.com",
        "time": "Fri Aug 23 14:53:11 2013 +0200"
      },
      "committer": {
        "name": "Yohann Roussel",
        "email": "yroussel@google.com",
        "time": "Fri Aug 23 13:16:48 2013 +0000"
      },
      "message": "Update art/tests/089-many-methods.\n\nSo that it is synchronized with dx message.\n\nBug: 10425798\n\nChange-Id: I3f2a1a618c96e350953ff2a4e764cd7905491dac\n"
    },
    {
      "commit": "ec0cf9b8217ceaddbb53faa78c3cf34b07ac87b1",
      "tree": "49279caa268c00860036eea18654e50e4f45695f",
      "parents": [
        "b8a874ca3b13007f4bf688963483ffb3c76e0d7d"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 22 12:14:18 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 22 12:14:18 2013 -0700"
      },
      "message": "Revert \"Update ART for LLVM merge up to r187914.\"\n\nThis reverts commit b8a874ca3b13007f4bf688963483ffb3c76e0d7d.\n"
    }
  ],
  "next": "b8a874ca3b13007f4bf688963483ffb3c76e0d7d"
}
