)]}'
{
  "commit": "87f9dac127b387715d8d96ac7ec8fd469d8c2dab",
  "tree": "aa1aec906bf6adc3ea3d93c56616d393850e2249",
  "parents": [
    "f331120e4b942a795d4a6b6d0d5a3d781c1e6a4c"
  ],
  "author": {
    "name": "Thomas Lively",
    "email": "tlively@google.com",
    "time": "Tue Dec 03 19:20:36 2024"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Dec 03 19:20:36 2024"
  },
  "message": "[NFC] Encapsulate source map reader state (#7132)\n\nMove all state relevant to reading source maps out of WasmBinaryReader\nand into a new utility, SourceMapReader. This is a prerequisite for\nparallelizing the parsing of function bodies, since the source map\nreader state is different at the beginning of each function.\n\nAlso take the opportunity to simplify the way we read source maps, for\nexample by deferring the reading of anything but the position of a debug\nlocation until it will be used and by using `std::optional` instead of\nsingleton `std::set`s to store function prologue and epilogue debug\nlocations.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5ebd6edefe56da657b36fcb3098007c3e8e0953d",
      "old_mode": 33188,
      "old_path": "src/ir/module-utils.cpp",
      "new_id": "431e33cc6e73af6aca61804ff31031a1e79306cc",
      "new_mode": 33188,
      "new_path": "src/ir/module-utils.cpp"
    },
    {
      "type": "modify",
      "old_id": "d59b3bd7cb82a26092ef969a44450b7b336e16ee",
      "old_mode": 33188,
      "old_path": "src/parsing.h",
      "new_id": "80d4db9fb2788431f87963aac340012ef29bcf1c",
      "new_mode": 33188,
      "new_path": "src/parsing.h"
    },
    {
      "type": "modify",
      "old_id": "e2d1ac50fe9b0e9d3fc394bdefa524a2f1359cfb",
      "old_mode": 33188,
      "old_path": "src/passes/DebugLocationPropagation.cpp",
      "new_id": "b2eb8fa830350b74ca120a7725a5ae9e4668e31a",
      "new_mode": 33188,
      "new_path": "src/passes/DebugLocationPropagation.cpp"
    },
    {
      "type": "modify",
      "old_id": "4ca40f35a30ac79b57df09f6a8bc4044fef3339a",
      "old_mode": 33188,
      "old_path": "src/passes/Print.cpp",
      "new_id": "5f2d1cc3d73a25ecf6b49f9517eb202b8e6cc7c4",
      "new_mode": 33188,
      "new_path": "src/passes/Print.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d8c50b5e1fa5b38b03db8838a114af797f181c0f",
      "new_mode": 33188,
      "new_path": "src/source-map.h"
    },
    {
      "type": "modify",
      "old_id": "1603736cea916e3f59274e8171ad651c3df48371",
      "old_mode": 33188,
      "old_path": "src/tools/wasm-dis.cpp",
      "new_id": "cc377e4e2a10bbd4af5b4a82ef81e92dfabca810",
      "new_mode": 33188,
      "new_path": "src/tools/wasm-dis.cpp"
    },
    {
      "type": "modify",
      "old_id": "b9cbba136df5a11da8e6f7f86af8d791be38780d",
      "old_mode": 33188,
      "old_path": "src/wasm-binary.h",
      "new_id": "7c32e216957af0c127cfd45803b12da458b37f02",
      "new_mode": 33188,
      "new_path": "src/wasm-binary.h"
    },
    {
      "type": "modify",
      "old_id": "85003f9ea0f6c6e1ef1de6d51491c4f3e23cc395",
      "old_mode": 33188,
      "old_path": "src/wasm-stack.h",
      "new_id": "f48233333da8838d9eab9703b302024bdbb29fa8",
      "new_mode": 33188,
      "new_path": "src/wasm-stack.h"
    },
    {
      "type": "modify",
      "old_id": "a5fc070e611d600ae5fad9a037d5bc1609b8d5fc",
      "old_mode": 33188,
      "old_path": "src/wasm.h",
      "new_id": "b3ae82bcfa966967e7c4aec5f864f10dfffbe83a",
      "new_mode": 33188,
      "new_path": "src/wasm.h"
    },
    {
      "type": "modify",
      "old_id": "7a7b26eaddc47ef98e97d165090865b7ad88f49b",
      "old_mode": 33188,
      "old_path": "src/wasm/CMakeLists.txt",
      "new_id": "64c88c99723a736a02d2f9b0dd0c6a38333aeb21",
      "new_mode": 33188,
      "new_path": "src/wasm/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "1606a2dd1ff214960aea990e0e824e5073dd784e",
      "old_mode": 33188,
      "old_path": "src/wasm/parsing.cpp",
      "new_id": "5d34da78e8a611543e1f3c839da96aa54f14fb9b",
      "new_mode": 33188,
      "new_path": "src/wasm/parsing.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7ad26e8986197f2c2f4ef0c2278204d71ea0eac8",
      "new_mode": 33188,
      "new_path": "src/wasm/source-map.cpp"
    },
    {
      "type": "modify",
      "old_id": "82ac422eaa4814532264e8ca363c18866c303eb2",
      "old_mode": 33188,
      "old_path": "src/wasm/wasm-binary.cpp",
      "new_id": "86b3ea899c4001f2347cf9d9f9dda159e7b0b616",
      "new_mode": 33188,
      "new_path": "src/wasm/wasm-binary.cpp"
    },
    {
      "type": "modify",
      "old_id": "149216e1a838bc7f418d39777d86b7f94eaa5fa5",
      "old_mode": 33188,
      "old_path": "src/wasm/wasm-io.cpp",
      "new_id": "e1d036ceccef5469e295ec005ee62fae569d11e9",
      "new_mode": 33188,
      "new_path": "src/wasm/wasm-io.cpp"
    },
    {
      "type": "modify",
      "old_id": "a51337cda0d605dbca9fcb3ef80e4dcac60f1a2a",
      "old_mode": 33188,
      "old_path": "src/wasm/wasm-ir-builder.cpp",
      "new_id": "96212ccd7fc87a3c1002afcaa97579e62bae492e",
      "new_mode": 33188,
      "new_path": "src/wasm/wasm-ir-builder.cpp"
    },
    {
      "type": "modify",
      "old_id": "f86fb58b9480283ad7cb0a84c3b48c81ceef0af5",
      "old_mode": 33188,
      "old_path": "src/wasm/wasm-stack.cpp",
      "new_id": "61f59c76aa964cba4b93a8e7473932b46b6f8903",
      "new_mode": 33188,
      "new_path": "src/wasm/wasm-stack.cpp"
    },
    {
      "type": "modify",
      "old_id": "38f35411f52c274d4edeb2829dde793c7ecd9f93",
      "old_mode": 33188,
      "old_path": "src/wasm/wasm.cpp",
      "new_id": "f5806b184e203d8d22f52be8df1ebdfc96285c60",
      "new_mode": 33188,
      "new_path": "src/wasm/wasm.cpp"
    },
    {
      "type": "modify",
      "old_id": "c3d281f1c0e576f63fcbf47c4d6bca5b9fbd97e1",
      "old_mode": 33188,
      "old_path": "test/gtest/CMakeLists.txt",
      "new_id": "102d3ca2a48e82949a40133aa29d8af347c8d355",
      "new_mode": 33188,
      "new_path": "test/gtest/CMakeLists.txt"
    },
    {
      "type": "delete",
      "old_id": "b73fe55bda38454685c7fcaf8b22a1970effd02a",
      "old_mode": 33188,
      "old_path": "test/gtest/binary-reader.cpp",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c943be17239bcce48c495bdfaeb55d2ff6a3c9a2",
      "new_mode": 33188,
      "new_path": "test/gtest/source-map.cpp"
    }
  ]
}
