)]}'
{
  "commit": "acf375ff0c61985a30ba0409965726f3bda492a9",
  "tree": "96ac03e748ec04dc8b31de44727aa752d89c52fa",
  "parents": [
    "b8f0306f0f99b3636b604f423cccba0122a8c84e"
  ],
  "author": {
    "name": "Ben Vanik",
    "email": "ben.vanik@gmail.com",
    "time": "Thu Aug 08 14:06:16 2024 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Aug 08 14:06:16 2024 -0700"
  },
  "message": "Adding iree_hal_deferred_buffer_t helper. (#18158)\n\nThis is effectively just a subspan buffer but with the ability to\r\ncommit/decommit the backing storage. It\u0027s got a lot of footguns but\r\nshould mostly be used very carefully by binding layers or HAL\r\nimplementations that manage them.\r\n\r\nThis will be used to implement async allocations on CPU and any other\r\nbackend that does not natively support virtual memory. The intended\r\nusage is for `iree_hal_device_queue_alloca` to reserve a deferred buffer\r\nand then enqueue a commit in the queue timeline while\r\n`iree_hal_device_queue_dealloca` will enqueue a decommit.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "254bedbb2939514a101ef1f5d9b9c18765bb4d08",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/hal/allocator.h",
      "new_id": "de0ec30e8d780e7a5ac6a0d1899399294ec9916c",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/allocator.h"
    },
    {
      "type": "modify",
      "old_id": "c66835beb8e72d5000478a98bb3d6462eeb834e6",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/hal/buffer.c",
      "new_id": "3d1f68a6b8fc6ba464c03f5b72500042ae579f97",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/buffer.c"
    },
    {
      "type": "modify",
      "old_id": "586cf7722079dc6c380213d6588f6a398dbe56ed",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/hal/buffer.h",
      "new_id": "c8322289053ace2d8451129e21a3b718c67a2025",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/buffer.h"
    }
  ]
}
