)]}'
{
  "log": [
    {
      "commit": "861c0ef37bcfcae56d88572cb01c18bcfe1faded",
      "tree": "f63fc703a50b23213537962e4f60519f8b34db47",
      "parents": [
        "a7dc7600fe1be1f3fd61856b407bb7065307e711"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jul 24 17:52:23 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jul 29 18:10:00 2014 -0700"
      },
      "message": "Use libunwindbacktrace for debug malloc code.\n\nCreate a method of disabling the debug allocation code paths so that\nit\u0027s possible to use the libunwindbacktrace library without any\nmodifications.\n\nUse this path to create and destroy the maps for the process. It\u0027s not\nstricly necessary in the init code since the symbols are not modified\nuntil after the initialize calls.\n\nAlso, remove the debug_XXX source files that doesn\u0027t need to be in libc.so.\n\nFix the maps reading code since it was completely broken for 64 bit.\n\nBug: 16408686\n\nChange-Id: I6b02ef6ce26fdb7a59ad1029e7cbba9accceb704\n"
    },
    {
      "commit": "6425327c3278137d153b8a7505f97d2f5f058d49",
      "tree": "89601d76e7adb7fa4e2629444d9318068825bcc1",
      "parents": [
        "d18b87f38de8644acdcd1a112bd06d3a70d2ea1d"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jul 18 12:26:45 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jul 18 14:16:51 2014 -0700"
      },
      "message": "Use the mmap/munmap for allocation routines.\n\nTo avoid any issues calling malloc related routines, use mmap/munmap.\nSpecifically, this avoids any problems when this is compiled into a\nmalloc debug shared library.\n\nChange-Id: Iae2d197145da43dc103ad6024357d8cc2374378f\n"
    },
    {
      "commit": "72bbd423579bb971dc06cdd3c06201faf3fe95e6",
      "tree": "222c460d45ac120ae45940628c501d6cfb50f84b",
      "parents": [
        "afb89c2a01089bb247456634a15a58f111bb55a6"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu May 08 11:14:03 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue May 20 14:47:33 2014 -0700"
      },
      "message": "Support for jemalloc to replace dlmalloc.\n\nTo use jemalloc, add MALLOC_IMPL \u003d jemalloc in a board config file\nand you get the new version automatically.\n\nUpdate the pthread_create_key tests since jemalloc uses a few keys.\nAdd a new test to verify memalign works as expected.\n\nBug: 981363\n\nChange-Id: I16eb152b291a95bd2499e90492fc6b4bd7053836\n"
    },
    {
      "commit": "35b621c5f4c79959cd36fec0153c2c9c43ebe5f0",
      "tree": "016d232e99a12943587357bf8b10a3d25cb98b0e",
      "parents": [
        "a0151cbfbaa37965dbcd188a55a78d3ad4802b9b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 28 16:27:36 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 29 09:56:31 2013 -0800"
      },
      "message": "Don\u0027t collect useless stack frames; do demangle C++ symbols.\n\nPreviously, we\u0027d collect every stack frame and then throw some away\nwhen we came to log them. This meant that stack traces were effectively\nshorter than the buffers that had been allocated for them. This patch\nonly stores frames we\u0027ll actually output.\n\nAlso dynamically call the C++ demangler so we don\u0027t have to try to\nread mangled names. Because no one knows the mangling of operator new[]\nfor int arrays off the top of their head.\n\nBug: 7291287\nChange-Id: I42b022fd7cd61675d05171de4c3b2704d058ef2a\n"
    },
    {
      "commit": "1e980b6bc8315d00a07312b25486531247abd98c",
      "tree": "539f2c0c63fca27d5eb6ba184d658bb0e11a32d9",
      "parents": [
        "e4ca88d9fa8757e4fb4056fcafa5bc15b406a2fd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 17 18:36:06 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 18 22:20:06 2013 -0800"
      },
      "message": "Fix the duplication in the debugging code.\n\nWe had two copies of the backtrace code, and two copies of the\nlibcorkscrew /proc/pid/maps code. This patch gets us down to one.\n\nWe also had hacks so we could log in the malloc debugging code.\nThis patch pulls the non-allocating \"printf\" code out of the\ndynamic linker so everyone can share.\n\nThis patch also makes the leak diagnostics easier to read, and\nmakes it possible to paste them directly into the \u0027stack\u0027 tool (by\nusing relative PCs).\n\nThis patch also fixes the stdio standard stream leak that was\ncausing a leak warning every time tf_daemon ran.\n\nBug: 7291287\nChange-Id: I66e4083ac2c5606c8d2737cb45c8ac8a32c7cfe8\n"
    }
  ]
}
