)]}'
{
  "log": [
    {
      "commit": "9837caff9cbfb61e3dabc6fbecb398d4d659c017",
      "tree": "b8101227d3987cebbc1c9d13f5d5f23a037a9f9a",
      "parents": [
        "80eb0bc2757274816a014a2997848d288c9ee553"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Aug 01 11:09:50 2016 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Sep 21 13:45:08 2016 +0200"
      },
      "message": "Update art tests\n\nJack generates different code compared to the previous release so\nsome tests need to be updated. For instance, Jack transform \u0027!cond\u0027\ninto \u0027cond xor 1\u0027.\n\nThe test 463-checker-boolean-simplifier still tests the if/else\npattern using smali.\n\n(cherry picked from commit e4d28c502486afe58a0e156b8fefb621a622cec2)\n\nBug: 29493697\nTest: lunch aosp_bullhead-userdebug \u0026\u0026 make -j32\nTest: make -j32 test-art-host \u0026\u0026 make -j32 test-art-target\nTest: art/tools/run-jdwp-tests.sh --mode\u003dhost\nChange-Id: Ief8ac3e9a4bcaa35c99e57161961d630333d3b3c\n"
    },
    {
      "commit": "f02c3cf66c2c24533f6da43970e7b766b2ca9938",
      "tree": "28dc729ed7e19f671b959531776682029ea197a8",
      "parents": [
        "8d468e351e42e8424f93746d9ee183f8cff01ec2"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Feb 29 09:14:51 2016 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Mar 02 11:26:02 2016 +0000"
      },
      "message": "ART: Switch Checker run-tests to Jack\n\nBug: 25635944\nChange-Id: Ic6774028025b51f54589e9625003e8f69cf39dea\n"
    },
    {
      "commit": "74eb1b264691c4eb399d0858015a7fc13c476ac6",
      "tree": "0b6fc4f3003d50bf6c388601013cdfc606e53859",
      "parents": [
        "75fd2a8ab9b4aff59308034da26eb4986d10fa9e"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Dec 14 11:44:01 2015 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jan 28 15:50:27 2016 +0000"
      },
      "message": "ART: Implement HSelect\n\nThis patch adds a new HIR instruction to Optimizing. HSelect returns\none of two inputs based on the outcome of a condition.\n\nThis is only initial implementation which:\n - defines the new instruction,\n - repurposes BooleanSimplifier to emit it,\n - extends InstructionSimplifier to statically resolve it,\n - updates existing code and tests accordingly.\n\nCode generators currently emit fallback if/then/else code and will be\nupdated in follow-up CLs to use platform-specific conditional moves\nwhen possible.\n\nChange-Id: Ib61b17146487ebe6b55350c2b589f0b971dcaaee\n"
    },
    {
      "commit": "6a92a033c33e383541d77607fbe8cd982875d13d",
      "tree": "11ede9dc975d1c79751ce2012a4956325df24481",
      "parents": [
        "b65eb5058dd6178d329e51e9dfd6d8cf58c6a0bb"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jul 23 12:15:01 2015 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jul 27 16:18:05 2015 +0100"
      },
      "message": "Cosmetic changes in ART run-tests.\n\nPerform a copyright headers clean up mostly.\n\nChange-Id: I26c855b2f54d0887676d9b9b8281b14b7978ab29\n"
    },
    {
      "commit": "108ceb48edea654c544b483c302212e43d79a472",
      "tree": "32c325eab3ed79939ae3c0d572e3e81ed65ebfa1",
      "parents": [
        "fec9d09bf7d2d54048b1df8e3c24a210e58dbc84"
      ],
      "author": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Wed Jul 15 15:32:09 2015 +0600"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 16 11:04:19 2015 +0100"
      },
      "message": "ART: Boolean simplifier fix\n\nBoolean simplifier should not remove condition instruction\nif it has side effects.\n\nChange-Id: I108b69ec05a49e5543ee956ad9c691b52179cf6c\nSigned-off-by: Serguei Katkov \u003cserguei.i.katkov@intel.com\u003e\n"
    },
    {
      "commit": "a06d66a4ee60926127b9498b7ff0b3e37a24fccf",
      "tree": "87ec5d72211d5c3446e1d80ee71eda77faffd6b3",
      "parents": [
        "b4e2fbbed28c3bcdb8fd0fee5a201ba78e1edf28"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu May 28 11:14:54 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu May 28 11:57:49 2015 +0100"
      },
      "message": "ART: Distinguish Checker lines from comments\n\nIn order to prevent tests passing due to lines with hard-to-spot\nformatting errors begin ignored, e.g. by forgetting the colon after\n\"//CHECK\", Checker will now require its assertions to start with \"///\"\nor \"##\", respectivelly for Java and Smali. Such lines will never be\nignored and will fail the test unless successfully parsed.\n\nChange-Id: I0da9a8f13eb96d950af8c85df17d1899a853a299\n"
    },
    {
      "commit": "c57397b2b87c7e6f28f4eee3c996d091e7dc0b01",
      "tree": "51ef8e6126cb41174f6103700c5f5442a38bbfe5",
      "parents": [
        "06675720cc274eb9d91a4ecd3fb1eef94a2d88f0"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri May 15 16:01:59 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri May 15 16:50:23 2015 +0100"
      },
      "message": "ART: Print C1vis lists as [v1,...,vN]\n\nChecker interprets whitespace as a don\u0027t-care placeholder, making it\neasier to write assertions which test only parts of the output (e.g.\n\"//CHECK: Add liveness:44\" does not test the inputs or any other\nattributes apart from \"liveness\").\n\nHowever, since the GraphVisualizer prints lists with elements\nseparated by spaces (\"[ v1 ... vN ]\"), this allows for false positives\ncaused by an occurrence elsewhere in the output. For example, the\nassertion: \"//CHECK: [ x y ]\" will match \"[ x y ]\" but also\n\"[ x a y b ]\" or even \"[ x ] abc [ y ]\".\n\nSwitching to comma-separated lists works around this issue.\n\nThis patch updates all test files, fixes one false positive that this\nchange revealed (test 442, line 337) and two occurrences of a wrong\nmatch (test 462, lines 121, 149).\n\nBug: 21189305\nChange-Id: I3b22503be3d92529dac0b13f66bccbcfabea6721\n"
    },
    {
      "commit": "c2c48ffdd623b4e58b34115d1521b0988a42b217",
      "tree": "56a7aea7fa187c388592e3d6df60be9c8edbfd0e",
      "parents": [
        "1cad536d675846ac9c110b5b3a412dfc55ace3ed"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri May 15 14:24:31 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri May 15 14:50:51 2015 +0100"
      },
      "message": "ART: Change Checker syntax for variables\n\nThis patch changes the syntax for defining and referencing variables\nfrom square brackets \u0027[[VAR]]\u0027 to angle brackets \u0027\u003c\u003cVAR\u003e\u003e\u0027. This is\ndone in order to avoid clashes when matching against lists enclosed\nin square brackets.\n\nChange-Id: Ib9560b07bdc7bd641fd1eb6143c0063e0783f1eb\n"
    },
    {
      "commit": "769c9e539da8ca80aa914cd12276aa5bd79148ee",
      "tree": "9aadf98a3fcbf7909f76c53fa2ee036ebda00304",
      "parents": [
        "0fbfe6f92a2481daf914043262b5854e65d8c3cc"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Apr 27 13:54:09 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Apr 27 17:00:58 2015 +0100"
      },
      "message": "ART: Simplify Ifs with BooleanNot condition\n\nIf statements with negated condition can be simplified by removing the\nnegation and swapping the true and false branches.\n\nChange-Id: I197afbc79fb7344d73b7b85d3611e7ca2519717f\n"
    },
    {
      "commit": "0d13fee6f4330cc9cb100c43135490a34c11d7a5",
      "tree": "e96f089c1e384772bebdd8d8701c95d73569f29c",
      "parents": [
        "27eac12a66a73eb38b5ccb45b62350cf341299d0"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Apr 17 14:52:19 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Apr 20 18:11:39 2015 +0100"
      },
      "message": "ART: Simplify more bool operations\n\nNow that we have the HBooleanNot instruction, the instruction\nsimplifier can optimize out more conditions comparing a boolean\nagainst a constant, as well as sequences of Boolean negations.\n\nChange-Id: I7f634f6428a3984dd97b27b3d6362491346f1ff6\n"
    },
    {
      "commit": "b2bd1c5f9171f35fa5b71ada42d1a9e11189428d",
      "tree": "db9165b3daa18d1d430b690b78c2d125bade3021",
      "parents": [
        "11e99b19f48576f1bb6d0993635b34b6e09c9832"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Mar 25 11:17:37 2015 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Mar 25 12:30:26 2015 +0000"
      },
      "message": "ART: Formatting and comments in BooleanSimplifier\n\nChange-Id: I9a5aa3f2aa8b0a29d7b0f1e5e247397cf8e9e379\n"
    },
    {
      "commit": "46e2a3915aa68c77426b71e95b9f3658250646b7",
      "tree": "2b0a4470b05291894db73c631fe94f0fdff8c46b",
      "parents": [
        "bce0855ca1dbb1fa226c5b6a81760272ce0b64ef"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Mar 16 17:31:52 2015 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Mar 24 17:28:37 2015 +0000"
      },
      "message": "ART: Boolean simplifier\n\nThe optimization recognizes the negation pattern generated by \u0027javac\u0027\nand replaces it with a single condition. To this end, boolean values\nare now consistently assumed to be represented by an integer.\n\nThis is a first optimization which deletes blocks from the HGraph and\ndoes so by replacing the corresponding entries with null. Hence,\nexisting code can continue indexing the list of blocks with the block\nID, but must check for null when iterating over the list.\n\nChange-Id: I7779da69cfa925c6521938ad0bcc11bc52335583\n"
    }
  ]
}
