)]}'
{
  "commit": "835d1b88ab3f3a7cdd0fc952c28337143602c2d8",
  "tree": "faabfaf9050269f896ab6a8ba1b9a767dcda2855",
  "parents": [
    "273badbebdefe6f2745058e066ea19bce6fc8bb6"
  ],
  "author": {
    "name": "Ben Vanik",
    "email": "ben.vanik@gmail.com",
    "time": "Wed Apr 29 13:44:19 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Apr 29 13:44:19 2026 -0700"
  },
  "message": "[HAL/VMVX] Own bytecode executable data (#24307)\n\nVMVX bytecode modules keep pointers into their archive contents for\nfunction metadata, rodata, and teardown. The HAL module may provide\nexecutable bytes from module-origin rodata, but local-task can signal\ncompletion before it releases retained implementation resources. A\ncommand-buffer/executable destructor running after that signal must\ntherefore not depend on the caller\u0027s module backing memory.\n\nAlways clone the VMVX executable bytecode during load and let the\nbytecode module own that copy. This keeps the cost on the cold\nexecutable prepare path and preserves the\nsignal-before-resource-destruction queue completion path.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "14b008e3e2fadf067ba69da574dcf76452fa3458",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/hal/local/loaders/vmvx_module_loader.c",
      "new_id": "8f263d7b1b2199b283417c89f517b6642dec580b",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/local/loaders/vmvx_module_loader.c"
    }
  ]
}
