)]}'
{
  "commit": "9ea0d950d7354009c247159a607e85f92d912d1d",
  "tree": "b7bb3dbc965cc22252ae5e0d8446840a9dda5b49",
  "parents": [
    "f1eb9ce728e5cf9553307865532807673142e775"
  ],
  "author": {
    "name": "m00dy",
    "email": "professor.moody@pm.me",
    "time": "Thu Oct 22 06:54:46 2026 -0500"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Oct 22 13:54:46 2026 +0200"
  },
  "message": "[Runtime][VM] connect ISA decoder validation macros and tighten register verification (#25088)\n\nTightens bytecode verification in\n`runtime/src/iree/vm/bytecode/verifier.c` and `dispatch_util.h`:\n\n- Route `IREE_VM_ISA_VALIDATE_REG_I32` in `dispatch_util.h` through\n`IREE_VM_ISA_VERIFY_REG_I32(ordinal)` and check `ordinal \u003c\nverify_state-\u003ei32_register_count` instead of compiling to `((void)0)`,\nand clamp `type_id` in `iree_vm_map_type` when `module-\u003etype_count \u003d\u003d\n0`.\n- Check register ordinals against the declared\n`function_descriptor-\u003ei32_register_count` and `ref_register_count`\n(matching the frame size allocated in `dispatch.c`) rather than rounding\ncounts up to a power of two during verification, and reject\n`ref_register_count \u003e IREE_VM_ISA_REF_REGISTER_MASK`.\n- Reject cross-bank (`i32` vs `ref`) register pairs in\n`iree_vm_bytecode_function_verify_remap_branch_operands`, decode\n`DiscardRefs` with `VARIADIC_OPERANDS_REF`, and reject trailing `cconv`\nsignature characters past `reg_list-\u003esize` in\n`iree_vm_bytecode_function_verify_cconv_registers`.\n- Initialize function state in `assembler/parser.c` before parsing\nfunction argument and result register lists so `ireec` counts unused\nargument registers in function descriptors.\n- Add unit tests in `runtime/src/iree/vm/bytecode/module_test.cc`\ncovering each verifier check.\n\nSigned-off-by: m00dy \u003c72485842+professor-moody@users.noreply.github.com\u003e\nAssisted-by: AI assistant\n\nSigned-off-by: m00dy \u003cprofessor.moody@pm.me\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b1176e5e4ebcb80ea12f36d40399906558bf6d53",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/bytecode/assembler/parser.c",
      "new_id": "45e5a913d2fafdf1562b034405f5da4d04ab49ee",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/assembler/parser.c"
    },
    {
      "type": "modify",
      "old_id": "3c23bcae58d89dc9d2cfb21c322b28bba4bd3ddc",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/bytecode/assembler/parser_test.cc",
      "new_id": "c26e433ef23b7f4a1758b525fe7679b4ac41d96b",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/assembler/parser_test.cc"
    },
    {
      "type": "modify",
      "old_id": "7936b660d2dda6c11e5a6c4168f4dc1d12d5aca7",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/bytecode/dispatch_util.h",
      "new_id": "a9cd3b5483e5c59546953d59654fd169d16d0b24",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/dispatch_util.h"
    },
    {
      "type": "modify",
      "old_id": "bbdff65e80f28ac4da15faa072b1266dcd804144",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/bytecode/module_test.cc",
      "new_id": "43e84c7a7dbff75fa8d33bbb07f7570739614482",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/module_test.cc"
    },
    {
      "type": "modify",
      "old_id": "496ad88901cea7cdab6b123cc9d09fe77d7f5b91",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/bytecode/verifier.c",
      "new_id": "a27914e202fdf44f86508edb30b4e8c999f555bd",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/verifier.c"
    }
  ]
}
