)]}'
{
  "commit": "784db04adc74c5bfa5a434f1e686a0ff69906e8b",
  "tree": "8b77b8a12f7b52142885dbed3f9becde3b625f91",
  "parents": [
    "91e73d39692f8079add68b4307edb0e63e61b347"
  ],
  "author": {
    "name": "Ben Vanik",
    "email": "ben.vanik@gmail.com",
    "time": "Sat Feb 25 11:10:21 2023 -0800"
  },
  "committer": {
    "name": "Ben Vanik",
    "email": "ben.vanik@gmail.com",
    "time": "Fri Mar 03 19:36:06 2023 -0800"
  },
  "message": "Adding bytecode verification.\nThis moves much of the interpreter checks to an ahead-of-time bytecode\nverifier. This allows us to share the same verification with JITs\nand disable it entirely for code size reasons using the\n`-DIREE_VM_BYTECODE_VERIFICATION_ENABLE\u003d0` compiler flag.\n\nVerification is pretty exhaustive but may still need some additions.\nIt\u0027s significantly better than before, though, so even if not the final\nform it\u0027s a good step. Simpler verification (and dispatch) will come\nwith a pending bytecode shuffling into instruction classes.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4e166651ee28cccb62381185c04ea0d9bda9e672",
      "old_mode": 33188,
      "old_path": "build_tools/cmake/iree_copts.cmake",
      "new_id": "1956b04508816a9589172dc5a29f1865400d46c2",
      "new_mode": 33188,
      "new_path": "build_tools/cmake/iree_copts.cmake"
    },
    {
      "type": "modify",
      "old_id": "4183b3441eb2be9da7420611a9115f5614a80a23",
      "old_mode": 33188,
      "old_path": "runtime/bindings/tflite/interpreter.c",
      "new_id": "0aaeb9241164b8c30e18ad21b79d0fdf66c8b87a",
      "new_mode": 33188,
      "new_path": "runtime/bindings/tflite/interpreter.c"
    },
    {
      "type": "modify",
      "old_id": "7be7ebe92150ad8ef8adc28cc3d9f602c66f7a88",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/base/alignment.h",
      "new_id": "a1179f1bfd29029a4c2129f1e835833bfe0b3c42",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/base/alignment.h"
    },
    {
      "type": "modify",
      "old_id": "bd396a9f79c235be556b276a80683931ce9e472f",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/base/attributes.h",
      "new_id": "de745914a2292f703d7ceac4c3358975d10d89c9",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/base/attributes.h"
    },
    {
      "type": "modify",
      "old_id": "8490c162ae2ade096397adaf84b11d524327ae53",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/base/config.h",
      "new_id": "480ac5afa6cd1d47f0b516849b4694c55398c08f",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/base/config.h"
    },
    {
      "type": "modify",
      "old_id": "0bf232c9ed993247a161d6d321814e96c34b1786",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/base/internal/debugging.h",
      "new_id": "dec24ac0bc743f00f942f78e0e1f578e6783591d",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/base/internal/debugging.h"
    },
    {
      "type": "modify",
      "old_id": "6d4b659cde0db212e9d825d06c361da5a41eac42",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/base/target_platform.h",
      "new_id": "1abd987b602c1e7e082c0d3d7533bea126a4d47e",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/base/target_platform.h"
    },
    {
      "type": "modify",
      "old_id": "7109b8bd12be3bbb62771697d44be30120266689",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/modules/hal/types.c",
      "new_id": "ba24f9e018c24cd26c88f1961fe3bf0bd9f9019c",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/modules/hal/types.c"
    },
    {
      "type": "modify",
      "old_id": "59edd7b239912f513b0d998282ad34ab810f0e56",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/task/topology.h",
      "new_id": "7a1f568b57d61e922d3c585963584e9520570576",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/task/topology.h"
    },
    {
      "type": "modify",
      "old_id": "18821264a162e580fd7a252dc427770316aaa132",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/buffer.c",
      "new_id": "0cb2974a5508219d30e75555d98cf19761259f5f",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/buffer.c"
    },
    {
      "type": "modify",
      "old_id": "54257a3421f14e5c099749a7745a0545035bc3a9",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/bytecode/BUILD",
      "new_id": "69bd228af5cf73ce16d2c9f304b6949e0941e905",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/BUILD"
    },
    {
      "type": "modify",
      "old_id": "7e5a59bf34db39ae71ef7b4814193ebc18ff7894",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/bytecode/CMakeLists.txt",
      "new_id": "08dc9b7e5889586dc014e33dc6d5a0146b1b32ef",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6ee7cdc73d9ab0a84da57fae478fc22b414bd163",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/archive.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ec4b395a33d0b249e7d920ea7a485cd5c5f9332f",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/archive.h"
    },
    {
      "type": "modify",
      "old_id": "1b38ec7d8ac3997fc21def810ed75c51e427d7a2",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/bytecode/disassembler.c",
      "new_id": "e0fbab0df9599c40068fc589ae1977fbbc16e500",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/disassembler.c"
    },
    {
      "type": "modify",
      "old_id": "0f3dd4934de9a3de58980d307e50d2bc62d4126d",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/bytecode/disassembler.h",
      "new_id": "36c00ce6117df94f4e22431f0a00cfb751b0b5fc",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/disassembler.h"
    },
    {
      "type": "modify",
      "old_id": "592adb35e77b44f9b78b7bd67ea1c98b4bbb80ed",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/bytecode/dispatch.c",
      "new_id": "220f9c57ecb516ad118d55a77cf4b3ebc2045db4",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/dispatch.c"
    },
    {
      "type": "modify",
      "old_id": "503a372cd9355362c715a4fa5b6a33151f258e56",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/bytecode/dispatch_util.h",
      "new_id": "d460df2832ced26cc03cc5fc031e5733c5328ce2",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/dispatch_util.h"
    },
    {
      "type": "modify",
      "old_id": "83739a8a4ae515ead01a5a3bc5f5920beb071275",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/bytecode/module.c",
      "new_id": "4d88f4ca88b7816376208a58c4a41d74aebbee64",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/module.c"
    },
    {
      "type": "modify",
      "old_id": "93ebd82498c3306290cf4656a16c7fcf5ae2e58a",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/bytecode/module.h",
      "new_id": "997762f315043d7e5edb4688285242825f4f4c24",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/module.h"
    },
    {
      "type": "modify",
      "old_id": "2b9728dc8092b1b56a2d135077d2b1293944f08d",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/bytecode/module_impl.h",
      "new_id": "70c2f3f8ff8b8e6d38b6e42408826fb5e2c631cb",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/module_impl.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c8ec3beb77de7d8aa44d7d9ef01aa6991c2fe543",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/utils/BUILD"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fa539dc04a399b1bc40f1a632c627ccebab7d0f3",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/utils/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d892893d43e6c330f21feeb60557b5e67c19681f",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/utils/block_list.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "65e6960d84dbf18af1dc703dd38fe84010c45a37",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/utils/block_list.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bba61c85e164b953c57374b487665bddca2b7909",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/utils/block_list_test.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6a333f9e3a7dda1915191c9817be07ee38f52767",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/utils/features.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "65458036450acdd04e87edc37e09f6b7137eff33",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/utils/features.h"
    },
    {
      "type": "rename",
      "old_id": "88442580780c1ff8467ce88d14a1664c065c0f3c",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/bytecode/generated/.clang-format",
      "new_id": "88442580780c1ff8467ce88d14a1664c065c0f3c",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/utils/generated/.clang-format",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "3ad3c5bc4acc8a2667bd25501277361cffda8c77",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/bytecode/generated/op_table.h",
      "new_id": "3ad3c5bc4acc8a2667bd25501277361cffda8c77",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/utils/generated/op_table.h",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d24300c9f7d7cab32507a977cd580fe0bd82d953",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/utils/isa.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f26c4f3a20ad9d90fdb8c3095a7a3c06b0421550",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/verifier.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ae7f1af08aaf95be432279a2ca0aafc65893ded7",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/verifier.h"
    },
    {
      "type": "modify",
      "old_id": "d7bdef5bb70f4f5a954e7f2458adec1208efbbf2",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/list.c",
      "new_id": "0dafa550653afcd64ace16cbb7f50f4d275a8164",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/list.c"
    },
    {
      "type": "modify",
      "old_id": "e9b1d085ac68da7952d5d0aa7162eb1f546b4c3f",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/list_test.cc",
      "new_id": "f20bc0623a28d1786ca7f60e8e70b93fdde6ad1a",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/list_test.cc"
    },
    {
      "type": "modify",
      "old_id": "30b0619b968faa4618544088032d0261a5b7464e",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/module.c",
      "new_id": "0be0bfa9f3c148c639c395a405ee4e34b693f3c2",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/module.c"
    },
    {
      "type": "modify",
      "old_id": "aa6e7fee1230a7787852d46906e7a6148a0232c4",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/ref.h",
      "new_id": "c2d16782b7ec381c1eff731293d58b962c67fa21",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/ref.h"
    },
    {
      "type": "modify",
      "old_id": "c43494ab4317b5270e9aa097b561d13b7d3b003d",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/ref_cc.h",
      "new_id": "f026fa921f7b47b46cc85f5c9e659e3cd5c7e073",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/ref_cc.h"
    },
    {
      "type": "modify",
      "old_id": "6b39ed2e794a779d7a78ec3ad852e15c687e07be",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/stack.c",
      "new_id": "3d1b3a21e607906342963b5b82b8b00c9bcbb2cb",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/stack.c"
    },
    {
      "type": "modify",
      "old_id": "f3aa5575b9652790660ab235a3838a4039e31ac5",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/stack.h",
      "new_id": "7cb32531bb638a1ad9ebff7b23a086b4d9e7d771",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/stack.h"
    },
    {
      "type": "modify",
      "old_id": "6ba12d80502fcacf27a916cce4d4a016a93c0f38",
      "old_mode": 33188,
      "old_path": "samples/custom_module/basic/module.cc",
      "new_id": "9f846d0f3f0965028d6bfaed678a97270af2d922",
      "new_mode": 33188,
      "new_path": "samples/custom_module/basic/module.cc"
    },
    {
      "type": "modify",
      "old_id": "3fa0c87568501c731b0f0adaaa73b621a21f1eac",
      "old_mode": 33188,
      "old_path": "samples/simple_embedding/simple_embedding.c",
      "new_id": "94272de0706685e9311aeae1fcea072ffb878e75",
      "new_mode": 33188,
      "new_path": "samples/simple_embedding/simple_embedding.c"
    },
    {
      "type": "modify",
      "old_id": "9f4a9a02eeeb8af221b6d5b22d2efdd373ef0b18",
      "old_mode": 33188,
      "old_path": "tools/iree-dump-module-main.c",
      "new_id": "c76927092c09a8eb4eb03fde905085b2d7e03af6",
      "new_mode": 33188,
      "new_path": "tools/iree-dump-module-main.c"
    }
  ]
}
