)]}'
{
  "commit": "8eda206e09089914006bfbdd71467d5246c06e4a",
  "tree": "c4b8e848794b28a8f4619cacf92a23ad611ca7b8",
  "parents": [
    "c0c071d05279ec1429352200affc5c70bb4e5980"
  ],
  "author": {
    "name": "Pavel Dovgalyuk",
    "email": "Pavel.Dovgaluk@ispras.ru",
    "time": "Thu Sep 17 19:24:28 2015 +0300"
  },
  "committer": {
    "name": "Paolo Bonzini",
    "email": "pbonzini@redhat.com",
    "time": "Fri Nov 06 10:16:02 2015 +0100"
  },
  "message": "replay: recording and replaying clock ticks\n\nClock ticks are considered as the sources of non-deterministic data for\nvirtual machine. This patch implements saving the clock values when they\nare acquired (virtual, host clock).\nWhen replaying the execution corresponding values are read from log and\ntransfered to the module, which wants to read the values.\nSuch a design required the clock polling to be synchronized. Sometimes\nit is not true - e.g. when timeouts for timer lists are checked. In this case\nwe use a cached value of the clock, passing it to the client code.\n\nSigned-off-by: Pavel Dovgalyuk \u003cpavel.dovgaluk@ispras.ru\u003e\nMessage-Id: \u003c20150917162427.8676.36558.stgit@PASHA-ISP.def.inno\u003e\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nSigned-off-by: Pavel Dovgalyuk \u003cPavel.Dovgaluk@ispras.ru\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f07cac2781308b34f9eef3177d22d09c6657997e",
      "old_mode": 33188,
      "old_path": "cpus.c",
      "new_id": "2385caa2487c33dc126208dd0d92283064daa08e",
      "new_mode": 33188,
      "new_path": "cpus.c"
    },
    {
      "type": "modify",
      "old_id": "c2a7651d7ad8d150c5688ae8cf3c1a383405f366",
      "old_mode": 33188,
      "old_path": "include/sysemu/replay.h",
      "new_id": "2398509188b4d136922e5d4c791b5229ff476d1d",
      "new_mode": 33188,
      "new_path": "include/sysemu/replay.h"
    },
    {
      "type": "modify",
      "old_id": "2463fe6f6acbfa1adc222888a0e13425883d6152",
      "old_mode": 33188,
      "old_path": "qemu-timer.c",
      "new_id": "3dc847ba3d085575bc3968beb635adf1b0586807",
      "new_mode": 33188,
      "new_path": "qemu-timer.c"
    },
    {
      "type": "modify",
      "old_id": "6b439c2c23e558b7d1ed18b4d3ab1e063b725f6d",
      "old_mode": 33188,
      "old_path": "replay/Makefile.objs",
      "new_id": "56328ac53b35890b0736bce51c1891bfd35cbfda",
      "new_mode": 33188,
      "new_path": "replay/Makefile.objs"
    },
    {
      "type": "modify",
      "old_id": "23807ca4133c28ef96bc56daeee928c3b1cf253d",
      "old_mode": 33188,
      "old_path": "replay/replay-internal.h",
      "new_id": "f042c46e70d5df6b01b0c35db2a544ee35880b43",
      "new_mode": 33188,
      "new_path": "replay/replay-internal.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6d06951f5ec1570762e916d4c88301a12fd80c44",
      "new_mode": 33188,
      "new_path": "replay/replay-time.c"
    },
    {
      "type": "modify",
      "old_id": "12c1a7557d3dd8ac85771bc88342af0e0c8b28a1",
      "old_mode": 33188,
      "old_path": "stubs/replay.c",
      "new_id": "f0d95b05f107173d6f57236fc9b115ea974afd40",
      "new_mode": 33188,
      "new_path": "stubs/replay.c"
    }
  ]
}
