)]}'
{
  "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": "f6c66c3348a2b64e4b6472827e31f711142006e3",
      "tree": "0795f80e2c07dc79904590ddeb0fbe55ba9e6176",
      "parents": [
        "1656ca9e6996cb555b4463e5efd4bd7e3f4fb816"
      ],
      "author": {
        "name": "Kevin Brodsky",
        "email": "kevin.brodsky@linaro.org",
        "time": "Thu Dec 17 14:13:00 2015 +0000"
      },
      "committer": {
        "name": "Kevin Brodsky",
        "email": "kevin.brodsky@linaro.org",
        "time": "Fri Jun 02 16:53:23 2017 +0100"
      },
      "message": "Tests: never use System.err\n\nAlways print stack traces to System.out, and replace all\nSystem.err.println()\u0027s with System.out.println().\n\nFollow-up of https://android-review.googlesource.com/#/c/187020/ and\nhttps://android-review.googlesource.com/#/c/407032/.\n\nTest: m test-art-host\n      m test-art-target\nChange-Id: I9ab9cd955a8db25b2ec6673790e5bc924f62c88a\n"
    },
    {
      "commit": "ef3b17732afb70ac70075a0334cb7074761bd507",
      "tree": "c2a967d1ff38c599cf30e3597407d0331992cbc6",
      "parents": [
        "0bf76878a7784b4e0f21ace82d891bf0b760aaac"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Jun 30 13:57:39 2015 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Jun 30 13:57:39 2015 +0200"
      },
      "message": "Properly delete temp files during run-test\n\nBug: 22190679\nChange-Id: Ic5cb98d296df924d9ee724c757c526ad70744612\n"
    },
    {
      "commit": "7403503d9ba33463e850b7e87a1b0430372d7003",
      "tree": "61444b6255e52f0728c3f3e0b8b8c4ca982307ca",
      "parents": [
        "04a77807a657e86495e7ececf7dc530fa5003c4c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 27 16:12:08 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Feb 02 10:35:13 2015 -0800"
      },
      "message": "ART: Fix run-tests for emulator\n\nOn a standard emulator, there is no sdcard emulation, so trying to\ncreate a temp file in /sdcard will fail - it will try to create in\nthe root file system, which is read-only.\n\nChange-Id: If7d1ad82db156177a5be58c2f79ed730cf7ab6b9\n"
    },
    {
      "commit": "270a0e16c3b8e5b95cbfdbd8996ac137c7c6322b",
      "tree": "2800649d19ffcdc891118a458f6b0169022d93e0",
      "parents": [
        "951d70b42400453f9d1746d155b8337c07c86acc"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Jan 16 19:49:09 2015 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Jan 23 17:26:45 2015 +0100"
      },
      "message": "Fix exception handling during deoptimization\n\nWhen interpreting a deoptimized shadow frame, we may start with a\npending exception thrown by a previous deoptimized shadow frame (from\na previous invoke). Therefore, we need to handle it before executing\nany instruction, otherwise we execute incorrect code.\n\nBecause we need the DEX pc of the throwing instruction to find a\nmatching catch handler, we initialize deoptimized shadow frames with\nthe current DEX pc at the time the stack is deoptimized.\nWhen we are about to interpret a deoptimized shadow frame, we need to\nupdate the shadow frame with the DEX pc of the next instruction to\ninterpret. There are three cases:\n- if there is no pending exception, this is the instruction following\nthe current one.\n- if there is a pending exception and we found a matching catch\nhandler, this is the first instruction of this handler.\n- if there is a pending exception but there is no matching catch\nhandler, we do not execute the deoptimized shadow frame and continue\nto its caller.\n\nThe verifier now fails when a method starts with a move-exception\ninstruction. Indeed we cannot start executing a method with a pending\nexception.\n\nBug: 19057915\nBug: 19041195\nBug: 18607595\nChange-Id: I355ac81e6ac098edc7e3cc8c13dbfa24a2969ab2\n"
    }
  ]
}
