)]}'
{
  "commit": "5210dee7b098f0f456def57e0263399c87c4cd40",
  "tree": "98b0fdce5a0c41e2dcdeef6379e51bb658ec4757",
  "parents": [
    "2868a885d63e77a96380b5e245f1f293719b8170"
  ],
  "author": {
    "name": "Steven Fontanella",
    "email": "stevenfont@google.com",
    "time": "Mon May 04 18:17:22 2026"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon May 04 18:17:22 2026"
  },
  "message": "Support i64.mul_wide_s and i64.mul_wide_u from Wide Arithmetic proposal (#8652)\n\nPart of #8544. Unit tests were written by Gemini and double-checked\nagainst python with [this\nscript](https://gist.github.com/stevenfontanella/012bfeb5a0c75032126af756f28642ee).\n\nTODO: Move the existing 128 add/sub logic from the interpreter into\nint128.h.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d8ebce98e31018ff9ff56721bb73c4c8ae376aab",
      "old_mode": 33261,
      "old_path": "scripts/gen-s-parser.py",
      "new_id": "282854757ea064c4f921415a96db5da7cb55cb65",
      "new_mode": 33261,
      "new_path": "scripts/gen-s-parser.py"
    },
    {
      "type": "modify",
      "old_id": "ecb8b6218bc404ea922f7265bcbd009f85d33a6d",
      "old_mode": 33188,
      "old_path": "scripts/test/shared.py",
      "new_id": "8f872676a964391e31e4a11aad9588ab79400c7b",
      "new_mode": 33188,
      "new_path": "scripts/test/shared.py"
    },
    {
      "type": "modify",
      "old_id": "d3d3b99a70240e5db7e7bba9bee20b7367cf631c",
      "old_mode": 33188,
      "old_path": "src/gen-s-parser.inc",
      "new_id": "ac2ab0a13305a1e1d6b90ec2c7a22cb56298e1e2",
      "new_mode": 33188,
      "new_path": "src/gen-s-parser.inc"
    },
    {
      "type": "modify",
      "old_id": "e3abe63525deffb89d4c09fb659f6eb1d798aea3",
      "old_mode": 33188,
      "old_path": "src/interpreter/interpreter.cpp",
      "new_id": "96a1f41a424329e87476e5ded1c5d8a0da15544b",
      "new_mode": 33188,
      "new_path": "src/interpreter/interpreter.cpp"
    },
    {
      "type": "modify",
      "old_id": "6c722cbb03c71e60b56217645ff13214c9a1a63a",
      "old_mode": 33188,
      "old_path": "src/ir/ReFinalize.cpp",
      "new_id": "07820ed6eee81ce74c325cc2bce0cb241d0554c0",
      "new_mode": 33188,
      "new_path": "src/ir/ReFinalize.cpp"
    },
    {
      "type": "modify",
      "old_id": "2aa1a06d5490cd11c487cec093afd90b1c3f125d",
      "old_mode": 33188,
      "old_path": "src/ir/child-typer.h",
      "new_id": "b87cd3f9c163e6160cc01fa9b32f83e251e6b704",
      "new_mode": 33188,
      "new_path": "src/ir/child-typer.h"
    },
    {
      "type": "modify",
      "old_id": "7d044a49947cee82dadb18de982b178e35984c27",
      "old_mode": 33188,
      "old_path": "src/ir/cost.h",
      "new_id": "99bf7c053336e4587fa3a83ecedfa0195b4f84ae",
      "new_mode": 33188,
      "new_path": "src/ir/cost.h"
    },
    {
      "type": "modify",
      "old_id": "ec96053a13db3d98e2adeda1d3547310c2d5bd1b",
      "old_mode": 33188,
      "old_path": "src/ir/effects.h",
      "new_id": "44cc8031f45ac7a9e194c7b4e191c605f3ca224b",
      "new_mode": 33188,
      "new_path": "src/ir/effects.h"
    },
    {
      "type": "modify",
      "old_id": "08cf1cf4f8d584177a20020e06fd22dbb9328930",
      "old_mode": 33188,
      "old_path": "src/ir/possible-contents.cpp",
      "new_id": "3e1213cd05b9e52d3a0962e81acaa65c84e7aeaf",
      "new_mode": 33188,
      "new_path": "src/ir/possible-contents.cpp"
    },
    {
      "type": "modify",
      "old_id": "b0a910f3fa7b7647f44da7577673af3c9bc92bb3",
      "old_mode": 33188,
      "old_path": "src/ir/subtype-exprs.h",
      "new_id": "940144cba04d4ba2077f1f612a7ee599b463b47f",
      "new_mode": 33188,
      "new_path": "src/ir/subtype-exprs.h"
    },
    {
      "type": "modify",
      "old_id": "e62d3d5869a2b916024ed960913156800a6cd30f",
      "old_mode": 33188,
      "old_path": "src/parser/contexts.h",
      "new_id": "eac35a543c567dc8009a9c3b5f35755968da1f38",
      "new_mode": 33188,
      "new_path": "src/parser/contexts.h"
    },
    {
      "type": "modify",
      "old_id": "c0d2804e29fa63c6e147e5af8442d1e0878d8d77",
      "old_mode": 33188,
      "old_path": "src/parser/parsers.h",
      "new_id": "ffbcdfae233c8003ddcc8e7ef18d89f167c806d0",
      "new_mode": 33188,
      "new_path": "src/parser/parsers.h"
    },
    {
      "type": "modify",
      "old_id": "0724b44867449df432f66c3a66e2a8ab4e28f002",
      "old_mode": 33188,
      "old_path": "src/passes/I64ToI32Lowering.cpp",
      "new_id": "ddf072caa2b72023b2f6b7349cd8403d368b2036",
      "new_mode": 33188,
      "new_path": "src/passes/I64ToI32Lowering.cpp"
    },
    {
      "type": "modify",
      "old_id": "c926c914720add6f017edf003fdbe60659c0cdad",
      "old_mode": 33188,
      "old_path": "src/passes/Print.cpp",
      "new_id": "4ffdb031dd4ec85fd90bf72591f05c5543ef730a",
      "new_mode": 33188,
      "new_path": "src/passes/Print.cpp"
    },
    {
      "type": "modify",
      "old_id": "1cd9a1b78852e063e209decb4ec21a73e69a8e54",
      "old_mode": 33188,
      "old_path": "src/passes/TypeGeneralizing.cpp",
      "new_id": "749372ff1075003dcd24124050796f55a064eb70",
      "new_mode": 33188,
      "new_path": "src/passes/TypeGeneralizing.cpp"
    },
    {
      "type": "modify",
      "old_id": "d264979e7a8f12db8436ce85626adb947f3f7ecf",
      "old_mode": 33188,
      "old_path": "src/support/CMakeLists.txt",
      "new_id": "3fc559ff36be0a9291e7c287affee89faf6bd31e",
      "new_mode": 33188,
      "new_path": "src/support/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2eae18b6516079ac329c222ed342fb925f393a33",
      "new_mode": 33188,
      "new_path": "src/support/int128.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2d86f9fb57e43c20829908ffb2a3437167020a93",
      "new_mode": 33188,
      "new_path": "src/support/int128.h"
    },
    {
      "type": "modify",
      "old_id": "85458e97a3b1c3e3b4a26e10d9945ea870cb3d37",
      "old_mode": 33188,
      "old_path": "src/wasm-binary.h",
      "new_id": "92bb588d53ce4ea67f56c730fd2e010d4dfdbd58",
      "new_mode": 33188,
      "new_path": "src/wasm-binary.h"
    },
    {
      "type": "modify",
      "old_id": "cd9d0c34ddd14a41fe0b3684e8eee553deff5d3e",
      "old_mode": 33188,
      "old_path": "src/wasm-builder.h",
      "new_id": "1c8894c4094953f55ecda75dc432116856bcb3cf",
      "new_mode": 33188,
      "new_path": "src/wasm-builder.h"
    },
    {
      "type": "modify",
      "old_id": "f346bfde883153b1f08af9773a509d2444798878",
      "old_mode": 33188,
      "old_path": "src/wasm-delegations-fields.def",
      "new_id": "79ac534864f82841b1c21548cce91372ff841d4e",
      "new_mode": 33188,
      "new_path": "src/wasm-delegations-fields.def"
    },
    {
      "type": "modify",
      "old_id": "92572b011985c2d1e15f506ea5aeeaf39786f695",
      "old_mode": 33188,
      "old_path": "src/wasm-delegations.def",
      "new_id": "8d14135ae548d832ec7a9ad1e5e33cf4f9912b62",
      "new_mode": 33188,
      "new_path": "src/wasm-delegations.def"
    },
    {
      "type": "modify",
      "old_id": "8dd1bb4f4c6e23d880672dccbc37d1edd0fd1f73",
      "old_mode": 33188,
      "old_path": "src/wasm-interpreter.h",
      "new_id": "67101d641e83ab0839087753a7bec483297a3892",
      "new_mode": 33188,
      "new_path": "src/wasm-interpreter.h"
    },
    {
      "type": "modify",
      "old_id": "9b87cba55e20175fde6b5fbf297f048436e11d76",
      "old_mode": 33188,
      "old_path": "src/wasm-ir-builder.h",
      "new_id": "21ed4650202248fd51d2e9ebfa822513b1db702f",
      "new_mode": 33188,
      "new_path": "src/wasm-ir-builder.h"
    },
    {
      "type": "modify",
      "old_id": "be7904bb674e45bb439d2d97a4fd634eb3fe303e",
      "old_mode": 33188,
      "old_path": "src/wasm.h",
      "new_id": "6fe34edb08fbae166a27842e64895335ade06a32",
      "new_mode": 33188,
      "new_path": "src/wasm.h"
    },
    {
      "type": "modify",
      "old_id": "368203ba5ff959e4f2eb7076df4a3ad21c0fa718",
      "old_mode": 33188,
      "old_path": "src/wasm/wasm-binary.cpp",
      "new_id": "61d505bd205d2c66b7485f427c88f1dd17c6e032",
      "new_mode": 33188,
      "new_path": "src/wasm/wasm-binary.cpp"
    },
    {
      "type": "modify",
      "old_id": "be6148496c03166b7754bad7c2d7f9b9806762dc",
      "old_mode": 33188,
      "old_path": "src/wasm/wasm-ir-builder.cpp",
      "new_id": "8e924414587a62dd018700a3582a9cb9d89f0de6",
      "new_mode": 33188,
      "new_path": "src/wasm/wasm-ir-builder.cpp"
    },
    {
      "type": "modify",
      "old_id": "93521cb1e263530ba2b98cbdc28e30a807771ac7",
      "old_mode": 33188,
      "old_path": "src/wasm/wasm-stack.cpp",
      "new_id": "8cb99e9cccba548c071e2a896ba1c22fb5295231",
      "new_mode": 33188,
      "new_path": "src/wasm/wasm-stack.cpp"
    },
    {
      "type": "modify",
      "old_id": "9f9d6db8c2c82dafe0b158429cd7a2f3713fa124",
      "old_mode": 33188,
      "old_path": "src/wasm/wasm-validator.cpp",
      "new_id": "954f0676f55d84ff20b920d4345eb3329ef90bb6",
      "new_mode": 33188,
      "new_path": "src/wasm/wasm-validator.cpp"
    },
    {
      "type": "modify",
      "old_id": "c2feec54bf3c39478d0b2f7dd9d9d384b1ec6959",
      "old_mode": 33188,
      "old_path": "src/wasm/wasm.cpp",
      "new_id": "85c308ea645aca74b157d9e4bb985a40fc764fa8",
      "new_mode": 33188,
      "new_path": "src/wasm/wasm.cpp"
    },
    {
      "type": "modify",
      "old_id": "735669d3d27b3ff9c08b04d4a76d71e67a6b9cc0",
      "old_mode": 33188,
      "old_path": "src/wasm2js.h",
      "new_id": "08ac6e6e26e4b2555bd1977bb17bc29be0a0e256",
      "new_mode": 33188,
      "new_path": "src/wasm2js.h"
    },
    {
      "type": "modify",
      "old_id": "1c8e2de179f4a03c0dc427df875f303452d013f8",
      "old_mode": 33188,
      "old_path": "test/gtest/CMakeLists.txt",
      "new_id": "254f7a38c9f63dfb23986ae69b17b6abd0688a8c",
      "new_mode": 33188,
      "new_path": "test/gtest/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "36e0e871153a76d8a86b9807ceab47443fbe1b00",
      "new_mode": 33188,
      "new_path": "test/gtest/int128.cpp"
    },
    {
      "type": "delete",
      "old_id": "8c0cca7c36867d364f444748010cb593a989da34",
      "old_mode": 33188,
      "old_path": "test/spec/wide-arithmetic.wast",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    }
  ]
}
