)]}'
{
  "log": [
    {
      "commit": "fee09e556f3414bc1027809477c0019084cc01c1",
      "tree": "3222d98e7842d30b2da29774e2ceeca943d70a67",
      "parents": [
        "94571f9ade03cfe24bff1bddc4d6c1a320b39b8e"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Oct 10 08:40:21 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Oct 13 12:45:35 2014 -0700"
      },
      "message": "Return total footprint, not high water mark.\n\nThe mallinfo usmblks value returned by dlmalloc is a little misleading.\nIt\u0027s not the current max, it\u0027s the historical high water mark. This\nleads to dumpsys meminfo producing native memory numbers that don\u0027t add up.\nChange this to the real total footprint, not this high water mark.\n\nBug: 17265653\n\n(cherry pick from commit f4ada9c9ce31c7e56146a4cb703747385bc043a5)\n\nChange-Id: I2fba10285859dccfe8331063c9be14cc169f2d91\n"
    },
    {
      "commit": "a403780538ac9d1a260e064df6599663f8cc4166",
      "tree": "340dd81279be34b49622c68dc037ceb5cd73bcc9",
      "parents": [
        "0ada9388e74693d990bdbb4af92c33bae8b34d4b"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jun 09 19:14:11 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jun 12 15:08:18 2014 -0700"
      },
      "message": "Put all allocation functions into dispatch table.\n\nImplement these new functions for all of the debug malloc types.\n\nFix a number of bugs in the debug malloc functions related to overflow\nconditions.\nFix a bug in dlpvalloc due to an overflow condition.\n\nFix various other bugs in the debug malloc functions.\n\nAdd new tests for malloc functions.\n\nBug: 11225066\n\nChange-Id: Idf50f389603e2157645565bc15cd9365eec2e9dd\n"
    },
    {
      "commit": "09f76cdd9bba385b1eab4ffd6abd1aed96dce93d",
      "tree": "d6edcb20a932ed07ffdae25c9815f8cddb334281",
      "parents": [
        "ff4608ae0cb78caa05b83e109fc2633682958089"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 06 09:55:36 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 06 09:59:13 2012 -0700"
      },
      "message": "Fix build warning of initialization but no use.\n\nfirst_run is only used with LOCK_AT_FORK, however, care needs to be\ntaken with the #if to avoid compiler warnings when LOCK_AT_FORK isn\u0027t\nbeing used.\n\nChange-Id: I6bcfac2ab8732c91607f4a1bcd7c0019f29c2eec\n"
    },
    {
      "commit": "82978cae4eec238a9d631d2b61b8985daa02516e",
      "tree": "c36a0ec576cfeb799d855a1c96e3c772f113f946",
      "parents": [
        "be19a3671709879ccc0156b94f7ef7540027dc37",
        "3e2d2936b0447ed2f0b0aab3625494b2533cd422"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 05 07:41:31 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 05 07:41:32 2012 -0700"
      },
      "message": "Merge \"Avoid malloc lock while calling pthread_atfork.\""
    },
    {
      "commit": "63deae5e4f186a453fb6fbab0d8acf314aab4df0",
      "tree": "60c9e9358eca95ca7151760087289643c4068c5f",
      "parents": [
        "1db615b4ae469c9f33dc1d88b24924ca8efc10ef"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 04 15:42:23 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 04 15:42:23 2012 -0700"
      },
      "message": "Add missing MALLOC_FAILURE_ACTION calls to dlmalloc.\n\nWithout these, sometimes malloc(3) returns NULL without setting errno.\n\nChange-Id: I4708c3f675bf2c878ddcaf012fde7848b255826b\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"
    }
  ]
}
