)]}'
{
  "log": [
    {
      "commit": "4a128a1d33758b5c7b7179dd6779ae120453a94c",
      "tree": "07e8c8c823b7f6dc7a49fb0408984612b50d0d46",
      "parents": [
        "463d03e93071be1efe6c5b65dbf7cbbe1b793eee"
      ],
      "author": {
        "name": "Daniil Riazanovskiy",
        "email": "riazanovskiy@google.com",
        "time": "Thu Oct 15 00:46:06 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Oct 22 17:22:18 2020 +0000"
      },
      "message": "Reformat Checker according to recent Google styleguide\n\nTest: art/tools/checker/run_unit_tests.py\nTest: Run any Checker test with atest or mts\nChange-Id: I0452429fa43356d93ca748879bad14ef23609f40\n"
    },
    {
      "commit": "d4220f1736892687ffdec31648f95d9cb5478ae6",
      "tree": "2679e856337a977013da2812a2dabef5fab28ac0",
      "parents": [
        "4258f9e2f19016e04a71ec2b5349b707f8f47a18"
      ],
      "author": {
        "name": "Daniel Riazanovskiy",
        "email": "riazanovskiy@google.com",
        "time": "Tue Oct 13 15:04:20 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Oct 14 08:02:51 2020 +0000"
      },
      "message": "Revert^2 \"Port Checker to python 3\"\n\nThis reverts commit 5409408a41045c7f178e362311eb51dab992d6db.\n\nReason for revert: The original issue (b/170308859) is fixed by\nhttps://android-review.googlesource.com/c/platform/art/+/1458282.\n\nTest: art/tools/checker/run_unit_tests.py\nTest: art/test/testrunner/testrunner.py --host\nBug: 170308859\nBug: 162408889\n\nChange-Id: Ibc4539403ea77a9e718c830466459e6354ef0f23\n"
    },
    {
      "commit": "bfe8fc80767511676eae739e0924377dfc6c6089",
      "tree": "266db200bfb812ebe6b5ed9ab3ab9accb67081fe",
      "parents": [
        "7e9fc9d6d1622192f118bab771784eedfb66c60e"
      ],
      "author": {
        "name": "Daniil Riazanovskiy",
        "email": "riazanovskiy@google.com",
        "time": "Mon Oct 05 15:07:15 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 12 08:23:13 2020 +0000"
      },
      "message": "Restore cfg file printing in Checker as an option\n\nTest: run checker with test that is expected to fail\nChange-Id: I14ca5e6bed38e2677cdf4b2eb4b79a6594af6f13\n"
    },
    {
      "commit": "5409408a41045c7f178e362311eb51dab992d6db",
      "tree": "4f5ed9d9ac417dfd69fd18f64412b2272c448e05",
      "parents": [
        "961f2954c12cfd66970a3150f2e3ef9b2567300f"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Oct 07 17:44:41 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Oct 07 17:44:41 2020 +0000"
      },
      "message": "Revert \"Port Checker to python 3\"\n\nThis reverts commit 961f2954c12cfd66970a3150f2e3ef9b2567300f.\n\nReason for revert: Breaks some Checker tests on the ART Buildbot (see b/170308859).\n\nBug: 170308859\nBug: 162408889\nChange-Id: If531b015c2aa23d4e64e9e349982dc72cf8dc093\n"
    },
    {
      "commit": "961f2954c12cfd66970a3150f2e3ef9b2567300f",
      "tree": "3a10e0b5a0f9c9ec5f9f43116cd9d918e5376853",
      "parents": [
        "8d34a182fea1b24f7b8361b55e930cb953cf3fb2"
      ],
      "author": {
        "name": "Daniil Riazanovskiy",
        "email": "riazanovskiy@google.com",
        "time": "Tue Oct 06 16:29:38 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Oct 07 11:52:15 2020 +0000"
      },
      "message": "Port Checker to python 3\n\nThe porting only required very minor changes,\nmostly related to the change of the meaning of the str type\n\nTest: ./run_unit_tests.py\nTest: atest art-run-test-583-checker-zero\n\nBug: 162408889\nChange-Id: I9199a740ef19bfadddd6c52c0906e3a843c3ac2e\n"
    },
    {
      "commit": "2446feb60919ceb09b5cab388291a86ccdc9be10",
      "tree": "c5293d846db8b93e3a3fc660ba5d07e5a56be4af",
      "parents": [
        "2091019e6c3ca07454b97730f29bb7200fa9d46e"
      ],
      "author": {
        "name": "Evgeny Astigeevich",
        "email": "evgeny.astigeevich@linaro.org",
        "time": "Mon Jul 27 12:25:49 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jul 28 13:36:12 2020 +0000"
      },
      "message": "Dump ISA into .cfg\n\nThe optimizing compiler dumps ISA features into .cfg which can be used\nby the checker. A new tool perf2cfg needs to know ISA a CFG corresponds\nto. The tool uses this to check that input perf data has the same ISA.\n\nThis CL implements in the compiler dumping ISA in addition to ISA features:\n\nbegin_compilation\n  name \"isa:some_isa isa_features:feature1,-feature2\"\n  method \"isa:some_isa isa_features:feature1,-feature2\"\n  date 1580721972\nend_compilation\n\nBug: 147876827\nTest: ./art/tools/checker/run_unit_tests.py\nTest: test.py --target --optimizing --jit --interpreter\nTest: test.py --host --optimizing --jit --interpreter\nChange-Id: I189eae0f4de61e6a49c01d925e7136b5f7027c91\n"
    },
    {
      "commit": "40b0614be3296e163654c4e293793d00bcf36a5a",
      "tree": "5dcd9dd7d93d14b83c82cb90674df9353280189d",
      "parents": [
        "52fe49e87902fb231201874f52c4993e6fe611e9"
      ],
      "author": {
        "name": "Fabio Rinaldi",
        "email": "fabio.rinaldi@linaro.org",
        "time": "Wed Feb 12 16:18:50 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jul 22 10:44:31 2020 +0000"
      },
      "message": "Checker: Add function isaHasFeature\n\nDevelopers are now able to use hasIsaFeature(\"feature_name\") to\ncheck if an instruction set feature was used at compile time.\n\nChecker will retrieve the list of features from the .cfg file. It\nexpects them to be dumped at the beginning of the file as a fake\ncompilation block in the following form:\n\nbegin_compilation\n  name \"isa_features:feature1,-feature2\"\n  method \"isa_features:feature1,-feature2\"\n  date 1580721972\nend_compilation\n\nDumping that is optional. hasIsaFeature() will always return False\nif that pass is not found.\n\nAuthor:    Fabio Rinaldi\nCommitter: Artem Serov\n\nBug: 147876827\nTest: ./art/tools/checker/run_unit_tests.py\nTest: test.py --target --optimizing\nChange-Id: I4ce15d853025f9863d7981b33b761cfc799fed50\n"
    },
    {
      "commit": "5e2c8d323fbab4db8a71041ff94b6baf3953bca9",
      "tree": "12030091e7359b656abe46f601aa5230b1dec880",
      "parents": [
        "1f3f766d3b365d01f36b85dc19d40f754fa48533"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Thu Aug 06 14:49:28 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Aug 06 15:32:28 2015 +0100"
      },
      "message": "Introduce arch-specific checker tests.\n\n- The \u0027.cfg\u0027 output is now created on target.\n- Arch-specific checker tests can be created by inserting a\n  suffix. For example:\n      /// CHECK-START-ARM64: int Main.foo(int) register (after)\n      /// CHECK-DAG:   \u003c\u003cArg:i\\d+\u003e\u003e     ParameterValue\n\nChange-Id: I55cdb37f8e806c7ffdde6b676c8f44ac30b59051\n"
    },
    {
      "commit": "2c27f2ccf316aebf96cf365d33d2834a8206444d",
      "tree": "6342ab4849749944b4fe442238f9c24c4088c11e",
      "parents": [
        "2d999e0588b008ec68a9fbda97dd32fd03c22364"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 12 18:06:38 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 12 18:10:57 2015 +0100"
      },
      "message": "ART: Split Checker into smaller files\n\nChecker code has become too messy and incomprehensible. This patch\nsplits it into more manageable and better structured units.\nFunctionality remains unchanged.\n\nResubmission of change I870c69827d2be2d09196a51382a3f47f31cd2ba3 due\nto omission of file \u0027tools/checker/file_format/common.py\u0027.\n\nChange-Id: I277a4aa65a2e3b54f0e89901fdb9f289f55a325f\n"
    }
  ]
}
