)]}'
{
  "log": [
    {
      "commit": "78e3ef6bc5f8aa149f2f8bf0c78ce854c2f910fa",
      "tree": "b8aa83bef462e20e2e7e09650e6c15d3a8d97fa6",
      "parents": [
        "6a5037eb3340e4c981fd7de3ff45167ee5b7fc82"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Wed Aug 12 13:43:29 2015 +0100"
      },
      "committer": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Wed Aug 12 13:43:29 2015 +0100"
      },
      "message": "Add a GVN dependency \u0027GC\u0027 for garbage collection.\n\nThis will be used by incoming architecture specific optimizations. The\ndependencies must be conservative. When an HInstruction is created we\nmay not be sure whether it can trigger GC. In that case the\n\u0027ChangesGC\u0027 dependency must be set. We control at code-generation time\nthat HInstructions that can call have the \u0027ChangesGC\u0027 dependency\nset.\n\nChange-Id: Iea6a7f430009f37a9599b0a0039207049906e45d\n"
    },
    {
      "commit": "423f150e5c17b5f4cd16259565b61c57f5f19477",
      "tree": "f30a2ea82c56175870c11a39949cf6a38aa36617",
      "parents": [
        "f24576a7233ec708d49badb239cd7336c2b0f07e",
        "8c0676ce786f33b8f9c8eedf1ace48988c750932"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Aug 11 14:25:45 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 11 14:25:45 2015 +0000"
      },
      "message": "Merge \"ART-Optimizing: Fix the type of HDivZeroCheck\""
    },
    {
      "commit": "8c0676ce786f33b8f9c8eedf1ace48988c750932",
      "tree": "024674305019f6e5b47a7aa044c47c87c1d4abaf",
      "parents": [
        "1f3f766d3b365d01f36b85dc19d40f754fa48533"
      ],
      "author": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Mon Aug 03 13:55:33 2015 +0600"
      },
      "committer": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Tue Aug 11 18:12:02 2015 +0600"
      },
      "message": "ART-Optimizing: Fix the type of HDivZeroCheck\n\nHDivZeroCheck is created during the building CFG and at this moment\nits type is not known completely. So it sets the type to int or long.\nHowever, later SSA builder can insert the type conversion and type\nof input of HDivZeroCheck can become byte or short while the type\nof HDivZeroCheck remains the same.\n\nIn reality the type of HDivZeroCheck should be always equal to\nits input parameter.\nTo fix this inconsistency we return the type of HDivZeroCheck as its\ninput type. Code generators are updated accordingly.\n\nChange-Id: I6a5aedc8d479cfc6328704e7ddf252bca830076b\nSigned-off-by: Serguei Katkov \u003cserguei.i.katkov@intel.com\u003e\n"
    },
    {
      "commit": "8158f28b6689314213eb4dbbe14166073be71f7e",
      "tree": "fced445e53f639b2db42cb5a0e96d5aa04750861",
      "parents": [
        "33407564904d2186f536107e1ca8d88f2c760c83"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Fri Aug 07 10:26:17 2015 +0100"
      },
      "committer": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Fri Aug 07 10:26:17 2015 +0100"
      },
      "message": "Ensure coherency of call kinds for LocationSummary.\n\nThe coherency is enforced with checks added in the `InvokeRuntime`\nhelper, that we now also use on x86 and x86_64.\n\nChange-Id: I8cb92b042f25dc3c5fd390e9c61a45b477d081f4\n"
    },
    {
      "commit": "cb1c0557033065f2436ee79e7fa6c19d87064801",
      "tree": "741b623b2e370a133b5cef9feed2542151186db6",
      "parents": [
        "e238414eee3ec933a4ceb1894666c9ef331ace0c"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Aug 04 16:22:25 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Aug 04 16:39:38 2015 +0100"
      },
      "message": "ART: Move exception clearing into own instruction\n\nRuntime delivers exceptions only to catch blocks which begin with a\nMOVE_EXCEPTION instruction (in DEX). In that case, the catch block is\nexpected to clear the thread-local exception storage after having\nread the exception reference.\n\nThis patch changes Optimizing to represent MOVE_EXCEPTION with two\ninstructions - HLoadException and HClearException - instead of one.\nIf the exception reference is not used, HLoadException can be safely\nremoved, saving a memory load without breaking the runtime behaviour.\n\nChange-Id: Idad8a714467bf9d9d5fccefbc43c0bd8ae13ddba\n"
    },
    {
      "commit": "2e7cd752452d02499a2f5fbd604c5427aa372f00",
      "tree": "505527250317827f56378f4b786534793ccfbb61",
      "parents": [
        "f16b820fc18ff86e765a14176f05417305d689a0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 10 11:38:52 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 10 18:21:13 2015 +0100"
      },
      "message": "[optimizing] Don\u0027t rely on the verifier for String.\u003cinit\u003e.\n\nContinue work on cutting the dependency on the verifier.\n\nChange-Id: I0f95b1eb2e10fd8f6bf54817f1202bdf6dfdb0fe\n"
    },
    {
      "commit": "fc6a86ab2b70781e72b807c1798b83829ca7f931",
      "tree": "90201491e811cf7be0e0469d7a06a828f4384cad",
      "parents": [
        "d3eaade87ac079accca30473ef0a3b38ab600828"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Jun 26 10:33:45 2015 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Jun 26 13:49:50 2015 +0100"
      },
      "message": "Revert \"Revert \"ART: Implement try/catch blocks in Builder\"\"\n\nThis patch enables the GraphBuilder to generate blocks and edges which\nrepresent the exceptional control flow when try/catch blocks are\npresent in the code. Actual compilation is still delegated to Quick\nand Baseline ignores the additional code.\n\nTo represent the relationship between try and catch blocks, Builder\nsplits the edges which enter/exit a try block and links the newly\ncreated blocks to the corresponding exception handlers. This layout\nwill later enable the SsaBuilder to correctly infer the dominators of\nthe catch blocks and to produce the appropriate reverse post ordering.\nIt will not, however, allow for building the complete SSA form of the\ncatch blocks and consequently optimizing such blocks.\n\nTo this end, a new TryBoundary control-flow instruction is introduced.\nCodegen treats it the same as a Goto but it allows for additional\nsuccessors (the handlers).\n\nThis reverts commit 3e18738bd338e9f8363b26bc895f38c0ec682824.\n\nChange-Id: I4f5ea961848a0b83d8db3673763861633e9bfcfb\n"
    },
    {
      "commit": "3e18738bd338e9f8363b26bc895f38c0ec682824",
      "tree": "708013ef06cfb524f040b2b5c494f7f3cb84ac2c",
      "parents": [
        "0b5c7d1994b76090afcc825e737f2b8c546da2f8"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Jun 26 09:59:52 2015 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Jun 26 09:59:52 2015 +0000"
      },
      "message": "Revert \"ART: Implement try/catch blocks in Builder\"\n\nCauses OutOfMemory issues, need to investigate.\n\nThis reverts commit 0b5c7d1994b76090afcc825e737f2b8c546da2f8.\n\nChange-Id: I263e6cc4df5f9a56ad2ce44e18932ca51d7e349f\n"
    },
    {
      "commit": "0b5c7d1994b76090afcc825e737f2b8c546da2f8",
      "tree": "057eddf8830b1991f02af3c3ce1b63dee90dd2ad",
      "parents": [
        "1dd3136d9f6b1c7d551897a2d96c8314e40f7324"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jun 11 11:17:49 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jun 25 16:58:08 2015 +0100"
      },
      "message": "ART: Implement try/catch blocks in Builder\n\nThis patch enables the GraphBuilder to generate blocks and edges which\nrepresent the exceptional control flow when try/catch blocks are\npresent in the code. Actual compilation is still delegated to Quick\nand Baseline ignores the additional code.\n\nTo represent the relationship between try and catch blocks, Builder\nsplits the edges which enter/exit a try block and links the newly\ncreated blocks to the corresponding exception handlers. This layout\nwill later enable the SsaBuilder to correctly infer the dominators of\nthe catch blocks and to produce the appropriate reverse post ordering.\nIt will not, however, allow for building the complete SSA form of the\ncatch blocks and consequently optimizing such blocks.\n\nTo this end, a new TryBoundary control-flow instruction is introduced.\nCodegen treats it the same as a Goto but it allows for additional\nsuccessors (the handlers).\n\nChange-Id: I415b985596d5bebb7b1bb358a46e08b7b04bb53a\n"
    },
    {
      "commit": "46648896b9ff3640a9b7ec742ec63957c412eab3",
      "tree": "d8d146c61e3250f7fc0979686fa3dbb77353bae9",
      "parents": [
        "7ed9cec8bc302a0b4fe5a127b58bfddd702a70e8"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jun 19 16:07:18 2015 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jun 19 16:08:33 2015 +0100"
      },
      "message": "Opt compiler: Add a description to MIP64 slow paths.\n\nChange-Id: I773a543cd4f146d64819cc347e57e6472dea0b38\n"
    },
    {
      "commit": "4dda3376b71209fae07f5c3c8ac3eb4b54207aa8",
      "tree": "0d96a327d1b3a7e09eff178a66c0b5fb946cfc85",
      "parents": [
        "71af6f7aab7491665fe2d6beb9af4c251a99ad56"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Mon Jun 01 18:31:49 2015 -0700"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jun 19 15:43:58 2015 +0100"
      },
      "message": "MIPS: Initial version of optimizing compiler for MIPS64R6.\n\nBug: 21555893\nChange-Id: I874dc356eee6ab061a32f8f3df5f8ac3a4ab7dcf\nSigned-off-by: Alexey Frunze \u003cAlexey.Frunze@imgtec.com\u003e\nSigned-off-by: Douglas Leung \u003cdouglas.leung@imgtec.com\u003e\n"
    }
  ]
}
