)]}'
{
  "log": [
    {
      "commit": "f1e1dd135c086a15c0e683c5778add033f97e4d9",
      "tree": "3146a9f0c4dd769a741641f1da34dff7df649480",
      "parents": [
        "ca8343842f9094fd5eb86569d293250e783f582c"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Fri Aug 21 15:38:12 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 28 17:00:06 2020 +0000"
      },
      "message": "Enable -Wconversion for thread.cc\n\nThis should help prevent bugs due to unexpected implicit integer\nconversions.\n\nSome collateral changes were needed as well to limit the number of casts\nthat had to be introduced.\n\nBug: 165843530\nTest: m test-art-host-gtests\nChange-Id: I091122827001ab335c7e140864f67cdf90fcf8b4\n"
    },
    {
      "commit": "dfcd82c09e8ce4562ed39e006d4b1c8163b4e25e",
      "tree": "d9bfd3e043a95b3c8e302769cef23c13a89df3c5",
      "parents": [
        "4f570a43146c1456071f2ffe6590ab96e723051a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 16 20:22:37 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 19 13:06:33 2018 -0700"
      },
      "message": "ART: Fix android-cloexec warnings\n\nUse the DupCloexec helper wherever possible. Add O_CLOEXEC to open\nand fopen calls.\n\nBug: 32619234\nTest: WITH_TIDY\u003d1 mmma art\nChange-Id: I0afb1beea53ab8f68ab85d1762aff999903060fe\n"
    },
    {
      "commit": "35d5b8a2c5d2fce03be59aa003c3bf3c1b481be0",
      "tree": "7665f6d1527be61af13c8ef53f10833dd4200cfd",
      "parents": [
        "b28683f43231e65860ecf91c96a8c0234542c019"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jul 03 09:18:32 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jul 03 09:18:32 2018 +0100"
      },
      "message": "ART: Do not use std::\u003ccontainer\u003e::at().\n\nThese functions are specified as throwing std::out_of_range\nand we do not use exceptions.\n\nTest: m\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: I67c365ed6d779c101a18b9f386c751c48ca76e16\n"
    },
    {
      "commit": "2b5a38f8fbdecf9c82f06ec108c7ee7463bd8093",
      "tree": "51e3648106f2f74196f9476209a7a649e7885dcb",
      "parents": [
        "5f7c6a1fc35e04b75e1154620c5fd0ab8758e62c"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Jun 14 15:13:04 2018 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Jun 15 10:55:56 2018 -0700"
      },
      "message": "Refactor ownership in dex_ir\n\nRemove some unnecessary generality, consolidating and simplifying the\ninterface to Header and moving all the construction code out of dex_ir.\nThis makes item ownership exclusively controlled by the collections\nthemselves, preparing for in-place construction.\n\nBug: 33017139\nTest: make -j 40 test-art-host-gtest\nChange-Id: Ice461ae89ef9f8bed3350780e8dd6283bc6eca1b\n"
    },
    {
      "commit": "d83437cba0eaac9797def3c09f7812e25fdcd6ac",
      "tree": "e29156febe965efb57099b232d9b85342db39a41",
      "parents": [
        "a316f9129a698ccb995b035f8781f93c58981893"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Jun 11 14:06:23 2018 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Jun 13 11:08:05 2018 -0700"
      },
      "message": "Use factory pattern for dex_ir objects\n\nIn preparation for memory improvements, make dex_ir API more friendly to\npre-allocated or in-place type allocation.\n\nBug: 33017139\nTest: make -j 50 test-art-host\nChange-Id: I09b67e279a04535b175433287ce98ecbdc37f7a3\n"
    },
    {
      "commit": "82d046e7c9daad9b706cbec7df7025c5a4ef9163",
      "tree": "92b7deea052015dd64bea6fc72d76c67f69e0e5d",
      "parents": [
        "5a87e19e4bf1b6719c2aad3effde1b38d2c3085c"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Apr 23 08:14:19 2018 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Apr 26 12:37:04 2018 -0700"
      },
      "message": "Add a profiling library\n\nMove profile_compilation_info to a separate library.  Another step\ntowards building many of our tools without libart[d].\n\nBug: 78459333\nTest: make -j 50 checkbuild\nChange-Id: Ib281d3d1fde6d06ebb429c5d39d62a7038af0f44\n"
    },
    {
      "commit": "221d9810aa8af1ceab4626620a81baf0fd8377d7",
      "tree": "ae8e10655b727bb7a79607d9778dab6aee29c2ab",
      "parents": [
        "8105dad6cb540f6521d25507ae3e70718bc7a264"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jan 22 17:48:56 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jan 22 17:48:56 2018 -0800"
      },
      "message": "ART: Use libbase for logging in command-line tools\n\nUse LOG for logging, and StderrLogger to redirect all logging to\nthe terminal.\n\nThis only applies to tools used only on the command-line.\n\nTest: m test-art-host\nChange-Id: Ia3a6363a06c6a849eb1068213962d686c4495e29\n"
    },
    {
      "commit": "219cb9021fa74af7773066ffb8fc77ac85f3d0de",
      "tree": "2ecee11a4ad831c0f9f407e9a1240c5534b888e1",
      "parents": [
        "4388fb213ec746ee18a6bea38ee894f8c19990b9"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 07 16:20:39 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 08 11:08:54 2017 +0000"
      },
      "message": "Reduce memory allocations in dexlayout\u0027s CodeFixups.\n\nUsing heaptrack for the services.odex compilation of\naosp_taimen-userdebug:\n  - before: calls to allocation functions: 5032880\n  - after: calls to allocation functions: 4645378\n\nTest: Rely on TreeHugger\nBug: 70331349\nChange-Id: I477d5a84e0bf22994ce3de9fe56525de0b498801\n"
    },
    {
      "commit": "bbe3a5efcdfb2fb15a4e5f724cc323ae0ada5111",
      "tree": "65fd149e1159674681d866e47e485d85b8464334",
      "parents": [
        "d58932f98a673c9d687863a7efafb2da168063a2"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 13 16:36:17 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 15 11:45:06 2017 -0700"
      },
      "message": "Refactor some profiling info functions\n\nDeleted profile_compilation_info-inl.h\n\nAdded a new helper class MethodHotness to reduce the number of\nrequired getters for reading method hotness, startup, and post\nstartup booleans.\n\nTest: test-art-host\nBug: 62040831\n\nChange-Id: I799a38e2bea6177ba5816c54524f4ccacedba772\n"
    },
    {
      "commit": "7b135c80fedea16844892527555b144c64651a65",
      "tree": "cb0da182ae9752f64811cb2f994236058f41dc7e",
      "parents": [
        "6ecff4d2127e70738aa2493d6deceb946c204eff"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 05 12:54:01 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 06 16:49:08 2017 -0700"
      },
      "message": "Only compile hot methods\n\nInstead of compiling all startup + hot methods, we now only compile\nhot methods. However, the current logic still marks all startup\nmethods that have a counter greater than hot_method_sample_threshold_\nas hot methods. Since hot-startup-method-samples is currently 1,\nthere is no current behavioral change.\n\nThe goal is to increase hot_method_sample_threshold_ in a follow up\nCL.\n\nRenamed startup-method-samples to hot-startup-method-samples to\nbetter reflect the new behavior of the option.\n\nTest: test-art-host\nBug: 36457259\n\nChange-Id: I820bdcd4426769d76131b08a8b41f3b7eebfbc23\n"
    },
    {
      "commit": "9037a3a030c8693e1bffa0b4caef85d73a05abce",
      "tree": "7b614e147567713f29350f3c626a92db63e8da2b",
      "parents": [
        "5b92c48f99391ae764e1699a22881f9d5cbce721"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Mar 30 17:50:24 2017 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Sun Apr 02 21:54:10 2017 -0700"
      },
      "message": "Make GetSortedDexFileSections a utility\n\nMake this method a utility in preparation for other users outside\ndexlayout.\n\nBug: 35800981\nTest: make -j 40 test-art-host\nChange-Id: I054c1e1c82834a0c94be6b9ee63d1992fa9f52df\n"
    },
    {
      "commit": "332b19e31e13d1c4e497a9f30f3f3217af8d067c",
      "tree": "cbc975ac332ee1a76773713d8398586838c206ce",
      "parents": [
        "fcfaa8d823017eb209fd6e18a6fe496f4c979026"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Mar 15 10:42:46 2017 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Mar 17 09:59:10 2017 -0700"
      },
      "message": "Add byte count to section\n\nDump the number of bytes, pages, and percentage for each section in the dex file.\n\nBug: none\nTest: test-art-host\nChange-Id: I1a032c4994422bfa697e48caf2cacd216ba9ce5f\n"
    },
    {
      "commit": "9335749d25f8826c72ea7ea4d470ee8bc171fa87",
      "tree": "9f6fffab6b8c44d1d38434e66a8f345cb5eeceeb",
      "parents": [
        "74f94dd8edb4a6070f6f7bfef6d28a8b4a21fc30"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Mar 09 08:02:44 2017 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Mar 10 08:02:08 2017 -0800"
      },
      "message": "Add section size statistics\n\nAdd an option to display the size of dex file sections for easier\nanalysis.\n\nBug: none\nTest: test-art-host\n\nChange-Id: I779f776657ad79e7a50c18c2b9486e6778c70f13\n"
    },
    {
      "commit": "33083d626dbf2c8b06badfd73f50e98114483059",
      "tree": "f6f5db21855a6182b591b57e6a34e5c1fc41b7d0",
      "parents": [
        "fd5f52b60cfa217fb0c4d7dcabdd0336b55990d7"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jan 18 15:29:12 2017 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jan 18 19:00:21 2017 -0800"
      },
      "message": "Rename offline_profiling_info to profile_compilation_info\n\nThis solves a long standing TODO to align the names of the files and the\nclass.\n\nBug: 32434870\nTest: test-art-host\n\nChange-Id: I2707da8fef8736a7223189d894fc00ff11bfab12\n"
    },
    {
      "commit": "ea7c62983beec6a5a2a6676cc910a436b20ae92c",
      "tree": "cc41732efa47b2301f463f2f9fcabe957ed89c0c",
      "parents": [
        "b46782abf6752ccf688b0d9f5b4bb83e5d33793b"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Nov 14 18:10:16 2016 -0800"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Nov 22 09:12:14 2016 -0800"
      },
      "message": "Dexlayout cleanup and refactoring.\n\nCreated option to output to a mem map in preparation of hooking\ndexlayout into dex2oat.\n\nTest: mm test-art-host-gtest-dexlayout_test\nBug: 29921113\nChange-Id: Id42ef15cb8f83cc8d05b025b7647a4338e9b96b0\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": "54b5855192abee8cb612fce3c34b7562ddf42522",
      "tree": "0bba557936990568075507c5ba86efec959c752b",
      "parents": [
        "3825da56fb16cb8c8128dfad3f65ce392ebf0642"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Nov 16 15:15:04 2016 -0800"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Nov 17 11:00:37 2016 -0800"
      },
      "message": "Change offline profile to store type_idx of classes.\n\nChanged from storing class_def_idx to type_idx. Allows dexlayout to move\nclass defs without affecting the profile.\n\nTest: mm test-art-host\n\nChange-Id: I8a040adf0f5f47a1592e18aeb55edde01cb3e1ed\n"
    },
    {
      "commit": "d1e44e27126c8ba20f868a8f70c37633386303c5",
      "tree": "9bebd64b3f516aef7476e089a423a80ec94116b8",
      "parents": [
        "54aaba2420c4ee7c6580293b092b7f38f3b9438c"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Oct 06 17:09:32 2016 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Oct 06 17:09:32 2016 -0700"
      },
      "message": "Add \"fixups\" for ids referenced in code\n\nAllow better visualization by determining which type_id, string_id,\nmethod_id, and field_id values are used by code_items.\n\nBug: 29921113\nChange-Id: Ia6ff72064104cd5c0868e972ca65536dbeb37b09\nTest: dexlayout -s {some favorite apks}\n"
    },
    {
      "commit": "a86210038524cecd0d96d6ba6f8f116da348a25c",
      "tree": "3c5c243a9530f3cd64ca12b94ea2e2a4ada34260",
      "parents": [
        "b4f0076e7faca1382e0b2f68557b71b11ac34a9d"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Oct 04 18:13:44 2016 +0000"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Oct 04 14:21:13 2016 -0700"
      },
      "message": "Revert \"Revert \"Add dex file writer to dexlayout tool.\"\"\n\nThis reverts commit fd1a6c2a08ca3e2476b7424b9b0fa58e73b29e87.\n\nFixed output being clobbered during DexLayoutTest.DexFileOutput.\nOption added to put dex output file in scratch directory.\n\nBug: 29921113\nTest: mm test-art-host-gtest-dexlayout_test\n\nChange-Id: I9e6b139cf06aaa39c83ad1e74329db266464a8e4\n"
    },
    {
      "commit": "cdcfde74ccd72c60dc9456013e32d8b00fefdee6",
      "tree": "1c29e986405c23285771a31250c5f26857f41046",
      "parents": [
        "82d4838d6bb3480cd25327cedc5179fb2d86881c"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Sep 26 07:44:04 2016 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Tue Oct 04 10:47:24 2016 -0700"
      },
      "message": "Option to gnuplot dex layout\n\nDisplay the portions of the dex file that are accessed by the classes in\nthe dex file.  Optionally limit the display to only those classes that\nare present in a runtime profile.\n\nBug: 29921113\nChange-Id: I2a998fba448fec6c23941d3b4358531b1336e1b3\nTest: dexlayout test\n"
    }
  ]
}
