)]}'
{
  "log": [
    {
      "commit": "8cf9cb386cd9286d67e879f1ee501ec00d72a4e1",
      "tree": "88e86e214b425e444760fe4e0ffeee677e1558a2",
      "parents": [
        "914b7b6a6c9f399b26b41e9160e9871ef749e0db"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 19 09:28:38 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 24 16:07:10 2017 -0700"
      },
      "message": "ART: Include cleanup\n\nLet clang-format reorder the header includes.\n\nDerived with:\n\n* .clang-format:\n BasedOnStyle: Google\n IncludeIsMainRegex: \u0027(_test|-inl)?$\u0027\n\n* Steps:\n find . -name \u0027*.cc\u0027 -o -name \u0027*.h\u0027 | xargs sed -i.bak -e \u0027s/^#include/ #include/\u0027 ; git commit -a -m \u0027ART: Include cleanup\u0027\n git-clang-format -style\u003dfile HEAD^\n manual inspection\n git commit -a --amend\n\nTest: mmma art\nChange-Id: Ia963a8ce3ce5f96b5e78acd587e26908c7a70d02\n"
    },
    {
      "commit": "775224df29c2539be706f1fb5ebd01a4da58b0a6",
      "tree": "85687aa5b98282f768d8dcb4837a30380aab2b6b",
      "parents": [
        "4dd8880401bc7cd7bc748e5f828771611aa7bdc1"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jul 05 11:04:01 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jul 05 11:04:01 2017 +0100"
      },
      "message": "Extend dexdump2 tests for invoke-custom\n\nBug: 36957105\nTest: art/test/dexdump/run-all-tests\nChange-Id: Ib61dab73502868214d30a26315d08597961b4d98\n"
    },
    {
      "commit": "631827d9b200c93f24816c6869d72426f9fed8e3",
      "tree": "9d5d768df39e21a2678d4b9148c5ec4d1c016911",
      "parents": [
        "d64fbfa3471c47d6628d6014bc4a3ac780abd26a"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Apr 10 14:53:47 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Jul 04 11:57:13 2017 +0100"
      },
      "message": "Fixes for constant method handles\n\nAdd support for constant direct and interface method handles in the\nDEX file.\n\nAdd error handling for field and method resolution failures in\nClassLinker::ResolveMethodHandle().\n\nBug: 36957105\nTest: art/test/run-test --host 952-invoke-custom-kinds\nChange-Id: I91a2a23ba3365310eccb8cadd193b62f57e5811c\n"
    },
    {
      "commit": "e17cf243978ca7f5356e746ee460f0fcf04e04a6",
      "tree": "e8ad423bf1dee5756fec451ba22db749ed4f5472",
      "parents": [
        "2bc159ebd1115f71d80639e47fc38663aa84ba4a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 19 11:05:51 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 19 11:11:12 2017 -0700"
      },
      "message": "Add field/method skipping helper functions to DexFile\n\nSpecifically added SkipStaticFields, SkipInstanceFields,\nSkipAllFields, SkipStaticMethods, and SkipVirtualMethods.\n\nAlso applied the helpers to the code base.\n\nTest: test-art-host\nChange-Id: Idda77f9a6e2564c2e588d2bbe11cc320063fdb32\n"
    },
    {
      "commit": "f45d61c0866461c9476f17644b27dc0664d507c5",
      "tree": "95d2837a03d451cccd82cad61924980beb5fd0d4",
      "parents": [
        "83b140474aa1759739c8ee4464bf226c4fa0f6d7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 07 10:29:33 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 08 17:19:51 2017 -0700"
      },
      "message": "ART: Fix or disable some tidy warnings.\n\nAdd a strlcpy shim for the host, so we can use strlcpy instead of\nstrcpy everywhere.\n\nFixed warnings include unused-decls, (some) unreachable code, use\nafter std::move, string char append, leaks, (some) excessive padding.\n\nDisable some warnings we cannot or do not want to avoid.\n\nBug: 32619234\nTest: m\nTest: m test-art-host\nChange-Id: Ie191985eebb160d94b988b41735d4f0a1fa1b54e\n"
    },
    {
      "commit": "c069a30d42aefd902c20e8bc09dfad1683f07ded",
      "tree": "8bbf72bea7ea5d243b57f8e0ab64b687a9f60e4b",
      "parents": [
        "3f38398380b80d1ded078ebed1211b7e4f51460f"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jan 18 09:23:12 2017 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Feb 14 14:04:33 2017 +0000"
      },
      "message": "ART: invoke-custom support\n\nAdds invoke-custom instruction to the interpreter.\n\nBug: 33191717,30550796\nTest: art/test/run-test --host 952\nChange-Id: I3b754128649a8b3a00ade79ba2518d0e377f3a1e\n"
    },
    {
      "commit": "46ee31b67d7ee1bd085fbc240502053caa3cf8fa",
      "tree": "83e870f293cd60d533207e389d7b094acd87b31f",
      "parents": [
        "9538f9e2a5d03f1b1bc07ebfbd93b61dcf8ad604"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 14 10:11:49 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 15 09:50:39 2016 -0800"
      },
      "message": "ART: Move to libbase StringPrintf\n\nRemove ART\u0027s StringPrintf implementation. Fix up clients. Add\nmissing includes where necessary.\n\nTest: m test-art-host\nChange-Id: I564038d5868595ac3bb88d641af1000cea940e5a\n"
    },
    {
      "commit": "8a0128a5ca0784f6d2b4ca27907e8967a74bc4c5",
      "tree": "0dec75200282ae5e49785395e97bd4e6459f1c09",
      "parents": [
        "60438b46090d22bb9b978196f5aa53fab3b89759"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 28 07:38:35 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 29 11:11:46 2016 -0800"
      },
      "message": "ART: Add dex::StringIndex\n\nAdd abstraction for uint32_t string index.\n\nTest: m test-art-host\nChange-Id: I917c2881702fe3df112c713f06980f2278ced7ed\n"
    },
    {
      "commit": "a5b09a67034e57a6e10231dd4bd92f4cb50b824c",
      "tree": "304be738f4fa528b7ad2676103eecc84c79eaeeb",
      "parents": [
        "dac7ad17c78387d15d7aefae0f852dddf5f37e34"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 17 15:21:22 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 21 10:57:00 2016 -0800"
      },
      "message": "ART: Add dex::TypeIndex\n\nAdd abstraction for uint16_t type index.\n\nTest: m test-art-host\nChange-Id: I47708741c7c579cbbe59ab723c1e31c5fe71f83a\n"
    },
    {
      "commit": "7b45a8af9ba8bd512ca85259a6422a120196fe8b",
      "tree": "2aa828cdbfb4c80042ee4d7bb1ddbd65db6e9050",
      "parents": [
        "3209925b7c0e173741885e63f747af16dac78469"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Oct 24 16:07:59 2016 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Oct 24 16:27:36 2016 -0700"
      },
      "message": "Let dexdump prompt filename for zipped multi-dex files.\n\nTest: test-art-host-dexdump test-art-host-gtest-dexdump_test\n\nBug:32365197\nChange-Id: I25a274da93cd3317fd5b18ad578ac4dcad1b83a1\n"
    },
    {
      "commit": "caacd11864383aac65e61be837fb1bb5f91e3878",
      "tree": "0fc2836395d93349aa2e745f31a3cb248e1fdacf",
      "parents": [
        "3667e26de4856cccf24bcbab54ad3349a05267c0"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Oct 20 16:27:02 2016 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Oct 24 08:55:22 2016 -0700"
      },
      "message": "Move dex CFG dumping out of utils.cc\n\nMove CFG dumping to dexdump, the only client.\n\nBug: 22322814\nTest: test-art-host\nChange-Id: I0f39f1d5dfc446419d26d709b78d04e45616f42c\n"
    },
    {
      "commit": "b34bb193dd2d45af196592bb4bae26f30d529b13",
      "tree": "e0c38aef953ba388b7e0fb0ef41ec78ab95d4044",
      "parents": [
        "3da7190bae7c1d75edbc87f01343652c246639f2"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Oct 18 17:02:58 2016 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Oct 20 19:04:07 2016 +0100"
      },
      "message": "Dex disassembly suppport for invoke-polymorphic.\n\nBug:  30550796\nTest: art/test/dexdump/run-all-tests\nChange-Id: I013ce2ebbcf9555e01170dc47fc38036c276b1b4\n"
    },
    {
      "commit": "14832efeb92334c562ebedef34e920d30e3cee69",
      "tree": "57d10c24966a46ae1c01861ee579ac6000326c45",
      "parents": [
        "c984725d0035e1925371757c38fed339b409e525"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Aug 05 11:44:32 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Aug 09 13:47:49 2016 +0100"
      },
      "message": "Revert experimental lambda feature.\n\nThis is a revert of the following changes :\n\n30c475a2046951a81769c2db0b2dad66cd71e189.\nlambda: Minor capture-variable/liberate-variable clean-up after post-merge reviews.\n\n6918bf13eb855b3aa8ccdddda2d27ae8c60cec56.\nlambda: Experimental support for capture-variable and liberate-variable\n\nfc1ccd740b7c8e96dfac675cfc580122cd1b40a6.\nlambda: Infrastructure to support capture/liberate-variable dex opcodes\n\ne2facc5b18cd756a8b5500fb3d90da69c9ee0fb7.\nruntime: Add lambda box/unbox object equality\n\n2ee54e249ad21c74f29a161e248bebe7d22fddf1.\nruntime: Partially implement box-lambda and unbox-lambda experimental opcodes\n\n158f35c98e2ec0d40d2c032b8cdce5fb60944a7f.\ninterpreter: Add experimental lambda opcodes for invoke/create-lambda\n\na3bb72036f5454e410467f7151dc89f725ae1151.\nAdded format 25x to dexdump(2).\n\nPlus surrounding cleanups.\n\nTest: make test-art\nChange-Id: Ic6f999ad17385ef933f763641049cf721510b202\n"
    },
    {
      "commit": "c05e2f2255cfc7d1a5a91be4aa3dfe7838e4e77a",
      "tree": "8b2152de5eabef2c996f171a1bb989f053196b0f",
      "parents": [
        "f79c0e6f74dfaf7ca5ba3fbe1c903abd65086a1a"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Jul 12 15:53:13 2016 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Jul 12 16:55:06 2016 -0700"
      },
      "message": "Refactored a few dexdump alloc/free into unique_ptr\n\nRationale: easier to read\n\nTest: dexdump\u0027s output is well-tested\n\nChange-Id: Ib5b36dce68d442e555599f9427bd9bfa7c6f3831\n"
    },
    {
      "commit": "a0e33fd572e81a67841706fb0b49cd3c4f6f8c11",
      "tree": "dc5453049be18cfe9b126706bf2dbf443d4b887f",
      "parents": [
        "a5f0a1ab3f632f1e9c0bc048604aa0c0e98a4a93"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Jul 08 18:32:45 2016 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Jul 11 11:18:55 2016 -0700"
      },
      "message": "Fix clang static analyzer on potential memory leaks.\n\nRationale:\nFirst was not really a leak, but the combination of stack/heap\nallocated data structures with a single re-allocation was a bit\ncomplex for static analysis. Second was a true leak.\n\nBUG\u003d30040701\n\nChange-Id: I10c2095f3061bd2ad49f24f7c25fcd7ca0f95111\n"
    },
    {
      "commit": "37d6a3bbf5826abb73f872ed0bc4c6ae9553e274",
      "tree": "0fbe5fda78e251597f909f654014f2c25efa62e5",
      "parents": [
        "739dc72773c5dee583a1d322f91b5abd61f9889d"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Jun 21 18:30:10 2016 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Jun 22 15:39:07 2016 -0700"
      },
      "message": "Support the -i flag in the new dexdump.\n\nRationale:\nThe old dexdump supported the -i feature (ignore checksum failures).\nThis CL adds the same functionality to the new dexdump. Note that\nthis feature is, for example, useful to inspect DEX files that are\nextracted from images (with quickened instructions), since the\nchecksum is not always valid in those cases.\n\nBUG\u003d29548017\n\nChange-Id: I6017b2f3d789f450560b568297f43c62bf9453b1\n"
    },
    {
      "commit": "dce50865e8d37db3de314431496ac61018e45ebe",
      "tree": "f06dd8d7a0c44c8794eba824e23c28fd6ee5bb47",
      "parents": [
        "29475496590df1451fc6a86a8cb05618cec02bb4"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Jun 10 16:04:03 2016 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Jun 17 15:13:08 2016 -0700"
      },
      "message": "Implemented annotations display in dexdump.\n\nRationale:\nShowing this in true dexdump style as a separate construct\nunder switch -a (rather than interpreting the data and showing\neach annotation where it is used). Also added new test to\ncover many more value encodings in static fields.\n\nBUG\u003d28981655\n\nChange-Id: I6d7d44cbd358d9880aab78812471bdb0dc6b6ad8\n"
    },
    {
      "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"
    }
  ]
}
