)]}'
{
  "log": [
    {
      "commit": "1dab575cd635706f03d510763cb4ea1b115a2cee",
      "tree": "cc885f34c0c4c139e9095ee840e3936662243581",
      "parents": [
        "854725b10087bfe86b5a794093e88786ff7b9f28"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Feb 25 15:41:33 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Apr 28 08:11:45 2021 +0000"
      },
      "message": "Remove some dead code around ClassTable.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 175869411\nChange-Id: Ifb3ac102129470aff6eb228e5523b240c113818f\n"
    },
    {
      "commit": "4c796aad94ecf594d3e792da4e5d2424638791da",
      "tree": "466b796ded30a136713b7b2756e8fa6d5db6dafb",
      "parents": [
        "dd732cc38f57844bfcedc5687d4b66df7102f31f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jan 15 10:04:45 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jan 19 09:11:51 2021 +0000"
      },
      "message": "Rewrite class table construction in ImageWriter.\n\nMake sure that class tables in images are at maximum load\nfactor (full) and make that maximum load factor independent\nof runtime parameters. As we pre-allocate a class table\nbuffer of the right size in ImageWriter, we also avoid\nunnecessary resizing of the temporary class table.\n\nMake sure that app image class tables are deterministic.\nWe previously just copied the class table from the app class\nloader even though some entries may have been inserted there\nduring multi-threaded phases of the compilation, causing\nnon-deterministic contents based on insertion order.\n\nRemove obsolete comment related to patchoat relocations.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: boots.\nBug: 175869411\nChange-Id: I605048b639f67a5ed4b03eb8888cbaafa9ba4091\n"
    },
    {
      "commit": "1fe5839d10114209a75d1716bd81c353e4096810",
      "tree": "1c4453056b53a1c9f362c697148a6f809690bb71",
      "parents": [
        "c6934e36d33ab402b7b51c78d46c319fc33e8ef3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Apr 10 16:14:56 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 08 08:19:28 2019 +0000"
      },
      "message": "ObjPtr\u003c\u003e-ify ClassTable.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 31113334\nChange-Id: Ieced7a452d381e5cacbafc91fd5d7672d9d92c30\n"
    },
    {
      "commit": "70f5fd0770adbef645950895309a2a63c3bde7c0",
      "tree": "d9794484e83858cf7e33551eb8a108e07f46b18c",
      "parents": [
        "52ecb65ae9e1ad6fe7f58beecc88cdc08e08f0c4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 24 19:58:37 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 26 08:44:12 2018 -0700"
      },
      "message": "ART: Add class-alloc-inl.h\n\nIn an effort to reduce the (transitive) proliferation of heap-inl\nadd a specific inline header for class instance allocation.\n\nBug: 118385392\nTest: mmma art\nTest: m test-art-host\nChange-Id: I32529f0221a836452c58687330a91ac0d5fde162\n"
    },
    {
      "commit": "9e734c7ab4599d7747a05db0dc73c7b668cb6683",
      "tree": "dce1d1993734a947fb2e6f626eb1b425cb72143b",
      "parents": [
        "b496af808eaf3af5ebac50aef4fbec33323b5016"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Jan 04 17:56:19 2018 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Jan 05 11:07:19 2018 -0800"
      },
      "message": "Create dex subdirectory\n\nMove all the DexFile related source to a common subdirectory dex/ of\nruntime.\n\nBug: 71361973\nTest: make -j 50 test-art-host\nChange-Id: I59e984ed660b93e0776556308be3d653722f5223\n"
    },
    {
      "commit": "fa4333dcb481e564f54726b4e6f8153612df835e",
      "tree": "ae597c7587dc214434a180962c4373d3748f51ab",
      "parents": [
        "2d98ba68f13dc219c088a12f369c5778bf398f14"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Feb 14 11:10:34 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Feb 14 11:44:48 2017 -0800"
      },
      "message": "ART: Add operator \u003d\u003d and !\u003d with nullptr to Handle\n\nGet it in line with ObjPtr and prettify our code.\n\nTest: m\nChange-Id: I1322e2a9bc7a85d7f2441034a19bf4d807b81a0e\n"
    },
    {
      "commit": "db70ce5e788404f36cb5dbb137c6a8f79f34a2a0",
      "tree": "b291c40e1b6c44f3744404f085706f4b07cbb73c",
      "parents": [
        "7d785fca4fd6cf3507aaa807681b3d73ed586c9b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Dec 12 11:06:59 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Dec 13 10:12:07 2016 -0800"
      },
      "message": "Address some review comments\n\nAddressed comments in dex cache and class table. Added class table\ntest.\n\nTest: mm test-art-host-gtest-class_table_test -j20\n\nChange-Id: I3ec0282247187acb1ec7af25b309501f001a1c3e\n"
    }
  ]
}
