)]}'
{
  "log": [
    {
      "commit": "96c9de9510b33e2c8def669c4dfcb65db729e7d2",
      "tree": "7949b6c0289b63ab48004569489a3d0fe102b7be",
      "parents": [
        "74768fb83073a2ae84c9173d4fc53654e3092b24",
        "b06e28e5b9fbabe3e69b18f31bf353eaff5d0c1f"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Dec 15 15:29:17 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 15 15:29:17 2015 +0000"
      },
      "message": "Merge \"Refactor DexFile::DecodeDebugInfo.\""
    },
    {
      "commit": "b06e28e5b9fbabe3e69b18f31bf353eaff5d0c1f",
      "tree": "18ff419c6a3b80ecff3125f13b72a8851e848ab0",
      "parents": [
        "f71b3ade9c99ce2fec2f5049ce9c5968721e1b81"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Dec 10 13:15:00 2015 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Dec 15 15:11:50 2015 +0000"
      },
      "message": "Refactor DexFile::DecodeDebugInfo.\n\nSplit the method into two - one for locals and one for positions.\nAll uses of the method request only one of the two and it makes the\ncode slightly cleaner. The position variant requires fewer parameters.\n\nExpose additional line table information which was previously ignored\nby the decode method (prologue, epilogue, source file).\n\nChange-Id: Idf8ba98fa58ea0d2103932b5cc0af81365885107\n"
    },
    {
      "commit": "1f12e28d52dace9f6e5906b5b7c43793acbc7971",
      "tree": "18d090710026ee22c9dd3b7c3673fc842de9cb51",
      "parents": [
        "748047de833061466e230baf374480a147568f73"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Dec 10 16:49:47 2015 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Dec 10 16:54:29 2015 -0800"
      },
      "message": "Make \u0027dexdump2 -l xml\u0027 include whether each class is an interface.\n\nChange-Id: Id83ef52454596ab80b16042e58ff9d00bc5fb8ed\n"
    },
    {
      "commit": "82863f0ce9fa45f6b14d12c35a6a50e2772ab26a",
      "tree": "16863b18db5dff2d3d125c956910d45048f24341",
      "parents": [
        "e8be90a673feb573d53277f42282955cbf7f58e9"
      ],
      "author": {
        "name": "Shinichiro Hamaji",
        "email": "hamaji@google.com",
        "time": "Thu Nov 05 16:51:33 2015 +0900"
      },
      "committer": {
        "name": "Shinichiro Hamaji",
        "email": "hamaji@google.com",
        "time": "Thu Dec 10 13:16:59 2015 +0900"
      },
      "message": "Output static field values in dexdump\n\nThis is necessary to generate table-of-contents of .dex files\nto prevent unnecessary rebuilds for implementation-only\nchanges because these values can be used while compiling other\nmodules.\n\nAlso modify EncodedStaticFieldValueIterator so it can be used\nwithout ClassLoader/Linker.\n\nBug: 24597504\nChange-Id: Ida0c839f9dd6961e1c1b3a380e2092042fad03bb\n"
    },
    {
      "commit": "a3bb72036f5454e410467f7151dc89f725ae1151",
      "tree": "3fe0e065df402b37868835f7c31ef33458088e21",
      "parents": [
        "525b665cef9d85a6cfe56994561a24e10dac7f0f"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Oct 26 17:24:09 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Oct 27 09:27:03 2015 -0700"
      },
      "message": "Added format 25x to dexdump(2).\n\nRationale: Igor introduced a new format for invoke-lambda which\n           was not recognized by dexdump(2) yet.\n\nSample output:\n\nChange-Id: I2d9cd4b740452bb8380de2234819bcd4ad49345a\n0002ac:                  |[0002ac] Hello.doit:()V\n0002bc: f600 0200        |0000: create-lambda v0, LHello;.-void_doit__LambdaImpl0:(J)V // method@0002\n0002c0: f300 0000        |0002: invoke-lambda v0, {}\n0002c4: f600 0300        |0004: create-lambda v0, LHello;.-void_doit__LambdaImpl1:(JI)V // method@0003\n0002c8: 1212             |0006: const/4 v2, #int 1 // #1\n0002ca: f310 2000        |0007: invoke-lambda v0, {v2}\n0002ce: 0e00             |0009: return-void\n"
    },
    {
      "commit": "5073fedd553afeb6ccdb49c1a1ab2cc2947c0870",
      "tree": "6c47517d6e2580729442d08f287d05e2070dee83",
      "parents": [
        "b19b82bf6c8a55459fddcd55e86b162b2c0b9101"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 10 11:40:25 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 12 22:52:32 2015 -0700"
      },
      "message": "ART: Add utility function to dump dex CFG\n\nAdd a utility function in utils.h to dump the dex CFG of\na method.\n\nAdd an option (\"-g\") to dump CFGs of a dex file in dexdump2.\n\nChange-Id: I380082f0abe8ed7eeb6a9186364a99425f69f55c\n"
    },
    {
      "commit": "4e14960f070a0979e785d278ec3452905b669110",
      "tree": "303b1014b2bbc6e1fe0b5e5dbb43202f464b35b6",
      "parents": [
        "f99628f7673c21c42be34f95bef6bbb50cd99f20"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Jul 09 11:45:28 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Jul 09 11:45:28 2015 -0700"
      },
      "message": "Enable multi-dex content per file in dexlist/dump.\n\nRationale:\nUnlike the original Dalvik-based utilities, the Art-based\nutilities are able to extract multi-dex content from one file.\nSo no need for any artificial restriction on number of dex files.\n\nBug: 22322814\nChange-Id: I7c603d22c7e0caa5ae712b905d9bb83982f1b918\n"
    },
    {
      "commit": "22c26f5b454b56a20215cb8bbc5e8afcaccafdb0",
      "tree": "25e224c087f006e75983a6f7fdcf55ee53797861",
      "parents": [
        "d10ee1ce1ccd92c003ec49c15edf339e74c13894"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Jul 08 21:20:13 2015 +0000"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Jul 08 21:20:13 2015 +0000"
      },
      "message": "Revert \"Make Art dexdump/list the real utilities.\"\n\nThis reverts commit d10ee1ce1ccd92c003ec49c15edf339e74c13894.\n\n\nREASON:\nwin_sdk is not happy with my migration :-(\n\nChange-Id: I2ed196da3f5883112883525f883d25b36e48352a\n"
    },
    {
      "commit": "d10ee1ce1ccd92c003ec49c15edf339e74c13894",
      "tree": "65f85f5bdf5dbc4141fc556d3389d3a7ca9d40c7",
      "parents": [
        "d9acfe21f6eb09a22db69958dfb05c1f48f779bd"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Jul 08 11:30:04 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Jul 08 11:30:04 2015 -0700"
      },
      "message": "Make Art dexdump/list the real utilities.\n\nNote: depends on pending CL that removes\n      old dexdump/list and libdex.\n\nBug: 22322814\nChange-Id: I99259553f0f4655a633989feb8d67aa11de8b29d\n"
    },
    {
      "commit": "69ae54abd4eaad54dc73b75ea7c8051aa515581d",
      "tree": "aefa425ee72a15dff5f542c14808a717b266709a",
      "parents": [
        "01b2129de3e182b79aa820e71fc7fa1ef42f2d35"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Jul 01 14:52:26 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Jul 06 11:33:07 2015 -0700"
      },
      "message": "Migrated dexdump from Dalvik (libdex) into Art (libart)\n\nRationale:\nThe new dexdump (temporarily called dexdump2 until we are\nsatisfied with the migration) is a re-implementation of the\noriginal dexdump utility that was based on Dalvik functions\nin libdex into a new dexdump that is now based on Art functions\nin libart instead.\n\nThe output is identical to the original for *correct* DEX files.\nOutput in error messages and the usage() may differ, however,\nsince the new utility relies on Art parsing and verification.\n\nNOTE 1:\nODEX files are no longer supported.\n\nNOTE 2:\nWhere possible, I kept the file as close to the original\nas possible, including some archaic C idioms on memory\nallocation; those can be improved over time.\n\nNOTE 3:\nI used the standard Android.mk format for the new dexdump,\nbut this probably needs to be Art-i-fied.\n\nNOTE 4:\nSome minor issues that need resolution are marked with a TODO.\n\nBug: 17442393\nChange-Id: I753743f64afcf4b84b8d33efbd1cfcb7908f0c3e\n"
    }
  ]
}
