)]}'
{
  "log": [
    {
      "commit": "f44d36c8423f81cbb5e9f55d8813e26ffa1a7f3b",
      "tree": "324b41485ce6c414c1a006c72cbcc5ed9f466138",
      "parents": [
        "8d6768d47b66a688d35399d524ad5a5450e9d9d4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 14 14:18:46 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 14 19:03:20 2017 +0000"
      },
      "message": "Revert^2 \"Hash-based DexCache field array.\"\n\nTest: testrunner.py --host --interpreter\nBug: 30627598\n\nThis reverts commit 6374c58f2ea403b3a05fb27376110fe4d0fc8e3f.\n\nChange-Id: I275508e288a85d3aa08f7405a1a4f362af43b775\n"
    },
    {
      "commit": "6374c58f2ea403b3a05fb27376110fe4d0fc8e3f",
      "tree": "0aacaaf1f193e96b55e0b203b678ae724c0fb6f5",
      "parents": [
        "8f323e09e692ff4f95f40300391fe41fb96a6c49"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 13 14:51:19 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 13 14:52:17 2017 +0000"
      },
      "message": "Revert \"Hash-based DexCache field array.\"\n\nReverting to allow rebasing the revert\n    https://android-review.googlesource.com/351689\nwithout too many conflicts.\n\nBug: 30627598\n\nThis reverts commit 1aea3510b8dd0c512cec61c91c5ef1f1e5d53d64.\n\nChange-Id: I4af65e9f41c8bad8106c028947eca7c5a9534c53\n"
    },
    {
      "commit": "1aea3510b8dd0c512cec61c91c5ef1f1e5d53d64",
      "tree": "94cbab7c3097ce7d3a1feb1a69f28406644af085",
      "parents": [
        "d1d4530ffa97729aa8944932a7ac2009ae51c7e3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 08 11:39:42 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Mar 10 12:59:37 2017 +0000"
      },
      "message": "Hash-based DexCache field array.\n\nTest: m test-art-host, both AOT and interpreter\nTest: m test-art-target, both AOT and interpreter\nTest: m valgrind-test-art-host\nBug: 30627598\nChange-Id: If992f091aadd862d17b09928d21659573dd285a0\n"
    },
    {
      "commit": "f6a35de9eeefb20f6446f1b4815b4dcb0161d09c",
      "tree": "cf484acbd6889b92a7fe3e8615611129088c3894",
      "parents": [
        "459898dc4470559ba1e1d578bc52a914d1f573f5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 21 12:01:50 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 21 16:50:08 2016 +0000"
      },
      "message": "Optimizing: Fix register allocator validation memory usage.\n\nAlso attribute ArenaBitVector allocations to appropriate\npasses. This was used to track down the source of the\nexcessive memory alloactions.\n\nBug: 27690481\n\nChange-Id: Ib895984cb7c04e24cbc7abbd8322079bab8ab100\n"
    },
    {
      "commit": "fda043241caada72fbf1215ac8c6eb5ad1ad44e7",
      "tree": "cc5a313d2df4bc0e295990b267abe3f06c6d3401",
      "parents": [
        "00bcbcfdc3ba28b4b985d8a8029d677579e902ff"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 11 18:45:50 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 11 18:47:45 2015 +0000"
      },
      "message": "ART: Add comments to Scoped-/ArenaAllocator.\n\nChange-Id: Iba7350114fb998ac9ee1466ef12f4a5024a18e8e\n"
    },
    {
      "commit": "7b05e17db15879b486f3299a9a41ac17b87700f4",
      "tree": "cf131b61e127f91c414954cc3ab038aa498a6018",
      "parents": [
        "92ca333976cf381de004945f95fa1e347d0a3a0e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 15 17:47:48 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 23 13:26:55 2015 -0700"
      },
      "message": "Add ArenaUniquePtr\n\nMotivation is to use it for adding arenas in the verifier.\nAlso added arena tags to prevent double free errors.\n\nBug: 10921004\nChange-Id: I545f3374eceb9a6a35e738cb899d1493098fb760\n"
    },
    {
      "commit": "4b8f1ecd3aa5a29ec1463ff88fee9db365f257dc",
      "tree": "d113f8a5c6b61c078256cf15c7cbb9f7c8de0390",
      "parents": [
        "114873103db3d4d6e0da42ca02bad1ea8826443b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Aug 26 18:34:03 2015 +0100"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 15 12:22:39 2015 -0700"
      },
      "message": "Use ATTRIBUTE_UNUSED more.\n\nUse it in lieu of UNUSED(), which had some incorrect uses.\n\nChange-Id: If247dce58b72056f6eea84968e7196f0b5bef4da\n"
    },
    {
      "commit": "2a408a3bef330551818f9cec9a7c5aa7a3f1129e",
      "tree": "732bf331e38609a75679b101a1e8a6b65dfe576e",
      "parents": [
        "b4fd73139aca48d7319221aeefe8bae93a98c56d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 18 14:11:00 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Sep 30 13:41:46 2015 +0100"
      },
      "message": "ART: Mark deallocated arena memory as inaccessible.\n\nMark arena and scoped arena memory freed by allocator\nadapters as inaccessible. This can help catch accesses to\nold storage of a container, for example the old data of an\nArenaVector\u003c\u003e that\u0027s been resized.\n\nTogether with debug-mode enforcement of destruction of all\nscoped arena containers, this provides strong verification\nof their memory usage. However, this does not apply to the\nnormal (non-scoped) arena memory held by arena containers\nas they are typically not destroyed if they are themselves\nlocated in the arena. ArenaBitVector memory, whether in\nnormal or scoped arena, isn\u0027t marked either.\n\nChange-Id: I4d2a80fedf7ceb7d4ce24ee8e7bcd53513171388\n"
    },
    {
      "commit": "1e13374baf7dfaf442ffbf9809c37c131d681eaf",
      "tree": "9a8a53295a8389d7ec10accf3efb8785a97a3599",
      "parents": [
        "f68c8545382925062da2b87169ca2b5314f0b431"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Wed May 20 12:30:59 2015 -0700"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Mon Jul 13 17:38:40 2015 -0700"
      },
      "message": "Generalize Valgrind annotations in ART to support ASan.\n\nAlso add redzones around non-fixed mem_map(s).\nAlso extend -Wframe-larger-than limit to enable arm64 ASan build.\n\nChange-Id: Ie572481a25fead59fc8978d2c317a33ac418516c\n"
    },
    {
      "commit": "b666f4805c8ae707ea6fd7f6c7f375e0b000dba8",
      "tree": "a61439a9bcb555dc575286f3e0bb5e50ce185982",
      "parents": [
        "39109a06015c91188232e59fa9e60e0915d24cd7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 18 14:33:14 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 19 09:59:50 2015 -0800"
      },
      "message": "Move arenas into runtime\n\nMoved arena pool into the runtime.\n\nMotivation:\nAllow GC to use arena allocators, recycle arena pool for linear alloc.\n\nBug: 19264997\nChange-Id: I8ddbb6d55ee923a980b28fb656c758c5d7697c2f\n"
    },
    {
      "commit": "e4fcc5ba2284c201c022b52d27f7a1201d696324",
      "tree": "2f490060978baeb85c79d6184fcc08135f506637",
      "parents": [
        "8240a8af33aedea9a4fe5c3b394d7c025ad081fb"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 13 10:28:29 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 13 11:29:04 2015 +0000"
      },
      "message": "Clean up Scoped-/ArenaAlocator array allocations.\n\nChange-Id: Id718f8a4450adf1608306286fa4e6b9194022532\n"
    },
    {
      "commit": "3d2ec35be5aadecc9d2bbd80394929ba3b36a4bf",
      "tree": "e007e66d240f12782361e998719901145508243f",
      "parents": [
        "acfbbd4df2fc1c79a7102587bebf398f95b5e5de"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 10 15:39:11 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 10 15:40:01 2014 +0100"
      },
      "message": "Fix ScopedArenaAllocator::Reset() for Create()d allocators.\n\nChange-Id: I88cbb329911ed489768772218b49b6f1756ffd86\n"
    },
    {
      "commit": "8081d2b8d7a743729557051d0294e040e61c747a",
      "tree": "37c2bd8616831df3a0f9f2df0932ebb517dbcd3d",
      "parents": [
        "8f1dc7a20049ba6e2f3c7f800908bff811cdbea1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 31 15:33:43 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Aug 05 09:45:24 2014 +0100"
      },
      "message": "Create allocator adapter for using Arena in std containers.\n\nCreate ArenaAllocatorAdapter, similar to the existing\nScopedArenaAllocatorAdapter, for allocating memory for\nstandard containers via the ArenaAllocator. Add the ability\nto specify allocation kind rather than just kArenaAllocSTL\nto both adapters. Move the scoped arena allocator to the\nscoped_arena_containers.h header file.\n\nDefine template aliases for containers using the new adapter\nand change a few MIRGraph and Mir2Lir members to use them.\n\nChange-Id: I9bbc50248e0fed81729497b848cb29bf68444268\n"
    },
    {
      "commit": "b19955d3c8fbd9588f7e17299e559d02938154b6",
      "tree": "10113a67776d1bb050115043e47e6970a85103c5",
      "parents": [
        "36b111c7d3d635e262114dabde4c26952c7dcbe6"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jul 29 12:04:10 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 31 09:57:09 2014 +0100"
      },
      "message": "Reduce time and memory usage of GVN.\n\nFilter out dead sregs in GVN. Reclaim memory after each LVN\nin the GVN modification phase.\n\nBug: 16398693\nChange-Id: I8c88c3009663754e1b66c0ef3f62c3b93276e385\n"
    },
    {
      "commit": "22a0ef8fbe78577ad4127e5becf20b3afa797478",
      "tree": "968dd8f4182dde285285cb38db95d56c77c70edf",
      "parents": [
        "608f63bae4ed0dc0cd6462d0df3d15c28f37f0b2"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jun 10 14:47:51 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jun 10 14:47:51 2014 +0100"
      },
      "message": "Round up arena allocations to 8 bytes.\n\nPrevent SIGBUS/BUS_ADRALN when we use the arena for classes\nwith 64-bit alignment.\n\nChange-Id: I5382ed7072fcfb2349f61558e1fd8257315ee336\n"
    },
    {
      "commit": "69f08baaa4b70ce32a258f3da43cf12f2a034696",
      "tree": "33f8b5a6675ef8b3b1755fa8e88f6b7dae33b857",
      "parents": [
        "18694f430b1e499954e5e4fcdbd6ac07a07763ae"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 11 12:28:11 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 09 15:38:54 2014 +0100"
      },
      "message": "Clean up ScopedArenaAllocatorAdapter.\n\nMake the adapter equality-comparable, define aliases for\ncontainers using the adapter and use those aliases.\nFix DebugStackIndirectTopRefImpl assignment.\n\nChange-Id: I689aa8a93d169f63a659dec5040567d7b1343277\n"
    },
    {
      "commit": "660188264dee3c8f3510e2e24c11816c6b60f197",
      "tree": "cd18ee6c9328650110f06d14905468ea320342b4",
      "parents": [
        "2a12ad460af139a03c3e9bf5fc7886a7521b333e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon May 05 20:47:19 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon May 05 20:47:19 2014 -0700"
      },
      "message": "ART: Use utils.h::RoundUp instead of explicit bit-fiddling\n\nChange-Id: I249a2cfeb044d3699d02e13d42b8e72518571640\n"
    },
    {
      "commit": "53b6afc93d91f9a48660682082dafcd81a652d6c",
      "tree": "6337a2fec52d51515b7273985d2d05643d5a8b13",
      "parents": [
        "e1f77fde4e6f481dcf97512530a352e8d527033b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Mar 21 14:21:20 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Mar 21 14:30:03 2014 +0000"
      },
      "message": "Free Arenas from the ArenaStack before running codegen.\n\nSince the ArenaStack is used only by the MIRGraph and not by\nthe memory hungry codegen, freeing the ArenaStack\u0027s Arenas\njust before running the codegen should reduce the compiler\u0027s\npeak memory usage.\n\nBug: 13564922\nChange-Id: I1cb49d367e4e81d71a03cac89b3739ed61e4f966\n"
    },
    {
      "commit": "83cc7ae96d4176533dd0391a1591d321b0a87f4f",
      "tree": "6b3c607119c1dc2850810f8463dfd968c486fba4",
      "parents": [
        "8785d615122d4abbd22db702139584e8c472f502"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 12 18:02:05 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Mar 06 15:37:40 2014 +0000"
      },
      "message": "Create a scoped arena allocator and use that for LVN.\n\nThis saves more than 0.5s of boot.oat compilation time\non Nexus 5.\n\nTODO: Move other stuff to the scoped allocator. This CL\nalone increases the peak memory allocation. By reusing\nthe memory for other parts of the compilation we should\nreduce this overhead.\n\nChange-Id: Ifbc00aab4f3afd0000da818dfe68b96713824a08\n"
    }
  ]
}
