)]}'
{
  "log": [
    {
      "commit": "44b9cf937836bb33139123e15ca8b586b5853268",
      "tree": "a4fe52cb53133522069f41083d118fb6abca9336",
      "parents": [
        "32f264e67afa8654a5570d38b627515fb73fc333"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Wed Aug 19 15:39:06 2015 +0100"
      },
      "committer": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Wed Aug 19 15:39:06 2015 +0100"
      },
      "message": "Put in place the ARM64 instruction simplification framework.\n\nThis commit introduces and runs the empty InstructionSimplifierArm64\npass. Further commits will introduce arm64-specific transformations in\nthat pass.\n\nChange-Id: I458f8a2b15470297b87fc1f7ff85bd52155d93ef\n"
    },
    {
      "commit": "2e33525bd4eb892246b4c244c6d4ebf6c6d07501",
      "tree": "ce1eb1ea3fe8310d4320ea71579fb12f74dd916e",
      "parents": [
        "3c4fb2d1836a81823677191ad91203779427b610"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 18 11:11:27 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 18 12:47:06 2015 +0100"
      },
      "message": "Bailout from compilation if an invoke is malformed.\n\nBecause the verifier does not check trivially dead instructions,\nthe compilers must prepare for bogus instructions. This change\nfixes the case the arguments for an invoke do not match the\nformal parameters.\n\nbug:21865459\n\nChange-Id: Ie9fa9dbaedaad0350a52391252e18c045056454d\n"
    },
    {
      "commit": "da9badb9edea5e0d18cd9f97eff0d0937ad48310",
      "tree": "ed2f0b85561daa715988f644482fbdd99995656d",
      "parents": [
        "ccd6337f31d13706c602f3d9436e9b4025075b63"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 05 20:22:12 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 09 11:25:42 2015 -0700"
      },
      "message": "ART: Check long and double register pairs in invokes\n\nFor invokes, ensure that long and double parameters are actually\nin registers pairs. We were testing the pair, but skipping the\nactual high parameter register.\n\nBug: 17410612\nChange-Id: I8f4c3335ea8b7dc3cf252bee52a5a706ae8905f8\n"
    },
    {
      "commit": "702d26018769f9fbc4763c7ed02331aed596ac7d",
      "tree": "74578ce3cb0abfd2e25c53d7272415c82717e035",
      "parents": [
        "fd5f56d4604eeeacdf6be5189187b6ef49157280"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Apr 30 19:28:21 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri May 01 14:23:32 2015 +0100"
      },
      "message": "Skip compilation when falling-through out of method code.\n\nBug: 19988134\nChange-Id: I68638ce9551848a67af587595f264b51f976df11\n"
    },
    {
      "commit": "2d7352ba5311b8f57427b91b7a891e61497373c1",
      "tree": "3f3426f4f30663ee252ebc1f02ecd0eb114bad85",
      "parents": [
        "c5cb691ca6a746a193bfbe3525aafa7cbb281d40"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Apr 20 14:52:42 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Apr 24 16:19:31 2015 +0100"
      },
      "message": "ART: Dead block removal\n\nAdds a new pass which finds all unreachable blocks, typically due to\nsimplifying an if-condition to a constant, and removes them from the\ngraph. The patch also slightly generalizes the graph-transforming\noperations.\n\nChange-Id: Iff7c97f1d10b52886f3cd7401689ebe1bfdbf456\n"
    },
    {
      "commit": "8f20bdb9d3b7516e75a7845e610105d87ce25ae6",
      "tree": "b55e5b7695e482dc66dda6a0175bb56251294baf",
      "parents": [
        "641547a5f18ca2ea54469cceadcfef64f132e5e0"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Apr 21 14:07:50 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Apr 22 12:13:44 2015 +0100"
      },
      "message": "Run DCE again after all the other optimizations have run.\n\nOn docs this doubles the amount of instructions removed.\n"
    },
    {
      "commit": "0cdf6d31b6e8b39b56deba92336383f43fba9c0f",
      "tree": "21bea01160e2470609405a72e8df8b186456a13d",
      "parents": [
        "7a9c885684c965fe84f91d8ad74f54f869e2a448"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 21 16:04:32 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 21 16:04:32 2015 +0000"
      },
      "message": "Revert \"Run DCE again after all the other optimizations have run.\"\n\nReverting because of libcore failures.\n\nThis reverts commit 7a9c885684c965fe84f91d8ad74f54f869e2a448.\n\nChange-Id: Iafe59b02fe7617243d81533d66e609a3528e7a58\n"
    },
    {
      "commit": "7a9c885684c965fe84f91d8ad74f54f869e2a448",
      "tree": "9323e6b4c6a3391f279d1b4837647fcaedc3218f",
      "parents": [
        "2be39e05ea8c4475278fe6a6573c3c8f04e075d4"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Apr 21 14:07:50 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Apr 21 15:44:29 2015 +0100"
      },
      "message": "Run DCE again after all the other optimizations have run.\n\nOn docs this doubles the amount of instructions removed.\n\nChange-Id: I1712a92c0c0b3b32b111d194b64d8ea81d652822\n"
    },
    {
      "commit": "2be39e05ea8c4475278fe6a6573c3c8f04e075d4",
      "tree": "21bea01160e2470609405a72e8df8b186456a13d",
      "parents": [
        "b3306642f42d47ddb4d021a2f48ce9b1bd235857"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Apr 21 13:56:34 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Apr 21 14:10:35 2015 +0100"
      },
      "message": "Use --dump-stats to dump optimizing compiler stats.\n\nVLOG(compiler) produces too much output and it takes a long time if you\nonly need to see how an analysis performs.\n\nChange-Id: Ic17c2b2b5fec431d356cecd37289fb96985d4d7f\n"
    },
    {
      "commit": "f1c6d9e87cbfd27702103ccc7c7f08ce784dc872",
      "tree": "45ad9f5bb52eb0db3857e344ab67b5aab2309472",
      "parents": [
        "e015a31e509c3f4de8a90b57b77329ba6609ce2f"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Apr 13 18:42:21 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Apr 16 16:28:11 2015 +0100"
      },
      "message": "Fallback to quick in case of soft verification errors\n\nAdd a regression test: using uninitialized values triggers a soft\nverification error and optimizing should not crash.\n\nThanks to Stephen Kyle (stephenckyle@googlemail.com) for the bug report.\n\nBug: 19988704\nChange-Id: I67174538eed853baff735694b3ae8eb34afe2a39\n"
    },
    {
      "commit": "031af41d1debbdbd8964d7c504a789068dfe6029",
      "tree": "a480bdc4a80f63d46abcde2ef7a36e1ad072d624",
      "parents": [
        "c751d37e692d89b360f3c09421401f581b5c6d06"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Apr 13 14:25:53 2015 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Apr 13 14:25:53 2015 +0000"
      },
      "message": "Revert \"Fallback to quick in case of soft verification errors\"\n\nThis reverts commit c751d37e692d89b360f3c09421401f581b5c6d06.\n\nChange-Id: I2183df8e856410989bc019f6a1f58af37d5d7eab\n"
    },
    {
      "commit": "c751d37e692d89b360f3c09421401f581b5c6d06",
      "tree": "e8291a99d7b407ac2dbf0680df0876384821812c",
      "parents": [
        "8e5fc53bd2f9ab5a46547959a176eba176ee115f"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Apr 01 20:27:28 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Apr 10 18:14:42 2015 +0100"
      },
      "message": "Fallback to quick in case of soft verification errors\n\nAdd a regression test: using uninitialized values triggers a soft\nverification error and optimizing should not crash.\n\nThanks to Stephen Kyle (stephenckyle@googlemail.com) for the bug report.\n\nBug: 19988704\n\nChange-Id: I2493f737efd3fad72f6b41fb60eff1d3731613fb\n"
    },
    {
      "commit": "188d4316a880ae24aed315aa52dc503c4fcb1ec7",
      "tree": "a480bdc4a80f63d46abcde2ef7a36e1ad072d624",
      "parents": [
        "27ef3177fb164b5e1a3b8a6fd43d25f3074e586d"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@arm.com",
        "time": "Thu Apr 09 18:30:21 2015 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Apr 10 16:19:55 2015 +0000"
      },
      "message": "Opt compiler: Instruction simplification for HAdd, HNeg, HNot, HSub.\n\nUnder assumptions for the \u0027cost\u0027 of each IR (eg. neither HAdd nor HSub\nare faster than the other), transformations are only applied if they\n(locally) cannot degrade the quality of the graph. The code could be\nextended to look at uses of the IRs and detect more opportunities for\noptimisations.  The optimisations in this patch do not look at other\nuses for their inputs.\n\nChange-Id: Ib60dab007af30f43421ef5bb55db2ec32fb8fc0c\n"
    },
    {
      "commit": "12be74e37b587ef2dea838d480018f4658b95ad7",
      "tree": "26d1bcbb5b7cf5c60f8c18f77aa321986ff599b6",
      "parents": [
        "fcee9d4ad44b70cb85aafa9056c08a194c5582e6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 30 13:29:08 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 30 15:07:43 2015 +0100"
      },
      "message": "[optimizing] Only print full stats in VLOG(compiler)\n\nAlso add a kCompiledQuick stat.\n\nbug:19956318\n\nChange-Id: I0c6c0ac256362824eb9f1418216ab7e2c289a17b\n"
    },
    {
      "commit": "36540cb4d549c706cc7cd23086684f1548a91042",
      "tree": "2c96f65e657ea190e20bd311dab4ba0a35f4040e",
      "parents": [
        "476448128d0ebf3328e96548de34f19bc55fa5c8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 23 14:45:53 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 23 14:47:12 2015 +0000"
      },
      "message": "Implement a space filter for optimizing.\n\nHeuristic-based. Currently only for enabling fugu user build.\n\nChange-Id: I76e652bd3f00ed84a2a8ad69c7c2c0e24d74cd68\n"
    },
    {
      "commit": "acf735c13998ad2a175f5a17e7bfce220073279d",
      "tree": "94969f2387f0e6dad8c7e5712aa8187c9de2be56",
      "parents": [
        "39109a06015c91188232e59fa9e60e0915d24cd7"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Feb 12 15:25:22 2015 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Feb 19 17:07:52 2015 +0000"
      },
      "message": "Reference type propagation\n\n- propagate reference types between instructions\n- remove checked casts when possible\n- add StackHandleScopeCollection to manage an arbitrary number of stack\nhandles (see comments)\n\nChange-Id: I31200067c5e7375a5ea8e2f873c4374ebdb5ee60\n"
    },
    {
      "commit": "02d81cc8d162a31f0664249535456775e397b608",
      "tree": "8bce70d3d44dcc9384d72e4edc1505e4d1a6ea07",
      "parents": [
        "8558375377946aabbbda6ab584e13f754590bd89"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Mon Jan 05 16:08:49 2015 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Jan 05 18:23:33 2015 +0000"
      },
      "message": "Opt Compiler: ARM64: Add support for rem-float, rem-double and volatile.\n\nAdd support for rem-float, rem-double and volatile memory accesses\nusing acquire-release and memory barriers.\n\nChange-Id: I96a24dff66002c3b772c3d8e6ed792e3cb59048a\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\n"
    },
    {
      "commit": "e53798a7e3267305f696bf658e418c92e63e0834",
      "tree": "8979bbed96b107a5a6bbae9285ff4e0c362dad95",
      "parents": [
        "e6c0cdd11097dd72275ac24f1e98217c299d973e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 01 10:31:54 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 15 22:52:27 2014 +0000"
      },
      "message": "Inlining support in optimizing.\n\nCurrently only inlines simple things that don\u0027t require an\nenvironment, such as:\n- Returning a constant.\n- Returning a parameter.\n- Returning an arithmetic operation.\n\nChange-Id: Ie844950cb44f69e104774a3cf7a8dea66bc85661\n"
    },
    {
      "commit": "48c2b03965830c73cdddeae8aea8030f08430137",
      "tree": "56cf034739095c71a175fa97205ed6dc76efbe0d",
      "parents": [
        "d2ec87d84057174d4884ee16f652cbcfd31362e9"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Dec 09 18:11:36 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Dec 10 16:27:08 2014 +0000"
      },
      "message": "Add more compilation stats to optimizing\n\nOptimizing is getting closer to have full coverage and this provides a\nnice overview on why certain methods are not compiled/optimized.\n\nAlso, clean up some of the builder methods.\n\nChange-Id: Id2f31441a788b797b0efea7ec78bee27bb654186\n"
    }
  ]
}
