)]}'
{
  "commit": "1b91d144fabb7ccd5636d445fe89c4d7a675c88d",
  "tree": "b7359a5c60a5225c011b1775fde036a079ec0ac1",
  "parents": [
    "a885222570e7b794c6580bc7107f8366546ddf57"
  ],
  "author": {
    "name": "stevenfontanella",
    "email": "stevenfont@chromium.org",
    "time": "Wed Oct 14 14:40:08 2026"
  },
  "committer": {
    "name": "stevenfontanella",
    "email": "stevenfont@chromium.org",
    "time": "Wed Oct 14 22:21:28 2026"
  },
  "message": "RelaxNullability: nullable private params/locals under TNH, ref.as_non_null only where demanded (calcworker 2407031 -\u003e 2334280 B)\n\nNew pass --relax-nullability (traps-never-happen only): private function\nsignature params and all ref locals become nullable; a ChildTyper-driven\nwalk strips ref.as_non_null where the parent accepts null and inserts it\nwhere a non-null value is still demanded (struct.new, public calls, returns,\nglobal.set, throw). Lit test test/lit/passes/relax-nullability.wast.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c158d5cd31bd9391ec228893f9103bc531615b55",
      "old_mode": 33188,
      "old_path": "src/passes/CMakeLists.txt",
      "new_id": "d52576a0768978a94685b837f7ae7a8eac636416",
      "new_mode": 33188,
      "new_path": "src/passes/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "eb10880313930cc446fb7c7a381e9fe43ea9d286",
      "new_mode": 33188,
      "new_path": "src/passes/RelaxNullability.cpp"
    },
    {
      "type": "modify",
      "old_id": "55b20e05e7d2a2b346af8351e8c3ddff66b6f791",
      "old_mode": 33188,
      "old_path": "src/passes/pass.cpp",
      "new_id": "e1d3cecd3a796fdb73dce04a3b4730be5ef89a0c",
      "new_mode": 33188,
      "new_path": "src/passes/pass.cpp"
    },
    {
      "type": "modify",
      "old_id": "1324edf1af50ca6bbacabbea00557b84244532da",
      "old_mode": 33188,
      "old_path": "src/passes/passes.h",
      "new_id": "4acdeca8d7502721c8f7557de6896f016095ed11",
      "new_mode": 33188,
      "new_path": "src/passes/passes.h"
    },
    {
      "type": "modify",
      "old_id": "ea45a3ce6fe38345fb617f0b6a4b4aa23ccbc8e8",
      "old_mode": 33188,
      "old_path": "test/lit/help/wasm-metadce.test",
      "new_id": "90f5323afca0f7ff450214d7131db88a30554d3e",
      "new_mode": 33188,
      "new_path": "test/lit/help/wasm-metadce.test"
    },
    {
      "type": "modify",
      "old_id": "90c3b2990a394706699ffee977aa32942549144d",
      "old_mode": 33188,
      "old_path": "test/lit/help/wasm-opt.test",
      "new_id": "a68be5aad12767b87801e79d67957abc24e23883",
      "new_mode": 33188,
      "new_path": "test/lit/help/wasm-opt.test"
    },
    {
      "type": "modify",
      "old_id": "fdce36ac338cc814eea6b9f4f9cfbdfe691f4262",
      "old_mode": 33188,
      "old_path": "test/lit/help/wasm2js.test",
      "new_id": "9258cb0efd758efe00008035bcc0dd251445f43a",
      "new_mode": 33188,
      "new_path": "test/lit/help/wasm2js.test"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a42b781ec275464fb91d440f15df4e485c532ef6",
      "new_mode": 33188,
      "new_path": "test/lit/passes/relax-nullability.wast"
    }
  ]
}
