)]}'
{
  "log": [
    {
      "commit": "fa3db3d377bfaceb51c9a97864b17ce02538b7e0",
      "tree": "e499305451300d3a7a9a2c4e86d5392846f889e2",
      "parents": [
        "b12293f196dffe3df29a17a054565bac1b578a4f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jan 12 14:42:18 2018 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Jan 13 00:29:43 2018 +0000"
      },
      "message": "Change compiler tests to have aligned code item\n\nPreviously, the code item was not necessarily 32 bit aligned. This\ncaused bus errors on armv7.\n\nAlso create a real dexfile object instead of casting 0 initialized\nmemory to a dex file pointer. We just got lucky before that the cdex\nboolean was false.\n\nTest: test-art-target-gtest\nBug: 63756964\nBug: 71605148\n\nChange-Id: Ic7199f2b97bbd421de1d702efa5c6531ff45c022\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": "ca6fff898afcb62491458ae8bcd428bfb3043da1",
      "tree": "195a6b16d3a4b34acc2faf91ce56f448efb15e07",
      "parents": [
        "aa7273e56fbafc2692c8d20a31b50d2f4bdd2aa1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 03 14:49:14 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 06 17:53:50 2017 +0100"
      },
      "message": "ART: Use ScopedArenaAllocator for pass-local data.\n\nPasses using local ArenaAllocator were hiding their memory\nusage from the allocation counting, making it difficult to\ntrack down where memory was used. Using ScopedArenaAllocator\nreveals the memory usage.\n\nThis changes the HGraph constructor which requires a lot of\nchanges in tests. Refactor these tests to limit the amount\nof work needed the next time we change that constructor.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nTest: Build with kArenaAllocatorCountAllocations \u003d true.\nBug: 64312607\nChange-Id: I34939e4086b500d6e827ff3ef2211d1a421ac91a\n"
    },
    {
      "commit": "badd826664896d4a9628a5a89b78016894aa414b",
      "tree": "a30e8b3e62126ae1e1df1152ac643cfc5f2b074a",
      "parents": [
        "47a2a45a6673ddf3322115ff5058763f82a9368f"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Feb 02 16:28:56 2016 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Feb 15 10:21:07 2016 +0000"
      },
      "message": "ART: Run SsaBuilder from HGraphBuilder\n\nFirst step towards merging the two passes, which will later result in\nHGraphBuilder directly producing SSA form. This CL mostly just updates\ntests broken by not being able to inspect the pre-SSA form.\n\nUsing HLocals outside the HGraphBuilder is now deprecated.\n\nBug: 27150508\nChange-Id: I00fb6050580f409dcc5aa5b5aa3a536d6e8d759e\n"
    },
    {
      "commit": "788f2f05c3e5b0e5bda247b00e34f0094585546f",
      "tree": "7e8b578b60bed6e550b62767f1fbc43651755798",
      "parents": [
        "c24b8df48be848af1f4cb54e9caef2b7d6afe680"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 22 12:41:38 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 22 13:33:57 2016 +0000"
      },
      "message": "Revert \"Revert \"Inline methods with loops.\"\"\n\nBug: 26689526\n\nThis reverts commit 451ad8d1be9a1949ea3c3e3a713a9e76198a8b2d.\n\nChange-Id: If484fe4c0744254dd7568fd5006e574d621a1855\n"
    },
    {
      "commit": "fee4e2eff0b6d76fb52e776802efae8d0b8ee0bf",
      "tree": "4b24fde686f2fd948212122c0b1e3d1282545f39",
      "parents": [
        "0e342cd5ccf0f648e165fa4fd270b44dfbea8be6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 20 21:23:10 2016 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 20 21:23:10 2016 +0000"
      },
      "message": "Revert \"Fix gtests after loop inlining support.\"\n\nThis reverts commit 0e342cd5ccf0f648e165fa4fd270b44dfbea8be6.\n\nLoop inlining exposes BCE issues.\n\nBug: 26689526\nChange-Id: Iab0f8f502d8b389af4efc2e99e28cae59c00ee9b\n"
    },
    {
      "commit": "0e342cd5ccf0f648e165fa4fd270b44dfbea8be6",
      "tree": "9651114d33d388fab3aa3e67a429ba82469b1778",
      "parents": [
        "a8108303b31f76b7cd0292942885585d0f9d9391"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 20 18:30:24 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 20 18:30:24 2016 +0000"
      },
      "message": "Fix gtests after loop inlining support.\n\nChange-Id: Id6288fff8911ec9545e83d97f90ae566e13a75af\n"
    },
    {
      "commit": "ec7802a102d49ab5c17495118d4fe0bcc7287beb",
      "tree": "08649609604b9c96bc48ca071c48b0af5abb1a3f",
      "parents": [
        "b2e436ffcda1d7a87e7bf9133d8ed878388c73c2"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 01 20:57:57 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 08 11:10:18 2015 +0100"
      },
      "message": "Add DCHECKs to ArenaVector and ScopedArenaVector.\n\nImplement dchecked_vector\u003c\u003e template that DCHECK()s element\naccess and insert()/emplace()/erase() positions. Change the\nArenaVector\u003c\u003e and ScopedArenaVector\u003c\u003e aliases to use the new\ntemplate instead of std::vector\u003c\u003e. Remove DCHECK()s that\nhave now become unnecessary from the Optimizing compiler.\n\nChange-Id: Ib8506bd30d223f68f52bd4476c76d9991acacadc\n"
    },
    {
      "commit": "fa6b93c4b69e6d7ddfa2a4ed0aff01b0608c5a3a",
      "tree": "3528c88e104dac8e58ae5370ab066b8b1dd0218f",
      "parents": [
        "e295be4a95d7861f6ec179edf6565f58cad747cc"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Sep 15 10:15:55 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Sep 16 13:21:33 2015 +0100"
      },
      "message": "Optimizing: Tag arena allocations in HGraph.\n\nReplace GrowableArray with ArenaVector in HGraph and related\nclasses HEnvironment, HLoopInformation, HInvoke and HPhi,\nand tag allocations with new arena allocation types.\n\nChange-Id: I3d79897af405b9a1a5b98bfc372e70fe0b3bc40d\n"
    },
    {
      "commit": "0a23d74dc2751440822960eab218be4cb8843647",
      "tree": "39d69de5d812826c4065d0acd38a58cd983f21f0",
      "parents": [
        "cdeb0b5fede4c06488f43a212591e661d946bc78"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 07 11:57:35 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 11 14:17:22 2015 +0100"
      },
      "message": "Add a parent environment to HEnvironment.\n\nThis code has no functionality change. It adds a placeholder\nfor chaining inlined frames.\n\nChange-Id: I5ec57335af76ee406052345b947aad98a6a4423a\n"
    },
    {
      "commit": "f776b92a0d52bb522043812dacb9c21ac11858e2",
      "tree": "619ae49853b201fc4ea9d0ac4b113c6226e3c339",
      "parents": [
        "acf9b7b7616a9b104e6f2146051d8e14d9cb9030"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 15 18:22:45 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 15 21:51:12 2015 +0100"
      },
      "message": "Remove dead blocks for the blocks_ array.\n\nThis prevents crashing because of structurally incorrect\nblocks. Also we now don\u0027t need to remove its instructions.\n\nTest case courtesy of Serguei I Katkov.\n\nChange-Id: Ia3ef9580549fc3546e8cd5f346079b1f0ceb2a61\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": "5e8b137d28c840b128e2488f954cccee3e86db14",
      "tree": "c56e4c709ce07d605ab4b754e89f7739264feb73",
      "parents": [
        "f9af19413333c271192c3b11425f865bd8054c0c"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Jan 23 14:39:08 2015 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Feb 04 13:47:49 2015 +0000"
      },
      "message": "Create HGraph outside Builder, print timings\n\nThis patch refactors the way HGraph objects are created, moving the\ninstantiation out of the Builder class and creating the CodeGenerator\nearlier. The patch uses this to build a single interface for printing\ntimings info and dumping the CFG.\n\nChange-Id: I2eb63eabf28e2d0f5cdc7affaa690c3a4b1bdd21\n"
    },
    {
      "commit": "622d9c31febd950255b36a48b47e1f630197c5fe",
      "tree": "8a7f14ce3c6c087955ad5fe91a3ce7d5b5a82461",
      "parents": [
        "98a8a542f95e41c09d214a329a940b270f08f5b3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 12 16:11:02 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue May 13 09:06:14 2014 +0100"
      },
      "message": "Add loop recognition and CFG simplifications in new compiler.\n\nWe do three simplifications:\n- Split critical edges, for code generation from SSA (new).\n- Ensure one back edge per loop, to simplify loop recognition (new).\n- Ensure only one pre header for a loop, to simplify SSA creation (existing).\n\nChange-Id: I9bfccd4b236a00486a261078627b091c8a68be33\n"
    },
    {
      "commit": "804d09372cc3d80d537da1489da4a45e0e19aa5d",
      "tree": "b226350fdf3dc0c55a11e1615010c8475f167f90",
      "parents": [
        "0095e0b8380a8802f40a21928800b9df6e11f1d7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri May 02 08:46:00 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 07 10:32:11 2014 +0100"
      },
      "message": "Build live-in, live-out and kill sets for each block.\n\nThis information will be used when computing live ranges of\ninstructions.\n\nChange-Id: I345ee833c1ccb4a8e725c7976453f6d58d350d74\n"
    },
    {
      "commit": "787c3076635cf117eb646c5a89a9014b2072fb44",
      "tree": "3c9c6c6d56e3900cf2255a5d1ade008ec6a40681",
      "parents": [
        "b9d50a9829b795932eac4cc50a99b4ce80b0ecb4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 17 10:20:19 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 18 11:20:20 2014 +0000"
      },
      "message": "Plug new optimizing compiler in compilation pipeline.\n\nAlso rename accessors to ART\u0027s conventions.\n\nChange-Id: I344807055b98aa4b27215704ec362191464acecc\n"
    },
    {
      "commit": "788aaadd0756a2854a3287ce79a77b031a9abdcc",
      "tree": "03fa57da7d1e0c6c2d5e04162e326b74aae90d0e",
      "parents": [
        "930021fb35409fc74eb713c402ec730b4b0d78e1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 10 12:00:43 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 10 12:00:43 2014 +0000"
      },
      "message": "Fix lint errors.\n\nChange-Id: Ibefa43522ec68ed2a13bd034005d6f424e92957c\n"
    },
    {
      "commit": "3ff386aafefd5282bb76c8a50506a70a4321e698",
      "tree": "5f6e990553daae150a168f581bac79e659f7f712",
      "parents": [
        "0307b5c91c287e08cd414ecc5de32befceb7e371"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 04 14:46:47 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 10 11:41:22 2014 +0000"
      },
      "message": "Add register support to the optimizing compiler.\n\nAlso make if take an input and build the use list for instructions.\n\nChange-Id: I1938cee7dce5bd4c66b259fa2b431d2c79b3cf82\n"
    },
    {
      "commit": "be9a92aa804c0d210f80966b74ef8ed3987f335a",
      "tree": "10d58622f626f03156e0dec1f1fc00616554b336",
      "parents": [
        "3188d117d6f1ba5f3a30d0ff231d816ebb59a7f7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 25 14:22:56 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 26 13:24:04 2014 +0000"
      },
      "message": "Add conditional branches, and build dominator tree.\n\nChange-Id: I4b151a07b72692961235a1419b54b6b45cf54e63\n"
    }
  ]
}
