)]}'
{
  "log": [
    {
      "commit": "f57589fd40e5b69dad5aff060ccef756507f381a",
      "tree": "62d38e73660d9818b18c4741c6b3cce3306d63d5",
      "parents": [
        "c25dfeab1a66c942ae658fc7cd367f7c1ac502a1"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Oct 17 10:09:33 2016 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Oct 17 13:50:35 2016 -0700"
      },
      "message": "Remove logging dependency on runtime\n\nMoved the abort backtracing function to runtime, forcing callers to\nsupply the aborter at InitLogging.  This makes runtime properly layer\non top of logging by removing the cyclic dependency.\n\nBug: 22322814\nTest: test-art-host\nChange-Id: I8b2e72174e937bb88fe1bddd6d04b564cfb011a9\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": "904614f008fa03b4443f1a0abdac1a1966805696",
      "tree": "4fb2578a78dcf514bccc6df9ad24674623bdf8c4",
      "parents": [
        "ec88abde5944eaa94e1299cc2ec040b51977b1f4",
        "afd3c9ea7f238afebd5073c1143d3c832ab10a71"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 19 17:12:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 19 17:12:37 2016 +0000"
      },
      "message": "Merge \"Convert art runtests to Android.bp\""
    },
    {
      "commit": "afd3c9ea7f238afebd5073c1143d3c832ab10a71",
      "tree": "ea95e66ac119b6f86f637ebbeba22e956d3a4c4e",
      "parents": [
        "be3a3ee02f148345ba6e1a0361532a3f7e8c0002"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Sep 16 13:47:21 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 19 10:10:42 2016 -0700"
      },
      "message": "Convert art runtests to Android.bp\n\nBuild the art runtest libraries with Android.bp.  The host test\nlibraries move from out/host/linux-x86/lib[64] to\nout/host/linux-x86/nativetest[64], and the device test libraires from\n/data/artest/${TARGET_ARCH} to /data/nativetest[64]/art/${TARGET_ARCH},\nwhich requires adding nativetest to the library search path, and fixing\nsome tests to support multiple entries in library search paths.\n\nTest: m -j test-art-host\nTest: m -j test-art-target\nChange-Id: I2118a3292f22f275954ddd7cdd4e12287fe47808\n"
    },
    {
      "commit": "9aa352e92b6ca0f2250cb7f54dfbf4b1be714c19",
      "tree": "647b9274daa64b3497c202da4327be26fe4e494b",
      "parents": [
        "47c22ff721503c0eb325508450663adacf0bd377"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Sep 15 18:13:52 2016 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Sep 16 16:31:19 2016 -0700"
      },
      "message": "Remove TypeLookupTable from DexFile.\n\nOne more step towards removing runtime dependencies from the DexFile\nAPI.  This severs the ties to OatFile.  Work remains to move MemMap out\nof DexFile.\n\nBug: 22322814\nChange-Id: I29e7ad8fd292c7919ed2689dc754b958b88d6819\nTest: test-art-host\n"
    },
    {
      "commit": "6e95dd56e43b3a29fb8360bd94e31cd2eaab1d3d",
      "tree": "c536c5588f8a96f4559ca00921c7852a82558ea5",
      "parents": [
        "6b22aa5106e60545119b9eeaceaa9f87ee597305"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 12 15:37:10 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Sep 15 12:27:06 2016 -0700"
      },
      "message": "Convert art gtests to Android.bp\n\nThis splits the compilation and running of the art gtests into two\nseparate locations.  The tests are now compiled in multiple Android.bp\nmodules in each directory.  art.go collects the installed locations of\neach test and exports it as make variables.  art/build/Android.gtest.mk\nconverts the list into the rules to run the tests.\n\nThis has a few changes in behavior:\n  - The rules to build tests are now always defined, and will build as\n    part of mmma art or make checkbuild.\n  - Host tests are no longer installed into out/host/linux-x86/bin, they\n    are in out/host/linux-x86/nativetest[64]/\u003cmodule name\u003e/\u003ctest name\u003e\n  - Target tests are now in\n    /data/nativetest[64]/art/\u003carch\u003e/\u003cmodule name\u003e/\u003ctest name\u003e\n\nTest: mmma -j art\nTest: m -j test-art-host\nTest: m -j test-art-target\nChange-Id: Iabcd99d43890e6b693688422b07a283c3226a496\n"
    },
    {
      "commit": "fe6064ae8b861f1290aa793ce0de219781da6a10",
      "tree": "a24da585adbafc5932e4c3aab07f0e1d9a639628",
      "parents": [
        "090a5da3a7f320b9d2aa9fa461efc11a7eb39392"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Aug 30 13:49:26 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Sep 08 11:00:53 2016 -0700"
      },
      "message": "Convert more of art to Android.bp\n\nRelanding I1b10f140e17dd5e12a9d7f6a29d47cf61f5bf6ef, with fixes to\ncompile dalvikvm32 and dalvikvm64, and add them as dependencies of\ntests.  Also fixes HOST_PREFER_32_BIT by moving the override from the\ndefaults, which are not used by everything in art, to the art_cc_binary\nmodule type.\n\nTest: rm -rf out/host; m -j HOST_PREFER_32_BIT test-art-host; m -j test-art-host\nChange-Id: I64d3eef5080e128103d052497760c3521cc253c6\n"
    },
    {
      "commit": "1a861719fdadf1a27cf7df9955311cc7d4d4c217",
      "tree": "c15c6f0b213845b20a0bae8b900940a4eecdd3f5",
      "parents": [
        "e251b1204f678919e37da32667fab2c5bbcbbb76"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Sep 07 00:16:35 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Sep 07 00:17:20 2016 -0700"
      },
      "message": "Revert \"Convert more of art to Android.bp\"\n\nThis reverts commits 4a456275e25c536f525b6c020ca38c8ada8a05de and\n198a957915eb75c5f837ea57d385aa6cfa69f76e.\n\nChange-Id: Ibe49f611ae3ed7748bcfc9ac07f8d1f52d6bea3a\n"
    },
    {
      "commit": "4a456275e25c536f525b6c020ca38c8ada8a05de",
      "tree": "f30cb1bbca4dbacc264409ae408a740f2c4dd04d",
      "parents": [
        "9d185da3bef8caf015d3dbf4ad79c520af7ce3b1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Aug 30 13:49:26 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 06 12:15:24 2016 -0700"
      },
      "message": "Convert more of art to Android.bp\n\nChange-Id: I1b10f140e17dd5e12a9d7f6a29d47cf61f5bf6ef\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": "75009e8acd80cc4111a4cebbc350dad895ad1f55",
      "tree": "7114dfe68c682ef4692d0c2b0448fb87056d4d6e",
      "parents": [
        "c5b8e84236126a1176d97fe8f924d8cb40c1de6e",
        "2b1db0743f7af28785b92e30436cce20143872be"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Dec 15 08:19:06 2015 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 15 08:19:06 2015 -0800"
      },
      "message": "Merge \"Refactor DexFile::DecodeDebugInfo.\" am: 96c9de9510\nam: 2b1db0743f\n\n* commit \u00272b1db0743f7af28785b92e30436cce20143872be\u0027:\n  Refactor DexFile::DecodeDebugInfo.\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": "74a77bc0c70513edc4ab42be8cc79825f9af5c33",
      "tree": "01e9d72c00109897fa504a9d2dbe25c019c8f6f9",
      "parents": [
        "53c4b4d464b33d9cdc8f9bd60f8be6279e0b1570",
        "8247c5fd94b61e9cbfc08a2cd453b67aa5f2a444"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Dec 11 10:58:13 2015 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Dec 11 10:58:13 2015 -0800"
      },
      "message": "Merge \"Make \\\u0027dexdump2 -l xml\\\u0027 include whether each class is an interface.\" am: 66e43b115e\nam: 8247c5fd94\n\n* commit \u00278247c5fd94b61e9cbfc08a2cd453b67aa5f2a444\u0027:\n  Make \u0027dexdump2 -l xml\u0027 include whether each class is an interface.\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": "898e04bc81777772ed269bc89294c3fb54f7a481",
      "tree": "5496e9bed534eef3b78c1576cd7334a91c988206",
      "parents": [
        "5cb6cf5b887b0c5ace6cf2cff3e2cbb5ec3a4a4f",
        "99dd068563bbd460f5ba8c81249e6e55e794de5e"
      ],
      "author": {
        "name": "Shinichiro Hamaji",
        "email": "hamaji@google.com",
        "time": "Thu Dec 10 23:56:03 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 10 23:56:03 2015 +0000"
      },
      "message": "Merge \"Output static field values in dexdump\" am: 1a74dc4209\nam: 99dd068563\n\n* commit \u002799dd068563bbd460f5ba8c81249e6e55e794de5e\u0027:\n  Output static field values in dexdump\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": "121b25e246b7012cfd895f205855c6102da48305",
      "tree": "8d7e4dae58b59e9a554db03a06c800f3caf5b6b9",
      "parents": [
        "31f7afcd651ca5836892d1c24010933fa40c29e4",
        "13ca74fed068a6a49221b5213ce0b1bebeda3ed6"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Fri Nov 20 11:24:33 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Sat Nov 21 16:28:15 2015 +0000"
      },
      "message": "Merge mnc-dr-enso-dev into goog/master\n\nBug: 25758743\nChange-Id: I19d433934f01856e7b5a7392a58b759c3ac386e7\n"
    },
    {
      "commit": "3f382aea8f12695d2a871fc74e80793fa9a0f7eb",
      "tree": "04fe2e007d8788bf3b2154fd2da44dfe25318fda",
      "parents": [
        "2f49b0a90720fe9f4cab040c376aab5f387967e3"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Nov 13 10:06:01 2015 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Nov 13 10:24:35 2015 -0800"
      },
      "message": "Implemented control of \"export only\" feature in dexdump.\n\nRationale:\nExport only is now under explicit control of a new -e flag, and\ncan be used to control both -l xml and -l plain. The result is\nthat, by default, xml output now shows all items (old behavior\ncan be forced with -e -l xml). This solution feels a bit cleaner\nthan adding a flag to override export only when -l xml is given\n(old dexdump forced this tight relation).\n\nBug: 25673756 (feature request).\n\nChange-Id: I7cfd48bf91195d2a81d134936719d267fda399f5\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": "5ed8b2dfbdf1b487334a661bc5b8dc8ac880e435",
      "tree": "ff91038024929b8391478faae771c3c4fbef29f9",
      "parents": [
        "8c20e7609fdc8bbf16979a874301e4cab0dbf355"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 23 23:01:31 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 24 15:20:47 2015 -0700"
      },
      "message": "dexdump2 won\u0027t be optional when it replaces dexdump.\n\nSo it should just be in /system/bin, not sad and lonely in /system/xbin.\n\nChange-Id: I2edda827d36486f46fdcfd77f0ee6eec1345974c\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": "754a4457ff34aa35336284e633be7ac0a23a683d",
      "tree": "3ea3b3d55adde88d3f34212e60ce6fd3ed667831",
      "parents": [
        "af0365ac6a4c7d242df6f50c4da69ba0ff67e3f1"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Jul 21 12:05:30 2015 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Jul 21 12:05:30 2015 -0700"
      },
      "message": "Prefer 32-bit host executables on Mac.\n\nBug: 22527295\nChange-Id: I2cb1d3086b65b8227e6bdac9c0485fdc452f1e9c\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": "282ff2ef59bfd5d1e36db989adc7ce40c78d9992",
      "tree": "711199c5b6a722bcdef95422d96529983a142162",
      "parents": [
        "bb5965c8891c748a30120ff20e873bbfe2dbf5d5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 07 10:12:10 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 07 10:12:10 2015 +0100"
      },
      "message": "Make dexdump2 compile for 64bit devices.\n\nChange-Id: I4c990272b20062632d236671415cfb3dbb26c867\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"
    }
  ]
}
