)]}'
{
  "commit": "205c88d2aa9d2a9366fbc1b09281db56d2a2238b",
  "tree": "18de599fa0cc59d2e1a49d729eca897745f01281",
  "parents": [
    "28732a27cd9d879871d681642f9ba0e1a0b8edbd"
  ],
  "author": {
    "name": "Lei Zhang",
    "email": "antiagainst@gmail.com",
    "time": "Tue Oct 24 19:09:18 2023 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Oct 24 19:09:18 2023 -0700"
  },
  "message": "[metal] Retain device until command buffer completion (#15288)\n\nWe use resource sets in `iree_hal_metal_device_queue_execute` to keep\r\ntrack of command buffers and semaphores and release them when the\r\ncommand buffers complete. It would require the underlying block pool\r\nbacking the resource sets to have a larger lifetime to make sure we\r\ndon\u0027t access destroyed data structures. So we need to retain the device\r\nuntil the command buffer completes.\r\n\r\nFixes https://github.com/openxla/iree/issues/14814",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d3b52c66b6700be66412a237946b90351589a11f",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/hal/drivers/metal/direct_command_buffer.m",
      "new_id": "3951c48453c893b19d4cc80e059b2e019281fb66",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/drivers/metal/direct_command_buffer.m"
    },
    {
      "type": "modify",
      "old_id": "6cc23ef6b9521091e58733d44da048e6b923e46c",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/hal/drivers/metal/metal_device.m",
      "new_id": "8199017cb80b76f6092b200f7d0bf0dc88cd0b68",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/drivers/metal/metal_device.m"
    }
  ]
}
