)]}'
{
  "log": [
    {
      "commit": "b726dcb581bf72da46527378ccb6889020f0e6e9",
      "tree": "c0383ed788652926e93147e50d659ed226519548",
      "parents": [
        "fd678beb171a4686a4f2d53ca4188a4ade8fa54e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 05 08:57:23 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 05 09:06:19 2012 -0700"
      },
      "message": "Rename GlobalSynchronization to Locks\n\nAlso address some review comments in common_throws relating to\nToStr\u003cInvokeType\u003e and exception detail messages.\n\nChange-Id: Ibf2c0f147689fa236d349bd7f01eed3c2522552b\n"
    },
    {
      "commit": "fd678beb171a4686a4f2d53ca4188a4ade8fa54e",
      "tree": "ab932e92d683d8033241bb2248da98e76249d3eb",
      "parents": [
        "5bfa60ffcc953340feb711ed05cf576ac821905e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Aug 30 14:50:54 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 04 14:58:14 2012 -0700"
      },
      "message": "Additional heap verification for the Gc\n\nThere are now two verification booleans which can be enabled. When these get enabled, it verifies that each live object only references other live objects.\n\nChanged SetClass to use SetFieldPtr to avoid having an extra card mark. This is safe since all classes are held live by the class linker.\n\nChange-Id: I005bb59e5cc8153a79d3ccb3d7b5cabd29fb4051\n"
    },
    {
      "commit": "15bf2d34efa2218e287b584fb3653d268b9edc8d",
      "tree": "4435664bd2c9a041d8c355940f2b5c95e03d38f7",
      "parents": [
        "e4f0b2ab4abd8e942a099e9b9b4682fbdd9eb21c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 28 17:33:04 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Aug 30 17:22:52 2012 -0700"
      },
      "message": "Use bionic\u0027s dlmalloc 2.8.5.\n\nAlso fix free space computations for DDMS.\n\nChange-Id: Icbc045b5461af89a0516f37f01acaaa815205348\n"
    },
    {
      "commit": "b18e77abdb06a443744fbb6589e0932fa89f6073",
      "tree": "0e77099cfedbbb13a1fee3c1b93c34305b447d1c",
      "parents": [
        "22ad71521f3006b9bf344738c0276a501934fc01"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 21 14:20:03 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 21 14:20:21 2012 -0700"
      },
      "message": "Switch art over to the new bionic dlmalloc 2.8.5 callback\n\nChange-Id: I1314e87a51553fd358dbf9c44f804a7eb2de3a7d\n"
    },
    {
      "commit": "cd30d82113913125222454d41981c8740724fb30",
      "tree": "338a7f0a77af657e1643b9d5fb33cf5585680a2c",
      "parents": [
        "627fc20794cd280164f5021e5359f938512247ef",
        "178cdcccdeced1c24ddfe5e96ed39d9a99ee85b1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 16 17:12:54 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 16 17:12:55 2012 -0700"
      },
      "message": "Merge \"Port multi-user support to art.\" into dalvik-dev"
    },
    {
      "commit": "178cdcccdeced1c24ddfe5e96ed39d9a99ee85b1",
      "tree": "57d11d49bc4efbe096451be081a564931696503e",
      "parents": [
        "f25448336f549de64c62c57f43a20b9079ef56c3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 16 16:47:31 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 16 16:59:44 2012 -0700"
      },
      "message": "Port multi-user support to art.\n\nDisabled for now, but will blow up in the right place as soon as our\ntree has the rest of the support.\n\nChange-Id: I668176784a2a855c3d22236dc57df53b7fd3ae67\n"
    },
    {
      "commit": "3eace7061b8a854b5d0566d15646302da57caf75",
      "tree": "f6fe6c5d65e69758e4363d8310e0df7fa3f8d925",
      "parents": [
        "66aee5cd571cf4739d2735769304202ea5051fb8"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Aug 16 10:44:47 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Aug 16 10:44:47 2012 -0700"
      },
      "message": "Tidy up some raw Object access cruft.\n\nChange-Id: I42fee7eb1f549a795a6c83d3f971ed478e9e5ee5\n"
    },
    {
      "commit": "00f7d0eaa6bd93d33bf0c1429bf4ba0b3f28abac",
      "tree": "6a2172ece15c4699e6c2a67ce76f019db0a9a21d",
      "parents": [
        "634ea28f78c4a138e6a1de54eae8696095422415"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jul 19 15:28:27 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 14 10:45:52 2012 -0700"
      },
      "message": "Global lock levels.\n\nIntroduce the notion of the mutators/GC being a shared-exclusive (aka\nreader-writer) lock. Introduce globally ordered locks, analysable by\nannotalysis, statically at compile time. Add locking attributes to\nmethods.\n\nMore subtly, remove the heap_lock_ and split between various locks that\nare held for smaller periods (where work doesn\u0027t get blocked). Remove\nbuggy Dalvik style thread transitions. Make GC use CMS in all cases when\nconcurrent is enabled. Fix bug where suspend counts rather than debug\nsuspend counts were sent to JDWP. Move the PathClassLoader to\nWellKnownClasses. In debugger refactor calls to send request and\npossibly suspend. Break apart different VmWait thread states. Move\nidentity hash code to a shared method.\n\nChange-Id: Icdbfc3ce3fcccd14341860ac7305d8e97b51f5c6\n"
    },
    {
      "commit": "cc236d74772dda5a4161d9bc5f497fd3d956eb87",
      "tree": "2cd44e980357edc5b1a477fb261adb590d34c7c7",
      "parents": [
        "f1ea6b072b8b473eabf91d1d582fb5966ffea4ba"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jul 20 10:29:05 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jul 27 14:30:51 2012 -0700"
      },
      "message": "Zygote space / partial collection support.\n\nThe zygote space is now created right before zygote fork. This space has new allocations into it disabled, this reduces memory usage since we have more shared pages.\n\nPartial collection works by marking all the zygote space -\u003e alloc space references by using a mod-union table and then recursively marking only over the alloc space.\n\nApproximate improvements;\n\nDeltablue time goes down ~0.5 seconds.\n\nCaffeinemark score goes up ~300.\n\nSystem memory usage goes down ~7MB.\n\nChange-Id: I198389371d23deacd9b4534f39727eb641786b34\n"
    },
    {
      "commit": "32c55de9075a4b6c5e45608dfdae7a5aa3e119b4",
      "tree": "98e7bbf6edcf00e62bd8c67e3992f9e203a4a235",
      "parents": [
        "81e2328c44a1e5b3fe26d275acfcf1ade26c05eb",
        "b062fdd4cb097fbae69b4bcb479c34d83ecab8ca"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 12 08:08:21 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 12 08:08:21 2012 -0700"
      },
      "message": "am b062fdd4: Each space has its own bitmap(s)\n\n* commit \u0027b062fdd4cb097fbae69b4bcb479c34d83ecab8ca\u0027:\n  Each space has its own bitmap(s)\n"
    },
    {
      "commit": "b062fdd4cb097fbae69b4bcb479c34d83ecab8ca",
      "tree": "215ea8fb42828a0f753ac5bd424ca098ce748342",
      "parents": [
        "ca314c6a1be1b4cc11f4d284da90af7dc8a4ce25"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jul 03 09:51:48 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 11 17:17:46 2012 -0700"
      },
      "message": "Each space has its own bitmap(s)\n\nEach alloc space now has One mark+live bitmap. Each image space has only one live bitmap.\n\nChange-Id: I2e919d1bd7d9f4d35d0e95ed83a58df6f754df6e\n"
    },
    {
      "commit": "aa4fab67c8f87047b44865b7a736d4b0a1936d45",
      "tree": "d2483a8352415023807800de30fcca0e25f6c96c",
      "parents": [
        "f70ab99ca425e931f4056577b7925e6e284381be",
        "26c5e1503425cae17f5b16fdf06a2d62ec03a59b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 11 13:18:55 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 11 13:18:55 2012 -0700"
      },
      "message": "am 26c5e150: Port \"Avoid method overriding if its super method is inaccessible\" to art.\n\n* commit \u002726c5e1503425cae17f5b16fdf06a2d62ec03a59b\u0027:\n  Port \"Avoid method overriding if its super method is inaccessible\" to art.\n"
    },
    {
      "commit": "26c5e1503425cae17f5b16fdf06a2d62ec03a59b",
      "tree": "91e3e62df1b13958b8b73a2ea871ccb877f8162a",
      "parents": [
        "5a8e3d5e87aed128837fb84874d18a1f68e63397"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 11 11:47:22 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 11 11:47:22 2012 -0700"
      },
      "message": "Port \"Avoid method overriding if its super method is inaccessible\" to art.\n\nThis is an art equivalent of https://android-review.googlesource.com/#/c/32480/3.\n\nChange-Id: Ifc2cd21e7e92f596bced3eabae4d16f16f4095ef\n"
    },
    {
      "commit": "ea9aff71aafeab5177ec6e32441704288afb290b",
      "tree": "1bd648149d71bdfa370afde690d2200deb3f39a1",
      "parents": [
        "089e2aa42a1f42251f92c3f41c41f12d25d18662",
        "52673ffae0025d86f4023735581f19ebcc477487"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jun 28 00:08:30 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 28 00:08:30 2012 -0700"
      },
      "message": "am 52673ffa: Move IsDaemon to native code.\n\n* commit \u002752673ffae0025d86f4023735581f19ebcc477487\u0027:\n  Move IsDaemon to native code.\n"
    },
    {
      "commit": "52673ffae0025d86f4023735581f19ebcc477487",
      "tree": "f684286493c5a71417b787717526a73de13ae9f0",
      "parents": [
        "9f509b90111ccc88dce25d587b2df4f87eb68013"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jun 27 23:25:34 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 28 00:05:10 2012 -0700"
      },
      "message": "Move IsDaemon to native code.\n\nHaving the daemon status in the managed heap means it is only readable\nby an attached thread in the runnable state. This is problematic when\nterminating the VM.\n\nAdd extra asserts that ScopedJniThreadState and Thread::SetState only\noccur on expected threads.\n\nRemember a cause for no thread suspension asserting.\n\nChange-Id: I8cf35c4c77751f8b1a35a5fb9a7f67682bf153bc\n"
    },
    {
      "commit": "4d7d723ffc4d9ee1861749ed978b12626c33dc53",
      "tree": "181c2711f5552f011bd9072e2584cc466e03e45a",
      "parents": [
        "112129dc20f0aaa366176a8cdeb1ef7abc088801",
        "afe25515c358617321d69ab4f25003e3d905d613"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jun 27 17:25:55 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 27 17:25:55 2012 -0700"
      },
      "message": "am afe25515: Update DexFile_isDexOptNeeded to handle system.img oat files with classes.dex\n\n* commit \u0027afe25515c358617321d69ab4f25003e3d905d613\u0027:\n  Update DexFile_isDexOptNeeded to handle system.img oat files with classes.dex\n"
    },
    {
      "commit": "afe25515c358617321d69ab4f25003e3d905d613",
      "tree": "c30ec73f0ae2f0b233f88b6eaf1c0b6bfd1df2dd",
      "parents": [
        "85545cd13c16c5074cca987f65247d7abddb39f7"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jun 27 17:02:58 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jun 27 17:16:42 2012 -0700"
      },
      "message": "Update DexFile_isDexOptNeeded to handle system.img oat files with classes.dex\n\nChange-Id: I564bacec777b745a9c911a8fe8dd98437b1ddd2d\n"
    },
    {
      "commit": "3f35966fbae30f3b1ce549f38cfd3eb391ee98e3",
      "tree": "b12c6dd111e16a82f85cc5439c7c378d89ee8f0a",
      "parents": [
        "1bc29eafe0194121cbb647c34bfdd5f009f7a7b6",
        "08fc03ae5dded4adc9b45b7014a4b9dfedbe95a6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 27 12:21:35 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 27 12:21:35 2012 -0700"
      },
      "message": "am 08fc03ae: Include held locks in SIGQUIT thread dumps.\n\n* commit \u002708fc03ae5dded4adc9b45b7014a4b9dfedbe95a6\u0027:\n  Include held locks in SIGQUIT thread dumps.\n"
    },
    {
      "commit": "08fc03ae5dded4adc9b45b7014a4b9dfedbe95a6",
      "tree": "3e767d037fd3e47e792b88d982ad38bce26d39e9",
      "parents": [
        "f94404ead1f2e4a1b5a2ff8bbdb65c5e4d4a77ea"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 26 17:34:00 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 27 12:18:25 2012 -0700"
      },
      "message": "Include held locks in SIGQUIT thread dumps.\n\nHandy if you have an ANR that\u0027s locking related. Quick tour:\n\n   at org.apache.harmony.dalvik.NativeTestTarget.emptyJniStaticSynchronizedMethod0(Native method)\n   - locked \u003c0x60135aa8\u003e (a java.lang.Class\u003corg.apache.harmony.dalvik.NativeTestTarget\u003e)\n   at java.lang.reflect.Method.invoke(Native method)\n   at C.whileTrue(Main.java:63)\n   at C.synchronizedOnClassString(Main.java:56)\n   - locked \u003c0x60002a70\u003e (a java.lang.Class\u003cjava.lang.String\u003e)\n   at C.nestedSynchronizationWithTryCatch(Main.java:44)\n   - locked \u003c0x61336b90\u003e (a java.lang.String)\n   - locked \u003c0x61336bd0\u003e (a java.lang.String)\n   at C.nestedSynchronization(Main.java:35)\n   - locked \u003c0x61336b18\u003e (a java.lang.String)\n   - locked \u003c0x61336b50\u003e (a java.lang.String)\n   at C.synchronizedOnClassC(Main.java:30)\n   - locked \u003c0x613366f8\u003e (a java.lang.Class\u003cC\u003e)\n   at C.noLocks(Main.java:27)\n   at C.\u003cclinit\u003e(Main.java:24)\n   - locked \u003c0x613366f8\u003e (a java.lang.Class\u003cC\u003e)\n   at Main.main(Main.java:19)\n\nA non-static synchronized native method works too:\n\n   at org.apache.harmony.dalvik.NativeTestTarget.emptyJniSynchronizedMethod0(Native method)\n   - locked \u003c0x613371a8\u003e (a org.apache.harmony.dalvik.NativeTestTarget)\n   ...\n\nNote that most stack traces don\u0027t look any different; the above is a\npathological example that exercises different kinds of locking. Testing\nwith system_server shows most threads don\u0027t hold any locks.\n\nFuture work (marked by TODO) is that explicit JNI MonitorEnter calls in\nnative code aren\u0027t shown.\n\nChange-Id: I2747f5cddb4ef64b1935736f084a68fe8e4005e9\n"
    },
    {
      "commit": "eded2ea60adabcfce3ac0adfcf454636d5efa4f9",
      "tree": "d8796ea5b5f19921a1674cb1f805f9d5c8f6f9c5",
      "parents": [
        "f43e1f9ec70bac4005fb5ed6c2e4c47ef35b45b3",
        "271769a39b900a5f9f752cea318980e96367b55b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jun 26 15:25:12 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 26 15:25:12 2012 -0700"
      },
      "message": "am 271769a3: Merge \"Increase use of ScopedJniThreadState.\" into ics-mr1-plus-art\n\n* commit \u0027271769a39b900a5f9f752cea318980e96367b55b\u0027:\n  Increase use of ScopedJniThreadState.\n"
    },
    {
      "commit": "365c10235438607541fa2259a5fec48061b90bd8",
      "tree": "26516a4985a8bbef4c8da36b99bf1e54af3ad24d",
      "parents": [
        "147440427984816b6ed5235a9b1fb2cbf99496d0"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jun 22 15:05:28 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jun 26 15:21:01 2012 -0700"
      },
      "message": "Increase use of ScopedJniThreadState.\n\nMove the routines for changing Object* to jobject and vice-versa\n(AddLocalReference and Decode) to ScopedJniThreadState to enforce use of\nObject*s in the Runnable thread state. In the Runnable thread state\nsuspension is necessary before GC can take place.\n\nReduce use of const ClassLoader* as the code bottoms out in FindClass\nand with a field assignment where the const is cast away (ie if we\u0027re\nnot going to enforce the const-ness we shouldn\u0027t pretend it is).\n\nRefactor the Thread::Attach API so that we\u0027re not handling raw Objects on\nunattached threads.\n\nRemove some unreachable code.\n\nChange-Id: I0fa969f49ee6a8f10752af74a6b0e04d46b4cd97\n"
    },
    {
      "commit": "e30c6d9f6458a747640cf614a69df9e1024532dc",
      "tree": "b0171fb5862b143df3355dbf680143c5428ba50e",
      "parents": [
        "64cd269a73f78aa5505963a44d83a7892f2f74a2",
        "0399dde18753aa9bd2bd0d7cf60beef154d164a4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jun 21 22:13:50 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 21 22:13:50 2012 -0700"
      },
      "message": "am 0399dde1: Remove Frame, merge shadow and quick representations.\n\n* commit \u00270399dde18753aa9bd2bd0d7cf60beef154d164a4\u0027:\n  Remove Frame, merge shadow and quick representations.\n"
    },
    {
      "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": "c151f90d7e31a59675e118c5aff20c8d3ad50ad0",
      "tree": "923511887af93148632377a5f52546c524249e5f",
      "parents": [
        "384c251c0b9f8918cdebf5f430878c84f10b1e46"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 21 20:33:21 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 21 20:33:21 2012 -0700"
      },
      "message": "Untested port of the SELinux dalvik change to art.\n\nChange-Id: I26b473156fe965f6ee34d8cbca6719c71442d912\n"
    },
    {
      "commit": "25abb8ca0fb56a0f93a7e7e1dde1c226948662f6",
      "tree": "baa61c7a6281e02c69e065c2855e985824e27753",
      "parents": [
        "9d6786b0499fce605aae16fb9cfb39c9562df256",
        "4d999fe696d43de5872f7be293e8a749cb69beaf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 20 14:26:59 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 20 14:26:59 2012 -0700"
      },
      "message": "am 4d999fe6: Merge \"Throw OOME if pthread_create(3) fails.\" into ics-mr1-plus-art\n\n* commit \u00274d999fe696d43de5872f7be293e8a749cb69beaf\u0027:\n  Throw OOME if pthread_create(3) fails.\n"
    },
    {
      "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": "4519844b5e2ff7409acb46f73ccaff07ecdc009f",
      "tree": "1b70b7f30b02ee64e008462d2911c46d185d232f",
      "parents": [
        "a0fc2c7c19277de43516acdcdf9c24a7bd36dc70",
        "7664f5cd118b355a5fe0c7536cb48ac991ed2b62"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 11 11:22:43 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 11 11:22:43 2012 -0700"
      },
      "message": "am 7664f5cd: Fix GC performance regression\n\n* commit \u00277664f5cd118b355a5fe0c7536cb48ac991ed2b62\u0027:\n  Fix GC performance regression\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": "97d99dd76dba4245f194e23004fb38d8413b0e81",
      "tree": "25d4f47b0c5d62eebf251475e154b32ba62be60d",
      "parents": [
        "22efc080a6ed1e985fa6198dde05f0e4b273bdb6",
        "622a6988351d77da0008142f4ce1ea447d838556"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 08 18:08:13 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 08 18:08:13 2012 -0700"
      },
      "message": "am 622a6988: Clean up the hprof implementation a bit.\n\n* commit \u0027622a6988351d77da0008142f4ce1ea447d838556\u0027:\n  Clean up the hprof implementation a bit.\n"
    },
    {
      "commit": "e301764320e766b39cc393c7be692ef661093831",
      "tree": "5e9ba314e5d6708512109b01319552c36090c895",
      "parents": [
        "029c456815dbbe59208868a80137db379c20ca03",
        "a8454bd4dc137513f3d4d3f69922165804aa7419"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 08 18:00:25 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 08 18:00:25 2012 -0700"
      },
      "message": "am a8454bd4: Merge \"Trim the native heap too, like dalvik did.\" into ics-mr1-plus-art\n\n* commit \u0027a8454bd4dc137513f3d4d3f69922165804aa7419\u0027:\n  Trim the native heap too, like dalvik did.\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": "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": "cb8f890e0723c4c9379aaf5c58bc80096c043f21",
      "tree": "92912345419f68166f2cac81ceb5f16f63dade80",
      "parents": [
        "5ddbe0bd1d3091f7afca7ad7e8ce8494c0c79994"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 01 16:42:50 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 01 16:42:50 2012 -0700"
      },
      "message": "[DO NOT MERGE] Bring ics-mr1-plus-art\u0027s Zygote in line with dalvik-dev\u0027s.\n\nWe\u0027re missing some libcutils changes in ics-mr1-plus-art, so we need to\ndisable the set_sched_policy call, but other than the #if, we\u0027re now 100%\nin sync with dalvik-dev.\n\nChange-Id: Id45527d846d72c796ad8504fdd90ba8bf9570d4c\n"
    },
    {
      "commit": "28c7bfdb245c09dfb6d953c42c42ebc5bb178ea1",
      "tree": "c9fb61afdd73ded021cbc0b0d2b6d1001f8e2706",
      "parents": [
        "60234563a621362c6ffe753fe5368afcd6682bcb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 01 12:45:40 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 01 12:45:40 2012 -0700"
      },
      "message": "Lose the boolean from Runtime.nativeExit.\n\n(This is getting ics-mr1-plus-art back in sync with dalvik-dev.)\n\nChange-Id: Icdb30a02444fd75a709b385cacf2b86b4e18f71d\n"
    },
    {
      "commit": "eac766769e3114a078c188ea26776a81f0edb3cf",
      "tree": "4b9b8dfc89725173431817baba4455c013e40577",
      "parents": [
        "3f9ace8d90bfc48c8d7bf35af66de8ce8238de7f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 24 21:56:51 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 25 12:04:43 2012 -0700"
      },
      "message": "DO NOT MERGE Fix all unsafe caching to be like libcore.\n\nThis way, if a runtime is restarted within a process, we re-initialize all\nthe cached data.\n\nConflicts:\n\n\tsrc/native/java_lang_Runtime.cc -- nativeExit lost an argument in dalvik-dev\n\n(cherry picked from commit 7756d5473fa27ce7e6ac7c31770eef7030431da4)\n\nChange-Id: I6184fc20c2a9ec16c4b053584a4d1c3b64452d0f\n"
    },
    {
      "commit": "7756d5473fa27ce7e6ac7c31770eef7030431da4",
      "tree": "b980f5daea1c11f016360d8a334748d999780e1d",
      "parents": [
        "1f92871d20f804913f460bb69dc4d605cabf30cc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 24 21:56:51 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 25 11:49:41 2012 -0700"
      },
      "message": "Fix all unsafe caching to be like libcore.\n\nThis way, if a runtime is restarted within a process, we re-initialize all\nthe cached data.\n\nChange-Id: Ifd441f8c84c4cff904ee62bbd6b5707ad365967d\n"
    },
    {
      "commit": "1d81bce6e2fb41d8de355e5c11547900f66d96c5",
      "tree": "70a710d8d1f1c13c0be0810cbc89ec49bdb338cc",
      "parents": [
        "7bdfa4279305bbbf9af05488fdaeb11d778f4d42",
        "aaa5edcf2deb1bddcbf5fb27820ad2240ac5b4f2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 16 17:23:58 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 16 17:23:58 2012 -0700"
      },
      "message": "am aaa5edcf: Improve reflection IllegalArgumentException detail messages.\n\n* commit \u0027aaa5edcf2deb1bddcbf5fb27820ad2240ac5b4f2\u0027:\n  Improve reflection IllegalArgumentException detail messages.\n"
    },
    {
      "commit": "aaa5edcf2deb1bddcbf5fb27820ad2240ac5b4f2",
      "tree": "c2d0f408237ad5a30bfd67819e5c9a72cc3ac45e",
      "parents": [
        "983f2e411aee6b1d09e6da30e059b782b2699909"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 16 15:54:30 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 16 15:54:30 2012 -0700"
      },
      "message": "Improve reflection IllegalArgumentException detail messages.\n\nAlso add a missing InstanceOf check that was causing CheckJNI to kill us\nif someone tried to pass an inappropriate reference type through\nMethod.invoke. (Amusingly, CheckJNI produced pretty much the exact detail\nmessage that Method.invoke should have.)\n\nPlus a new test for this stuff.\n\nBug: 6504175\nChange-Id: Ice95eecbdba5a0927c6eaf68e56d6500dc52ad2e\n"
    },
    {
      "commit": "2abeb9bd1435d95faa08ecb6786f2fb9bc184bc9",
      "tree": "8731223d6e7ba2fb39abd21e5c32e83c2aa87bce",
      "parents": [
        "7ecccc93ad287dc9076ed64f26668941c1b70df0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 11 23:42:02 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 11 23:42:02 2012 -0700"
      },
      "message": "Clean up the non-portable bits of Zygote.\n\nChange-Id: I24789708d67bf9b705061032aa7074c3c167b525\n"
    },
    {
      "commit": "2e73b645261e41cf4d9eb4a133147285cac3e320",
      "tree": "548b8f2a9e2e37e0b0e053f8bd03aba558ca27d9",
      "parents": [
        "930c54bceee553a0fe01cd58da6823bb55168043"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 11 16:46:43 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 11 16:46:43 2012 -0700"
      },
      "message": "This branch has an up-to-date cutils.\n\n(You will need to sync system/core.)\n\nChange-Id: I8db5bdc59a555b1ec53a70d02c42ba97941a0ad9\n"
    },
    {
      "commit": "a4dd5903ff3fcf96d2a7f03d5ab2640e3f10a65c",
      "tree": "144e9cad6b210b117850e0a2550d0c11d2dcbd73",
      "parents": [
        "914570cfd4df532f8a333e57cd5ccf8576aad650",
        "ab30c6fec7a297e3b6953b00c95ed38bb448cfe6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 09 12:02:48 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 09 12:02:48 2012 -0700"
      },
      "message": "am ab30c6fe: Merge \"Tidy up and finish reference table dumping.\" into ics-mr1-plus-art\n\n* commit \u0027ab30c6fec7a297e3b6953b00c95ed38bb448cfe6\u0027:\n  Tidy up and finish reference table dumping.\n"
    },
    {
      "commit": "73e66f73f5093b64f2b023ebbb85916a13d5c937",
      "tree": "fca2dcdf446aec9aad2a3096098c038279279e53",
      "parents": [
        "145d491d1a30b291eb3ea608507a04451237f327"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 09 09:34:45 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 09 09:34:45 2012 -0700"
      },
      "message": "Tidy up and finish reference table dumping.\n\nChange-Id: I9f0d214e27a75d373e3144b738f1e3da51bbc0ca\n"
    },
    {
      "commit": "154cef6e704126ede910b239dcd19d3eaf201b73",
      "tree": "f212ef8427ba4f84e8136ed054db61388e837a6e",
      "parents": [
        "16dfc04da6d6fe92a3fbc3a2d0fa813861ada157"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 02 22:34:03 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 02 22:38:09 2012 -0700"
      },
      "message": "Only linux has personality\n\nChange-Id: If668d9756d03cc12d6a2c0ac01d40245779bc296\n"
    },
    {
      "commit": "9cde5054d9db5ee5942d35c0758bbee1106115cd",
      "tree": "97c0d3b041620e61056f26d91cd1ccee64818ef5",
      "parents": [
        "763330669f7e420d01f544fbd91e1fb0a9399b9d",
        "51e5386d207785316431be6719b3f128bc4048c0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 02 17:36:47 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 02 17:36:47 2012 -0700"
      },
      "message": "Merge \"Port 311886c6c6fcd3b531531f592d56caab5e2a259c to art.\" into dalvik-dev"
    },
    {
      "commit": "51e5386d207785316431be6719b3f128bc4048c0",
      "tree": "f97500a384a66e61f96b6ff29caf29e9ff4fc132",
      "parents": [
        "10b628b805bf54831c5e601c5b0daa2f12b8a724"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 02 17:17:28 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 02 17:19:14 2012 -0700"
      },
      "message": "Port 311886c6c6fcd3b531531f592d56caab5e2a259c to art.\n\nARM kernel ASLR bug workaround.\n\nBug: 5817320\nChange-Id: I9a04e669a642c08a07b0b3da29700d2cfd8d279f\n"
    },
    {
      "commit": "eab5198f806fccf1aef79db7602c4e3ce0a4e7bd",
      "tree": "3c669cb1c8217838661dc7104d7f31b2d32758ea",
      "parents": [
        "84d9357b9ac6a9b9fe5bd083d31abc760f1d1844",
        "7c6169de901fd0a39c8e0c078874dc25207f5b59"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 02 17:12:25 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 02 17:12:25 2012 -0700"
      },
      "message": "am 7c6169de: Port my AOSP QuasiAtomic rewrite to art.\n\n* commit \u00277c6169de901fd0a39c8e0c078874dc25207f5b59\u0027:\n  Port my AOSP QuasiAtomic rewrite to art.\n"
    },
    {
      "commit": "7c6169de901fd0a39c8e0c078874dc25207f5b59",
      "tree": "dd7adafc6bcdb734c26a495e4bd923081ef637e7",
      "parents": [
        "736df0253aa65ebccb29ddb6443c31b7730ca3e5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 02 16:11:48 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 02 16:11:48 2012 -0700"
      },
      "message": "Port my AOSP QuasiAtomic rewrite to art.\n\nChange-Id: I9e8fe487b15083cfc441a90ec1ec0eb5e645229e\n"
    },
    {
      "commit": "18124a1063c8b49c6692d5deb7384a6d05eedc4b",
      "tree": "7a676cac3048450f0bd0cc8224903e10a0ac78c3",
      "parents": [
        "02546c5f58074f12649f1d837a947b68ea8e994a",
        "b6636b8ef90221eaf7f4779eb2c2256f560d3e64"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 24 10:43:17 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 24 10:43:17 2012 -0700"
      },
      "message": "am b6636b8e: Add a reminder that we need to track a change in master.\n\n* commit \u0027b6636b8ef90221eaf7f4779eb2c2256f560d3e64\u0027:\n  Add a reminder that we need to track a change in master.\n"
    },
    {
      "commit": "b6636b8ef90221eaf7f4779eb2c2256f560d3e64",
      "tree": "fb028eb0cdaac32dc51dad167ecc7c8ea38c60bd",
      "parents": [
        "5b17d08be8f9508ead25891c4d3e707f9dddfbc5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 24 10:41:16 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 24 10:41:16 2012 -0700"
      },
      "message": "Add a reminder that we need to track a change in master.\n\nChange-Id: I99a98063871d99803ea95b121ddb286b5d05f048\n"
    },
    {
      "commit": "930542462d03d62c241481130794f3768cbcf511",
      "tree": "96a25856a2f35bfc33528514bd7c5dd48565de58",
      "parents": [
        "0f4b3f6d809c60dc8f66056c685787433f7fe737",
        "620cf223c9c37258f1888fef9bd8bfbf624480f7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 20 23:12:28 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 20 23:12:28 2012 -0700"
      },
      "message": "am 620cf223: Merge \"Tidy up some C-isms.\" into ics-mr1-plus-art\n\n* commit \u0027620cf223c9c37258f1888fef9bd8bfbf624480f7\u0027:\n  Tidy up some C-isms.\n"
    },
    {
      "commit": "7b9d996e4cd7d154bb1a244d67139aff0c363cf2",
      "tree": "a9dabe8f910b4b8bf29c2f4285d860995e25f58d",
      "parents": [
        "934100aea5a0f498c17e2c4a1fd0193af1557b42"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 20 18:48:18 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 20 18:57:19 2012 -0700"
      },
      "message": "Tidy up some C-isms.\n\nChange-Id: I53b457cab9067369320457549071fc3e4c23c81b\n"
    },
    {
      "commit": "034b7172fe8cb29adad6b7fc177696df0ad4ba18",
      "tree": "aadbec2c022c587b6369aebcb25ae3bba2e47070",
      "parents": [
        "469911a591d677d1e06b0174c8589343c4fcedee",
        "fbe5b757cff040a455f93388d6eebdee0653a089"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Apr 19 00:58:33 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 19 00:58:33 2012 -0700"
      },
      "message": "am fbe5b757: Fix LLVM build. Otherwise, function not used warning.\n\n* commit \u0027fbe5b757cff040a455f93388d6eebdee0653a089\u0027:\n  Fix LLVM build. Otherwise, function not used warning.\n"
    },
    {
      "commit": "fbe5b757cff040a455f93388d6eebdee0653a089",
      "tree": "1cc69bee1f70aa8adae7fb32add6c46f8a3a0ddb",
      "parents": [
        "da83d972b1aa90ada23b592bcea00603d1ee78b7"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Apr 19 00:26:00 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Apr 19 00:33:43 2012 -0700"
      },
      "message": "Fix LLVM build. Otherwise, function not used warning.\n\nNote that we use -Werror.\n\nChange-Id: I14c2d1d040d392cf5b2866298dc9c62a216f329b\n"
    },
    {
      "commit": "d455de8f30b4b5b47fb4721392c73a43857a6488",
      "tree": "deab5dac69e42c5bfdcd42f864fbd0284d369dcb",
      "parents": [
        "9e69127384552476ad2fdc5d7e3caa21adea80c4",
        "264675757a1d1ba43f53634d1301b7d6b79fe02c"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Wed Apr 18 21:59:17 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 18 21:59:17 2012 -0700"
      },
      "message": "am 26467575: Don\\\u0027t use work_around_app_jni_bugs for llvm now.\n\n* commit \u0027264675757a1d1ba43f53634d1301b7d6b79fe02c\u0027:\n  Don\u0027t use work_around_app_jni_bugs for llvm now.\n"
    },
    {
      "commit": "264675757a1d1ba43f53634d1301b7d6b79fe02c",
      "tree": "de8ebe45f28c4c287d3be5e8cca7fee2fe5c587a",
      "parents": [
        "69eafaae2c910ea6f704a3867f9b78647174a0df"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Tue Apr 17 20:51:22 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Apr 18 18:44:23 2012 -0700"
      },
      "message": "Don\u0027t use work_around_app_jni_bugs for llvm now.\n\nChange-Id: Id698e60c09dc863311445498d8813e38a48b8cc4\n"
    },
    {
      "commit": "e132f438aed99ea9e10b1779b27cd6869b6f5701",
      "tree": "191bbb97c6095e13fa0aeed6f08f8bc233743a69",
      "parents": [
        "b4c10132c03ab88fdff107b96f2b2a8e573038ef",
        "0dae08ead9112adb81ad507b81187f00f77bc168"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Apr 14 14:45:12 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Apr 14 14:45:12 2012 -0700"
      },
      "message": "am 0dae08ea: Move JNI methods out of top-level.\n\n* commit \u00270dae08ead9112adb81ad507b81187f00f77bc168\u0027:\n  Move JNI methods out of top-level.\n"
    },
    {
      "commit": "0dae08ead9112adb81ad507b81187f00f77bc168",
      "tree": "5c09e5ab16fa544360e6354796f999cfeaf991e7",
      "parents": [
        "776ac1fa61237db645adb4370a4aab888530caf4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Apr 14 13:55:11 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Apr 14 13:55:11 2012 -0700"
      },
      "message": "Move JNI methods out of top-level.\n\nChange-Id: Ia9c883ba9a13b205cda7b72024e2939f02583acb\n"
    }
  ]
}
