)]}'
{
  "commit": "78505279665e64d28e4a308818b69e6f77ecc5d2",
  "tree": "92a449ff75f77f4dcc04b5705a50beaa851c0a76",
  "parents": [
    "3d5c5f876d171983d614925eebe4f0edccbb75be"
  ],
  "author": {
    "name": "Aurelien Jarno",
    "email": "aurelien@aurel32.net",
    "time": "Tue Oct 09 21:53:08 2012 +0200"
  },
  "committer": {
    "name": "Aurelien Jarno",
    "email": "aurelien@aurel32.net",
    "time": "Sun Oct 28 14:54:23 2012 +0100"
  },
  "message": "tcg: rework TCG helper flags\n\nThe current helper flags, TCG_CALL_CONST and TCG_CALL_PURE might be\nconfusing and doesn\u0027t provide enough granularity for some helpers (FP\nhelpers for example).\n\nThis patch changes them into the following helpers flags:\n- TCG_CALL_NO_READ_GLOBALS means that the helper does not read globals,\n  either directly or via an exception. They will not be saved to their\n  canonical location before calling the helper.\n- TCG_CALL_NO_WRITE_GLOBALS means that the helper does not modify any\n  globals. They will only be saved to their canonical locations before\n  calling helpers, but they won\u0027t be reloaded afterwise.\n- TCG_CALL_NO_SIDE_EFFECTS means that the call to the function is\n  removed if the return value is not used.\n\nIt provides convenience flags, to avoid helper definitions longer than\n80 characters. It also provides compatibility flags, and updates the\ndocumentation.\n\nReviewed-by: Richard Henderson \u003crth@twiddle.net\u003e\nSigned-off-by: Aurelien Jarno \u003caurelien@aurel32.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9d1b1006138971ceb1d3b7703a451ba4ee728b7c",
      "old_mode": 33188,
      "old_path": "tcg/README",
      "new_id": "ec1ac79375aa8911497a24147ab45f4cadcd1a39",
      "new_mode": 33188,
      "new_path": "tcg/README"
    },
    {
      "type": "modify",
      "old_id": "a06c8eb43e70bf178872ce615f4b0e7ab6238c49",
      "old_mode": 33188,
      "old_path": "tcg/optimize.c",
      "new_id": "8e5d9180300e4cfe0ebad0876cbb899b22ed784f",
      "new_mode": 33188,
      "new_path": "tcg/optimize.c"
    },
    {
      "type": "modify",
      "old_id": "8100a5a2e0ab086397863482dee2531c6ef328b1",
      "old_mode": 33188,
      "old_path": "tcg/tcg-op.h",
      "new_id": "8d1da2b67009a8e50f3b651ac13dc0150e568c1a",
      "new_mode": 33188,
      "new_path": "tcg/tcg-op.h"
    },
    {
      "type": "modify",
      "old_id": "c9c642300d07fea20dc9a4cb98cfc3c713950909",
      "old_mode": 33188,
      "old_path": "tcg/tcg.c",
      "new_id": "c3a7f19bd7da5aedd98315de152acbbe5ad4b876",
      "new_mode": 33188,
      "new_path": "tcg/tcg.c"
    },
    {
      "type": "modify",
      "old_id": "4b44ecdccb7c2372c3104362025689c8544871bf",
      "old_mode": 33188,
      "old_path": "tcg/tcg.h",
      "new_id": "96b62229c22baf784245be56c1e090394fde693d",
      "new_mode": 33188,
      "new_path": "tcg/tcg.h"
    }
  ]
}
