)]}'
{
  "log": [
    {
      "commit": "9d156d500801accee919b6d51e22d6ddcdcd4a05",
      "tree": "92129562c0ba1673c660297f26444a4a2ad31459",
      "parents": [
        "078483d4dfd049d5b3f192a99e2dfdc355e4754f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 06 17:44:26 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 12 09:49:49 2016 -0700"
      },
      "message": "Move Heap parameters to ObjPtr\n\nDeleted some unused object dumping code.\n\nTest: test-art-host\n\nBug: 31113334\n\nChange-Id: I747220caafe6679591fd4b361d7f50383a046164\n"
    },
    {
      "commit": "3fec9ac0d5af1358d216eb2fdc2000ec0205f3f0",
      "tree": "f38d8d8aae51f53e7ee6b474f47597b784fc2316",
      "parents": [
        "0cfe19af3b7395658210ea6044a65c9811962a7a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 13 10:47:28 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 26 10:59:22 2016 -0700"
      },
      "message": "ART: Use libbase logging\n\nMove most of our logging infrastructure over to system/core/base.\nRetain VLOG.\n\nUsing unified Android infrastructure has two main advantages. First,\nit reduces the complexity/maintenance burden in ART. Second, it\nallows to detach logging for the cases where we do not want or need\na runtime, e.g., dexdump, the disassembler, etc. As a part of the\nlatter, libbase is also supported for all hosts (including Windows).\n\nFrom a developer viewpoint, there are minor behavior changes for the\nLOG statements (see above), but otherwise usage is the same. Explicit\nseverity enum items are in the android::base namespace now.\n\nBug: 31338270\nTest: m test-art-host\nChange-Id: I5abcb2f45f5b03d49951874c48544f72a283a91b\n"
    },
    {
      "commit": "db978719dbcb73fc6acfd193561445c4462786b8",
      "tree": "be75911bfbe29a50fff685217c8ee155fb99ac10",
      "parents": [
        "015b137efb434528173779bc3ec8d72494456254"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 09 13:33:38 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 09 13:33:38 2014 +0000"
      },
      "message": "Revert \"Tidy gAborting.\"\n\nCreates infinite loop: b/18674776.\n\nThis reverts commit 015b137efb434528173779bc3ec8d72494456254.\n\nChange-Id: I67fe310d2e95ee2ec37bec842be06fb1123b6f4e\n"
    },
    {
      "commit": "015b137efb434528173779bc3ec8d72494456254",
      "tree": "2ccaba9d7465bd9995082a7251d34cf76b1ab1ea",
      "parents": [
        "a21fdd0432aa38b63d144ee4b92b6a567aab61d2"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Dec 04 19:53:52 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Dec 04 20:04:45 2014 -0800"
      },
      "message": "Tidy gAborting.\n\nReduce scope to Runtime::Abort and short-cut recursive case earlier. gAborting\nremains global to avoid two fatal errors in thread and the verifier.\n\nChange-Id: Ibc893f891ffee9a763c65cde9507d99083d47b3f\n"
    },
    {
      "commit": "c7dd295a4e0cc1d15c0c96088e55a85389bade74",
      "tree": "0c08a2236bc9ba5d9a4dc75d4dd0ed2d76f8f1c6",
      "parents": [
        "94e5af8602150efa95bde35cc9be9891ddf30135"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 21 23:31:19 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 22 12:06:23 2014 -0700"
      },
      "message": "Tidy up logging.\n\nMove gVerboseMethods to CompilerOptions. Now \"--verbose-methods\u003d\" option to\ndex2oat rather than runtime argument \"-verbose-methods:\".\nMove ToStr and Dumpable out of logging.h, move LogMessageData into logging.cc\nexcept for a forward declaration.\nRemove ConstDumpable as Dump methods are all const (and make this so if not\ncurrently true).\nMake LogSeverity an enum and improve compile time assertions and type checking.\nRemove log_severity.h that\u0027s only used in logging.h.\nWith system headers gone from logging.h, go add to .cc files missing system\nheader includes.\nAlso, make operator new in ValueObject private for compile time instantiation\nchecking.\n\nChange-Id: I3228f614500ccc9b14b49c72b9821c8b0db3d641\n"
    },
    {
      "commit": "28c8359c4e9d01ee09dc73409070b7f2223d670f",
      "tree": "33addd09ac4d5fc2b45265d32262b7d5e5a1ef12",
      "parents": [
        "b02458f842a1263e6a7b3107d819a97a37fec726"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Mar 04 13:40:17 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Mar 04 13:48:25 2014 -0800"
      },
      "message": "Disable new signal handler.\n\nDoesn\u0027t play well with existing signal handlers.\n\nChange-Id: Ic93691ad8af14f037bec571a2163bae146741d31\n"
    },
    {
      "commit": "c2f4d0240b3a9b905dff5b546924865f15241481",
      "tree": "133e39fac183d8ea0818f93b8e5e88f4221b9555",
      "parents": [
        "6b8c503c6df887ff30f478ab58bdfdb223492f45"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 03 16:11:42 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 03 16:40:42 2014 -0800"
      },
      "message": "Fix SafePrettyTypeOf to never call VerifyObject.\n\nCalling VerifyObject from the segfault handler caused another\nsegfault.\n\nChange-Id: I459646594d830cbb110a4ac2bac25a7b90794854\n"
    },
    {
      "commit": "15d3402bbf8265eb1165694da2e4117eb128f3bc",
      "tree": "eea2dae3c338d3070f63e086fa2a3669a9204873",
      "parents": [
        "ba8fdcc10193cdfa825c973d740b7ebf6dec2d89"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 26 17:16:38 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Feb 28 17:02:17 2014 -0800"
      },
      "message": "Add custom SIGSEGV handler to help find heap corruption.\n\nThe new signal handler prints heap diagnostics when you get a SIGSEGV.\nAdded a fault message member in runtime which is modifiable by\nRuntime::SetFaultMessage. When you get a SIGSEGV it will print out\nwhatever is stored in this string as well as the normal information.\nThis is useful for debugging heap corruption since it lets you see\nwhich threads were in which methods when the last GC occured.\n\nAdded some smarter object dumping logic when the faulting address is\nin the heap.\n\nBug: 12934910\n\nChange-Id: Ia72be2c39f70ad711cbd746d66fad2b617d5d29f\n"
    },
    {
      "commit": "7940e44f4517de5e2634a7e07d58d0fb26160513",
      "tree": "ac90242d96229a6942f6e24ab137bc1f8f2e0025",
      "parents": [
        "5cd9e3b122f276f610980cbaf0d2ad6ed4cd9088"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 13:46:57 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 17:49:01 2013 -0700"
      },
      "message": "Create separate Android.mk for main build targets\n\nThe runtime, compiler, dex2oat, and oatdump now are in seperate trees\nto prevent dependency creep.  They can now be individually built\nwithout rebuilding the rest of the art projects. dalvikvm and jdwpspy\nwere already this way. Builds in the art directory should behave as\nbefore, building everything including tests.\n\nChange-Id: Ic6b1151e5ed0f823c3dd301afd2b13eb2d8feb81\n"
    },
    {
      "commit": "8593fdbacf97261f790ca53ea0ec416f57c987a7",
      "tree": "a9c97a2bc41a31c3a7f8f72d5f1c27bb34b8a627",
      "parents": [
        "e2f0911dfc7cec7c48ad0dea50f2028ae0f1fd0f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Apr 21 20:53:44 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Apr 21 20:53:44 2012 -0700"
      },
      "message": "Clean up host aborts (and simplify the code).\n\nChange-Id: I6efaf065304459df0e030f242f8d1d2fc6fdec4a\n"
    },
    {
      "commit": "457005c557b8762475db3220ce5a747d629f975b",
      "tree": "e267d67cf62e64f8d479d4af2df631fed3ef8d26",
      "parents": [
        "1144f950daafb99b4b48196c17391f54f7abb4d3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 16 13:54:25 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 16 13:54:25 2012 -0700"
      },
      "message": "Add signal handlers for host builds to imitate debuggerd.\n\nThis isn\u0027t going to be as reliable as debuggerd because we\u0027re running inside\nthe crashed process. We could always build debuggerd for the host, and have\nsomething to call out to that. But for now, this gives us most of the\ninformation most of the time...\n\nChange-Id: I992ffb3bdb2903e4b83bd5666108ebe12a813338\n"
    },
    {
      "commit": "2faa5f1271587cda765f26bcf2951065300a01ff",
      "tree": "c59557857c36741cfcd1b6bf5ae039886a8ad6e7",
      "parents": [
        "0850c69c88d49efd4075288511b70d6c032bd0c8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 30 14:42:07 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 30 16:46:29 2012 -0800"
      },
      "message": "Fix copyright headers.\n\nChange-Id: I5b7bc76a370238d810d78522bd5531600746700f\n"
    },
    {
      "commit": "ad107abee00fb523b9fda575a40395e9d6d9510d",
      "tree": "9db5ff4af4613224ed136bedce10b88538933bff",
      "parents": [
        "650a07d237f219ee6f23cfe939118e6f9c48f4d3"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sun Aug 14 15:54:24 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sun Aug 14 15:54:24 2011 -0700"
      },
      "message": "Remove author attributions.\n\nChange-Id: I58d2983ce41f6b3f3a4e1bbd1d075e794b8257e3\n"
    },
    {
      "commit": "ffe6736397d17457188727510f0a2953f69a383a",
      "tree": "0d03bee69cf0cfecf76253fe3cb5f6898ae64faa",
      "parents": [
        "a5780dad67556297c8ca5f2608c53b193e6c4514"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Jul 17 12:09:27 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Jul 17 12:22:59 2011 -0700"
      },
      "message": "Implement Runtime::Abort and switch LOG(FATAL) over to it.\n\nRuntime::Abort takes arguments so it can provide less misleading log output,\nbut this shouldn\u0027t matter to callers because they should be using LOG(FATAL)\nanyway.\n\nThis patch also fixes an errno/errno_ mixup in the logging code.\n\nChange-Id: If24b66b7bbf0bf7c0ecb93dd806d82b1d21ee239\n"
    }
  ]
}
