)]}'
{
  "log": [
    {
      "commit": "91570ce987ef93f9ba2fa663a5fee1bd2525a2ba",
      "tree": "6d79ac1618f8415982041faf046378f8b684a12e",
      "parents": [
        "f0f8cd1ff3e7f7124cab8a687370b51df4ec93de"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 10 12:34:23 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 10 12:34:23 2014 -0700"
      },
      "message": "Slim down static binaries by avoiding stdio.\n\nIt\u0027s okay for a program to choose to drag in stdio, but it\u0027s unfortunate\nif even the minimal \"int main() { return 42; }\" drags in stdio...\n\nThis brings the minimal static binary on ARM down from 78KiB to 46KiB.\n\nGiven that we don\u0027t have a separate -lpthread it\u0027s not obvious to me that\nwe can shave this down any further. I\u0027m not sure whether this is a worthwhile\nchange for that reason. (And the fact that dynamic binaries, the usual case,\nare unaffected either way.)\n\nChange-Id: I02f91dcff37d14354314a30b72fed2563f431c88\n"
    },
    {
      "commit": "67c437b2315a0b01ca4031192879f8eba966b1a7",
      "tree": "ba4957c763cde5450457bcd811f6dd8223f8e4a5",
      "parents": [
        "6403cc48707b67b3400bdaf720f3e4777a1b48de"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 04 23:14:48 2014 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 04 23:14:48 2014 +0000"
      },
      "message": "Revert \"Temporarily expose dlmalloc_usable_size.\"\n\nThis reverts commit 6403cc48707b67b3400bdaf720f3e4777a1b48de.\n\nChange-Id: Id1ce4088be1e6c83271c6317eb3e5f7fc11c7b95\n"
    },
    {
      "commit": "6403cc48707b67b3400bdaf720f3e4777a1b48de",
      "tree": "ae5f4d62725ee921e1e0b00a5770111371792243",
      "parents": [
        "53e3bbab07f8d410418f87007177d5ad81e38bcf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 04 16:08:17 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 04 16:08:17 2014 -0700"
      },
      "message": "Temporarily expose dlmalloc_usable_size.\n\nBug: 15425694\nChange-Id: I47e1ca598817359260c372fec8072e76886054f0\n"
    },
    {
      "commit": "9b5235d74e794d29fa912fe95ca3d5ec488dd371",
      "tree": "1cc132c801f60ba36a48af810bae05fefd4e1b02",
      "parents": [
        "3dbc2fe33e7a1c0e545f7762d3c7a98429c5a82b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 03 18:47:17 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 03 18:47:17 2014 -0700"
      },
      "message": "Hide dlmalloc symbols.\n\nWe need to leave dlmalloc_trim and dlmalloc_inspect_all exposed for\nthe VM, but if we\u0027re seriously looking at other malloc implementations,\nthat\u0027s something we\u0027re going to have to fix.\n\nBug: 11156955\nChange-Id: If85156c280044f1616c09a3c50ba674aaf0e8d3a\n"
    },
    {
      "commit": "d0f2a6014c138945f78108b21b54a813c7a055db",
      "tree": "e85eed80c57edd9bebdfca324ab7e71331eb15dc",
      "parents": [
        "6fe4a58f84954523f17114f1f7cf060a3573c073"
      ],
      "author": {
        "name": "Rom Lemarchand",
        "email": "romlem@google.com",
        "time": "Tue Jul 23 11:30:52 2013 -0700"
      },
      "committer": {
        "name": "Rom Lemarchand",
        "email": "romlem@google.com",
        "time": "Tue Jul 23 13:48:39 2013 -0700"
      },
      "message": "Restore dlmalloc mmap threshold to 64k\n\nRestoring DEFAULT_MMAP_THRESHOLD to 64k, the way it was before\n999089181ef60bb67e1a49f2cf6f4ec608a7caf8.\n\nThis forces allocations in the 64k-256k range to be mmaped.\n\nChange-Id: Iace55ed638edd272b3e94fa6cd2ddd349042be84\nSigned-off-by: Rom Lemarchand \u003cromlem@google.com\u003e\n"
    },
    {
      "commit": "3e2d2936b0447ed2f0b0aab3625494b2533cd422",
      "tree": "4c2fb816f869b4fad805a02bfc701d20abc20e1e",
      "parents": [
        "6fe901ef38898d9cb6007720940e915f7180fc11"
      ],
      "author": {
        "name": "Kirill Artamonov",
        "email": "kartamonov@nvidia.com",
        "time": "Fri Aug 31 09:19:16 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Aug 31 11:11:40 2012 -0700"
      },
      "message": "Avoid malloc lock while calling pthread_atfork.\n\nExpecting the memory in a forked child process to be sane wrt threading\nis a bad idea. An example of a problem is when the parent process has\nthe malloc lock and a child process is forked. The malloc lock in the\nchild will appear locked by a thread that doesn\u0027t exist.\n\nThis change aims to make bionic more compatible with glibc by reseting\nthe malloc lock in the child forked process, as well as holding it\nduring the fork. This is a feature in dlmalloc 2.8.6 called\nLOCK_AT_FORK. In general this feature isn\u0027t necessary as a forked\nprocess will then exec. Some bad applications rely on being able to use\nfeatures like malloc before the exec and having multiple threads running\nin the parent program. This isn\u0027t a problem with glibc and this patch\nmakes it not a problem for bionic.\n\nUnfortunately for use in bionic, LOCK_AT_FORK has an issue as internally\nit uses pthread_atfork that in bionic uses malloc. This leads to the\nLOCK_AT_FORK initialization deadlocking with pthread_atfork\u0027s call to\nmalloc due to the malloc lock. This change moves the pthread_atfork logic\nin LOCK_AT_FORK to be called without the malloc lock held.\n\nChange-Id: Id68175a564a6abb936ee4488b44d9479f7311f69\n"
    },
    {
      "commit": "c6d95add30dc24674bdcb39f69812c115e4205fd",
      "tree": "4e6776adfb8fed41d3b5075d15916ffc11197134",
      "parents": [
        "069c64cdf2d3da7b7ff6ea5d1041f982fb10ab22"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Aug 29 14:04:53 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Aug 29 18:18:29 2012 -0700"
      },
      "message": "Upgrade to dlmalloc 2.8.6.\n\nThis fixes a bug and enables the use of MORECORE_CONTIGUOUS.\n\nChange-Id: Ia7c5d32bdc46e99b3ecb92ee94d1f702c4385d5d\n"
    },
    {
      "commit": "999089181ef60bb67e1a49f2cf6f4ec608a7caf8",
      "tree": "68b426388adc78040949e65282fd623d08b7644d",
      "parents": [
        "9417a80e48d3bba4bea814178aaa79b905ebab8c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Aug 17 17:28:15 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Aug 20 14:12:20 2012 -0700"
      },
      "message": "Upgrade to dlmalloc 2.8.5.\n\nMove dlmalloc code to upstream-dlmalloc to make pulling upstream changes\neasier.\nDeclare pvalloc and malloc_usable_size routines present in malloc.h but with\nmissing implementations. Remove other functions from malloc.h that have\nno implementation nor use in Android.\n\nChange-Id: Ia6472ec6cbebc9ad1ef99f4669de9d33fcc2efb4\n"
    },
    {
      "commit": "b74ceb25aae555570df64fa4d4076272733a9a20",
      "tree": "3bf49e716722b67f4b0f0bcb391156bf29fa6ad0",
      "parents": [
        "e8870ffc965d553a885f63b26e724da279728b72"
      ],
      "author": {
        "name": "Vladimir Chtchetkine",
        "email": "vchtchetkine@google.com",
        "time": "Tue Nov 17 14:13:38 2009 -0800"
      },
      "committer": {
        "name": "Vladimir Chtchetkine",
        "email": "vchtchetkine@google.com",
        "time": "Wed Nov 18 10:36:25 2009 -0800"
      },
      "message": "Split libc_debug.so into two .so modules loaded on demand from libc.so\n\nThis change is intended to eliminate need to replace libc.so with libc_debug.so in order to enablememory allocation debugging.\nThis is also the first step towards implementing extended memoryallocation debugging using emulator\u0027s capabilities in monitoring memory access.\n"
    },
    {
      "commit": "f30dae9cf452e4308a34450b2a48eb6602936976",
      "tree": "bc018510b61563dbd2f4479ce9a21d98d2abe251",
      "parents": [
        "90ec5f2a3f581927ffef55733e8d531890fdc90e"
      ],
      "author": {
        "name": "Barry Hayes",
        "email": "bhayes@google.com",
        "time": "Tue May 26 10:33:04 2009 -0700"
      },
      "committer": {
        "name": "Barry Hayes",
        "email": "bhayes@google.com",
        "time": "Tue Jun 02 14:48:59 2009 -0700"
      },
      "message": "Add mspace_merge_objects\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"
    }
  ]
}
