)]}'
{
  "log": [
    {
      "commit": "199f9d923804d74e021dd80e48ec75c0a96dba77",
      "tree": "3a00bb9e267cf952d7d1140ff9a39ca07ee6c994",
      "parents": [
        "763ac28357f604e0e4196e0a7ad5b0f5cdcf274a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 28 02:54:37 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 28 03:17:02 2009 -0700"
      },
      "message": "Improve memcpy performance from 290 MiB/s to 340 MiB/s (17% improvment)\n\nuse 64 bytes cache lines, reduce the main loop to 64-bytes instead of\n128 bytes and adjust the prefetch distance to the optimal value.\n"
    },
    {
      "commit": "fdc5c1f56f9d21034badb8e4b092c47098f19613",
      "tree": "e46fc6ca820662d33e1dd48ff8fd65a84eac7e83",
      "parents": [
        "1e40783d9ad29c88a4d547774e05080fc4327a2e"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Oct 05 14:11:55 2009 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Oct 05 14:25:10 2009 -0700"
      },
      "message": "Re-enable ARMv7 memcpy implementation.\n\nDo not submit this patch before the one that modifies the Android emulator to\nwork-around a weird ARMv7 emulation issue. This is done to temporarily re-allow\nthe -user builds needed for QA.\n"
    },
    {
      "commit": "1e40783d9ad29c88a4d547774e05080fc4327a2e",
      "tree": "d73c841ff9743e0f78ecd410794998eba693d9db",
      "parents": [
        "fe46030cdd97f9cf810630541df367dd2b85cae9"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Oct 02 19:13:27 2009 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Oct 02 19:13:27 2009 -0700"
      },
      "message": "Fix armv7-user builds by disabling the ARMv7-optimized memcpy.\n\nThis is required to work-around some corny bugs in ARMv7 emulation.\n\nThe emulation itself is required to run the dex pre-optimization pass\nfor -user builds.\n"
    },
    {
      "commit": "ee223d02d96815c989b62043ff1237b1cd4e14b0",
      "tree": "b60fc608c7c0d87da2dfb3015faa3da62fe09335",
      "parents": [
        "33acbf0719c4f3db059bc9e1f52cf554a5d0295f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Sep 27 17:46:43 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Sep 28 19:08:18 2009 -0700"
      },
      "message": "NEON optimized memcpy.\n\n372 MB/s for large transfers, 440 MB/s for smaller ones down to 1KB. 130 MB/s for very small transfers ( \u003c 32 bytes )\nPerformance is similar with non-congruent buffers.\n"
    },
    {
      "commit": "f355096a64b74c8e869527de55f7e908873e3128",
      "tree": "914ca013c2b4979b97c639c301a70c41a4785a4a",
      "parents": [
        "bc10cd2900cdb7fed077163b6a33e0f8572b2b19"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Sun Sep 27 07:08:46 2009 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Sun Sep 27 07:08:46 2009 -0700"
      },
      "message": "Remove NEON optimizations for memcpy\n"
    },
    {
      "commit": "bd192b470b69e00e9313680b70c5572a609e535d",
      "tree": "61d3575f3195acab886e3fe74388ff45b76fb539",
      "parents": [
        "824201294b5f3c3ad6ca9d9751d96f78142c5409"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Tue Sep 15 13:41:14 2009 -0700"
      },
      "committer": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Tue Sep 15 13:41:14 2009 -0700"
      },
      "message": "Add stack unwinding directives to assembly leaf functions.\n\nSo that the real culprit of native crashes can surface in the stack trace.\n"
    },
    {
      "commit": "1bbc56cd227546cb155bb47721cdb717780a3400",
      "tree": "d8fa2782b57382a9f94eb4cd51113c842d67eab7",
      "parents": [
        "898cc98f3d6536f7ae1b38340537edecf9a529f2"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Aug 26 21:50:42 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Sep 02 23:21:52 2009 +0200"
      },
      "message": "Neon-optimized versions of memcpy.\n\nThis optimization come from the external 0xdroid repository.\nOriginal patch can be found here:\n\nhttp://gitorious.org/0xdroid/bionic/commit/ebafe41c2c02f8c09a3c1d7746047083df180ac5\n"
    },
    {
      "commit": "1dc9e472e19acfe6dc7f41e429236e7eef7ceda1",
      "tree": "3be0c520fae17689bbf5584e1136fb820caef26f",
      "parents": [
        "1767f908af327fa388b1c66883760ad851267013"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:35 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:35 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "1767f908af327fa388b1c66883760ad851267013",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "a799b53f10e5a6fd51fef4436cfb7ec99836a516"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:13 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:13 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "4e468ed2eb86a2406e14f1eca82072ee501d05fd",
      "tree": "4e05b3c66eef86531e464521a3bf96a1864d4bf5",
      "parents": [
        "a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:03:48 2008 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:03:48 2008 -0800"
      },
      "message": "Code drop from //branches/cupcake/...@124589\n"
    },
    {
      "commit": "a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349",
      "tree": "defd1cc07d16ad2f3b21154114e092d11c94c5bb",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
