)]}'
{
  "log": [
    {
      "commit": "b15e8797d2ca6fb480a940887c66dd2aae7c9065",
      "tree": "23bd6e44c31b45fde7d92bbe7620329a61c1fcf5",
      "parents": [
        "79bf0b8e9c704e63029bb3badf9c4872484a827b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Oct 28 12:20:59 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 10 09:46:01 2020 +0000"
      },
      "message": "Verify ART run-tests\u0027 standard output and standard error separately.\n\nIntroduce expected standard error files for ART run-tests. Collect\ntests\u0027 standard output and standard error separately and check them\nagainst the corresponding expectation file.\n\nTest: Run ART run-tests on host and device using `testrunner.py`.\nTest: atest --test-mapping art:all\nTest: atest --test-mapping cts/hostsidetests/jvmti:all\nBug: 171865375\nBug: 147812905\nChange-Id: Ie95bec4a4684ff6791d464124ce8976339432d1f\n"
    },
    {
      "commit": "a073f46104fbce0482fb759d5ccfb32ee39cc973",
      "tree": "985538ce69fa4d9253725cddaca936ddc3eaea86",
      "parents": [
        "5a19854c682a994729f704806d6c0de1de349631"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Oct 28 12:48:24 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 05 18:15:49 2020 +0000"
      },
      "message": "Rename ART run-tests `expected.txt` files as `expected-stdout.txt`.\n\nThis is in preparation for the addition of `expected-stderr.txt` files\nin all ART run-test directories, which will record the expected\nstandard error for each of these tests, and which will be verified\nalong with `expected-stdout.txt`.\n\nTest: Run ART run-tests on host and device using `testrunner.py`.\nTest: atest --test-mapping art:all\nBug: 171865375\nBug: 147812905\nChange-Id: I37e3c4b8409475790e2fc63514cdf57156d47ff4\n"
    },
    {
      "commit": "d96a246e5b103bfc167acaa6315bd8abca9de493",
      "tree": "3e99f24bc30d53bc9cfc9fb1e0f3dc92c0ce1daf",
      "parents": [
        "3920099f578fd8015777bc3c1c7392a08b1e08e7"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Mar 23 16:01:47 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Mar 23 19:17:51 2016 +0000"
      },
      "message": "Optimizing: Do not insert suspend checks on back-edges.\n\nRely on HGraph::SimplifyLoop() to insert suspend checks.\n\nCodeGenerator\u0027s CheckLoopEntriesCanBeUsedForOsr() checks the\ndex pcs of suspend checks against branch targets to verify\nthat we always have an appropriate point for OSR transition.\nHowever, the HSuspendChecks that were added by HGraphBuilder\nto support the recently removed \"baseline\" interfered with\nthis in a specific case, namely an infinite loop where the\nback-branch jumps to a nop. In that case, the HSuspendCheck\nadded by HGraphBuilder had a dex pc different from the block\nand the branch target but its presence would stop the\nHGraph::SimplifyLoop() from adding a new HSuspendCheck with\nthe correct dex pc.\n\nBug: 27623547\nChange-Id: I83566a260210bc05aea0c44509a39bb490aa7003\n"
    }
  ]
}
