)]}'
{
  "commit": "89b8af006bc56cb4bf68f12a80b1cfe8e7a353d4",
  "tree": "602bd8e24753b5e45c859a2c3672062ce07133fe",
  "parents": [
    "57619b508d38677844cb482a4034dc985d2cecc6"
  ],
  "author": {
    "name": "Abbas Mashayekh",
    "email": "martianboy2005@gmail.com",
    "time": "Fri Mar 05 23:38:51 2021"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Mar 05 23:38:51 2021"
  },
  "message": "[reference-types] Support passive elem segments (#3572)\n\nPassive element segments do not belong to any table, so the link between\r\nTable and elem needs to be weaker; i.e. an elem may have a table in case\r\nof active segments, or simply be a collection of function references in\r\ncase of passive/declarative segments.\r\n\r\nThis PR takes Table::Segment out and turns it into a first class module\r\nelement just like tables and functions. It also implements early support\r\nfor parsing, printing, encoding and decoding passive/declarative elem\r\nsegments.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fc63248f3fddf2e47d9ae11afad3bf72e8d53d3c",
      "old_mode": 33188,
      "old_path": "CHANGELOG.md",
      "new_id": "62b1a925f6ca93ad0b33314dc8521390be729517",
      "new_mode": 33188,
      "new_path": "CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "e3780ce15c5083554fcfed67cbec81891f9b0134",
      "old_mode": 33188,
      "old_path": "src/binaryen-c.cpp",
      "new_id": "b9bf9752f63cf469c1baedf6b07c7678e26fe8e9",
      "new_mode": 33188,
      "new_path": "src/binaryen-c.cpp"
    },
    {
      "type": "modify",
      "old_id": "24018e4d86334cb0b4ea0426e50ee2377349ed6f",
      "old_mode": 33188,
      "old_path": "src/binaryen-c.h",
      "new_id": "881b0fddc432a2ac878a958d441090dc028ea893",
      "new_mode": 33188,
      "new_path": "src/binaryen-c.h"
    },
    {
      "type": "modify",
      "old_id": "de418459610a07a30f3f5fd1d54e29661f2d8075",
      "old_mode": 33188,
      "old_path": "src/ir/ReFinalize.cpp",
      "new_id": "a0166381b7640a5767e3db5651198939b85dc405",
      "new_mode": 33188,
      "new_path": "src/ir/ReFinalize.cpp"
    },
    {
      "type": "modify",
      "old_id": "7215629e4819232ae460ac8cc1552e07abb888a8",
      "old_mode": 33188,
      "old_path": "src/ir/module-splitting.cpp",
      "new_id": "d4d03991ed3aaa1ec502794240c6532ecd866941",
      "new_mode": 33188,
      "new_path": "src/ir/module-splitting.cpp"
    },
    {
      "type": "modify",
      "old_id": "371239e19502b61d5c70852887df3aa69ba00d74",
      "old_mode": 33188,
      "old_path": "src/ir/module-utils.h",
      "new_id": "22ed89b37e6aabc1949f0d56434839a1fda35350",
      "new_mode": 33188,
      "new_path": "src/ir/module-utils.h"
    },
    {
      "type": "modify",
      "old_id": "ef89e50f3710d086363f77888e6b452e8f803b37",
      "old_mode": 33188,
      "old_path": "src/ir/table-utils.cpp",
      "new_id": "639f8fbe6262ef170f776ed0dcdcec55d01b81a6",
      "new_mode": 33188,
      "new_path": "src/ir/table-utils.cpp"
    },
    {
      "type": "modify",
      "old_id": "80ffc0c061c8cf3c225b08012e84c58e8b452c82",
      "old_mode": 33188,
      "old_path": "src/ir/table-utils.h",
      "new_id": "e90b0ca72b7f7f5b3b35593de2029fdb0c937654",
      "new_mode": 33188,
      "new_path": "src/ir/table-utils.h"
    },
    {
      "type": "modify",
      "old_id": "424298bb3ec2f8276132b3d2470254573c36216d",
      "old_mode": 33188,
      "old_path": "src/ir/utils.h",
      "new_id": "f06a68fffec5d7168816666806947fde97ecab96",
      "new_mode": 33188,
      "new_path": "src/ir/utils.h"
    },
    {
      "type": "modify",
      "old_id": "785c5610641a52d30fa02e69206e46745c833038",
      "old_mode": 33188,
      "old_path": "src/js/binaryen.js-post.js",
      "new_id": "bafbaa48037d05583e27c252c90ba71421d9164c",
      "new_mode": 33188,
      "new_path": "src/js/binaryen.js-post.js"
    },
    {
      "type": "modify",
      "old_id": "1a404dbcfbb3b85d08313b8d2bcc1e42d74a8d37",
      "old_mode": 33188,
      "old_path": "src/passes/DeadArgumentElimination.cpp",
      "new_id": "6223c841dfcb1ea79830741584b182a597fdff81",
      "new_mode": 33188,
      "new_path": "src/passes/DeadArgumentElimination.cpp"
    },
    {
      "type": "modify",
      "old_id": "6ee976b397da8f4fde79d215f64cb7fead4b1aa4",
      "old_mode": 33188,
      "old_path": "src/passes/Directize.cpp",
      "new_id": "3a7ef10246dcfba02dd69de1c4c82d6386460df1",
      "new_mode": 33188,
      "new_path": "src/passes/Directize.cpp"
    },
    {
      "type": "modify",
      "old_id": "b91d7ba4fea1fe5405d2e9bac3adf09f05cafa98",
      "old_mode": 33188,
      "old_path": "src/passes/FuncCastEmulation.cpp",
      "new_id": "753c986b8e6f4e42af842d2b46551ab6b58b606c",
      "new_mode": 33188,
      "new_path": "src/passes/FuncCastEmulation.cpp"
    },
    {
      "type": "modify",
      "old_id": "827dccea0a8d19fa5314aef357adf7ee7898a6f0",
      "old_mode": 33188,
      "old_path": "src/passes/GenerateDynCalls.cpp",
      "new_id": "dad992feaa798afcf34283c030441183f71541e7",
      "new_mode": 33188,
      "new_path": "src/passes/GenerateDynCalls.cpp"
    },
    {
      "type": "modify",
      "old_id": "727e94d72bf9855b4930f0935979fb4b55396885",
      "old_mode": 33188,
      "old_path": "src/passes/Inlining.cpp",
      "new_id": "41481b31058570cdc08e756d581f9ba73f09c6b9",
      "new_mode": 33188,
      "new_path": "src/passes/Inlining.cpp"
    },
    {
      "type": "modify",
      "old_id": "e8a604326124483d5cadf7701de7584bf1380e08",
      "old_mode": 33188,
      "old_path": "src/passes/LegalizeJSInterface.cpp",
      "new_id": "0a991caa5e1dbe123a39fd6782d355c804aff897",
      "new_mode": 33188,
      "new_path": "src/passes/LegalizeJSInterface.cpp"
    },
    {
      "type": "modify",
      "old_id": "09dcc5445990c358c51d562f175b8975fdb86e39",
      "old_mode": 33188,
      "old_path": "src/passes/Metrics.cpp",
      "new_id": "231ad928c6bb5e64a27e757db6c25ddae8ffc876",
      "new_mode": 33188,
      "new_path": "src/passes/Metrics.cpp"
    },
    {
      "type": "modify",
      "old_id": "35e2b9a8b85769de10ea5eb7cd66f43c9189e3dc",
      "old_mode": 33188,
      "old_path": "src/passes/PostEmscripten.cpp",
      "new_id": "403fb998b7cac8f4795015ec43257e05e4755c06",
      "new_mode": 33188,
      "new_path": "src/passes/PostEmscripten.cpp"
    },
    {
      "type": "modify",
      "old_id": "993eddb999e93071c8e7581aca342b9d3bd635d4",
      "old_mode": 33188,
      "old_path": "src/passes/Print.cpp",
      "new_id": "05a639158f10ff145a2cd0f643dc388282d36319",
      "new_mode": 33188,
      "new_path": "src/passes/Print.cpp"
    },
    {
      "type": "modify",
      "old_id": "49e056312333403c2278cf2aa7ea8820af0cfe3a",
      "old_mode": 33188,
      "old_path": "src/passes/PrintCallGraph.cpp",
      "new_id": "d70e0d7f2f4ecd499ec7d765387204096adf1b3d",
      "new_mode": 33188,
      "new_path": "src/passes/PrintCallGraph.cpp"
    },
    {
      "type": "modify",
      "old_id": "10a885586535dd3412f11ef3abf4ad982c5bff3b",
      "old_mode": 33188,
      "old_path": "src/passes/RemoveImports.cpp",
      "new_id": "be41717f4d574007cd05351ac24fab26e1bb3cc3",
      "new_mode": 33188,
      "new_path": "src/passes/RemoveImports.cpp"
    },
    {
      "type": "modify",
      "old_id": "d12fdb487281024fa94b354a91a3fd09c74861ed",
      "old_mode": 33188,
      "old_path": "src/passes/RemoveUnusedModuleElements.cpp",
      "new_id": "fa295dac58ef00e3bb02ac77494e9f078103d360",
      "new_mode": 33188,
      "new_path": "src/passes/RemoveUnusedModuleElements.cpp"
    },
    {
      "type": "modify",
      "old_id": "4d02616f05ff285e799256a38a10c5a363c26a53",
      "old_mode": 33188,
      "old_path": "src/passes/ReorderFunctions.cpp",
      "new_id": "0c95101a57531d85d94ed49e9458e18cc81121eb",
      "new_mode": 33188,
      "new_path": "src/passes/ReorderFunctions.cpp"
    },
    {
      "type": "modify",
      "old_id": "0a67a7e1ea80e4c39c7aea04b5ff4acb14a79165",
      "old_mode": 33188,
      "old_path": "src/passes/opt-utils.h",
      "new_id": "27a3c5c25fe090dd513ce8d4aa53d9d3a2083988",
      "new_mode": 33188,
      "new_path": "src/passes/opt-utils.h"
    },
    {
      "type": "modify",
      "old_id": "1cc3635dc6a48fd6f74da5c0fce02ee33c4b70ce",
      "old_mode": 33188,
      "old_path": "src/tools/fuzzing.h",
      "new_id": "288fdc23cbd6f66b540938c0a7378ea79d04389d",
      "new_mode": 33188,
      "new_path": "src/tools/fuzzing.h"
    },
    {
      "type": "modify",
      "old_id": "9e39150737c9121d8c7c9a9b318ece28ca4436ec",
      "old_mode": 33188,
      "old_path": "src/tools/wasm-ctor-eval.cpp",
      "new_id": "f39d8a34e35c40548dc3a9a9756e442203e9a48f",
      "new_mode": 33188,
      "new_path": "src/tools/wasm-ctor-eval.cpp"
    },
    {
      "type": "modify",
      "old_id": "46b66c9863c8f51f47a79e0cb83d5452ee4e6e97",
      "old_mode": 33188,
      "old_path": "src/tools/wasm-metadce.cpp",
      "new_id": "71ea2f693434599df2f2fdfe5910534a99c0be2e",
      "new_mode": 33188,
      "new_path": "src/tools/wasm-metadce.cpp"
    },
    {
      "type": "modify",
      "old_id": "4bb4b6f9a1b49a2b982fc8d236294ae3f04e2403",
      "old_mode": 33188,
      "old_path": "src/tools/wasm-reduce.cpp",
      "new_id": "5cd58301eb4976f74bdba53338f27168f655188e",
      "new_mode": 33188,
      "new_path": "src/tools/wasm-reduce.cpp"
    },
    {
      "type": "modify",
      "old_id": "09aaa023eddcbf445f786eb27a8957f78ec046dd",
      "old_mode": 33188,
      "old_path": "src/tools/wasm-shell.cpp",
      "new_id": "efa2c0ca49ae74c508db8d12da0d37773e53c39c",
      "new_mode": 33188,
      "new_path": "src/tools/wasm-shell.cpp"
    },
    {
      "type": "modify",
      "old_id": "d490a2a9647b2514d957f1891db829221726c5ff",
      "old_mode": 33188,
      "old_path": "src/wasm-binary.h",
      "new_id": "8ca07e7d299ab8a2b4e22ef5e1522fecfe87445a",
      "new_mode": 33188,
      "new_path": "src/wasm-binary.h"
    },
    {
      "type": "modify",
      "old_id": "5032b72779acc4673d4405d6a47d355f4af6a641",
      "old_mode": 33188,
      "old_path": "src/wasm-interpreter.h",
      "new_id": "ac095e0c06feb71d3c2b2c7d5bf2e406cd232aeb",
      "new_mode": 33188,
      "new_path": "src/wasm-interpreter.h"
    },
    {
      "type": "modify",
      "old_id": "6ccc7c36cc3daad58435ac2ba791d72f605c75a1",
      "old_mode": 33188,
      "old_path": "src/wasm-s-parser.h",
      "new_id": "eaddd8c8b3c5d4b3ceed447feb5483fc5e4b1b2a",
      "new_mode": 33188,
      "new_path": "src/wasm-s-parser.h"
    },
    {
      "type": "modify",
      "old_id": "803fa98aa21bfd395b09020a2a2663dc5e8dc02f",
      "old_mode": 33188,
      "old_path": "src/wasm-traversal.h",
      "new_id": "7dcf2d146dc77c98926e8f4e1cccded7a4f49df4",
      "new_mode": 33188,
      "new_path": "src/wasm-traversal.h"
    },
    {
      "type": "modify",
      "old_id": "9bf89f828507d18e195c356e6f4878da56814013",
      "old_mode": 33188,
      "old_path": "src/wasm.h",
      "new_id": "698de95205842f1386ea8e0b4fd611c28ce895c8",
      "new_mode": 33188,
      "new_path": "src/wasm.h"
    },
    {
      "type": "modify",
      "old_id": "0f40cfd58caae30c69ddd95ffe1f9e0aeea53d66",
      "old_mode": 33188,
      "old_path": "src/wasm/wasm-binary.cpp",
      "new_id": "dacb6edbbd27f3d6f5e6a796f9ef8794b1f6e502",
      "new_mode": 33188,
      "new_path": "src/wasm/wasm-binary.cpp"
    },
    {
      "type": "modify",
      "old_id": "339214f436b0d9361cf88e24a2e5c9f9f8e80d3c",
      "old_mode": 33188,
      "old_path": "src/wasm/wasm-emscripten.cpp",
      "new_id": "d971215447fd6ea21a6b0937e33ce70abc7704b2",
      "new_mode": 33188,
      "new_path": "src/wasm/wasm-emscripten.cpp"
    },
    {
      "type": "modify",
      "old_id": "31ae188d09cb9d519caace404bae684fb06163e8",
      "old_mode": 33188,
      "old_path": "src/wasm/wasm-s-parser.cpp",
      "new_id": "91ed5056fb2bff33ba09dc0c2aeaca2c2fe7732c",
      "new_mode": 33188,
      "new_path": "src/wasm/wasm-s-parser.cpp"
    },
    {
      "type": "modify",
      "old_id": "e95950bb5ec2a10187aed7aeb9fcb7e151f1cf93",
      "old_mode": 33188,
      "old_path": "src/wasm/wasm-validator.cpp",
      "new_id": "656c5e83215042bf08347ab2af4ade51280eadd2",
      "new_mode": 33188,
      "new_path": "src/wasm/wasm-validator.cpp"
    },
    {
      "type": "modify",
      "old_id": "92e03f57908fc5463752fa19f9f339af42671fae",
      "old_mode": 33188,
      "old_path": "src/wasm/wasm.cpp",
      "new_id": "ef8cfb2f73a6319a2d146edfdcb629a7e48813ad",
      "new_mode": 33188,
      "new_path": "src/wasm/wasm.cpp"
    },
    {
      "type": "modify",
      "old_id": "b1cc13898a8098181d051a6bacf5a1390b01358d",
      "old_mode": 33188,
      "old_path": "src/wasm2js.h",
      "new_id": "b3a4c7e18cfe64f0c3fafc0325e2fb5063e4ebb2",
      "new_mode": 33188,
      "new_path": "src/wasm2js.h"
    },
    {
      "type": "modify",
      "old_id": "3aebe0e6180280f9ffc14b3193449acf4e512889",
      "old_mode": 33188,
      "old_path": "test/binaryen.js/kitchen-sink.js",
      "new_id": "084a7d47bbf17edfb48e0be11262450627356ee9",
      "new_mode": 33188,
      "new_path": "test/binaryen.js/kitchen-sink.js"
    },
    {
      "type": "modify",
      "old_id": "aff1d1f2df5944179e48c8aa279becccd846e0c5",
      "old_mode": 33188,
      "old_path": "test/binaryen.js/kitchen-sink.js.txt",
      "new_id": "700e8507fac2c8a00cfbed431dc1c1bf7d946c7a",
      "new_mode": 33188,
      "new_path": "test/binaryen.js/kitchen-sink.js.txt"
    },
    {
      "type": "modify",
      "old_id": "bb011916d16b787c7f8287505cfd17ad387f551a",
      "old_mode": 33188,
      "old_path": "test/binaryen.js/reloc.js",
      "new_id": "2b7cc9f900f848bc546fe98ddcb76d1ca7dba8d8",
      "new_mode": 33188,
      "new_path": "test/binaryen.js/reloc.js"
    },
    {
      "type": "modify",
      "old_id": "729f29b9de018f43982fcb5e0217d946b9a46044",
      "old_mode": 33188,
      "old_path": "test/binaryen.js/reloc.js.txt",
      "new_id": "262ba3d0c044375a355ee5674500d74e361097fa",
      "new_mode": 33188,
      "new_path": "test/binaryen.js/reloc.js.txt"
    },
    {
      "type": "modify",
      "old_id": "04f55206915eb7225064614e617c5eae66ee9e49",
      "old_mode": 33188,
      "old_path": "test/example/c-api-kitchen-sink.c",
      "new_id": "fa23a47ce7edbf43584091724e81ee32962fbd14",
      "new_mode": 33188,
      "new_path": "test/example/c-api-kitchen-sink.c"
    },
    {
      "type": "modify",
      "old_id": "40b7da26e7d753ee00b0833e4475f161132fbf0d",
      "old_mode": 33188,
      "old_path": "test/example/c-api-kitchen-sink.txt",
      "new_id": "761b08c850968b30c32e0da80b297c08ecf87501",
      "new_mode": 33188,
      "new_path": "test/example/c-api-kitchen-sink.txt"
    },
    {
      "type": "modify",
      "old_id": "625af444ce03211d1697f26c0091254875ee692c",
      "old_mode": 33188,
      "old_path": "test/example/c-api-multiple-tables.c",
      "new_id": "c19dcdb6f95422df5a4504cdf078afbcf2327a0d",
      "new_mode": 33188,
      "new_path": "test/example/c-api-multiple-tables.c"
    },
    {
      "type": "modify",
      "old_id": "5b2858e91729ab5bc1746b1942e990d3fd2fe264",
      "old_mode": 33188,
      "old_path": "test/example/c-api-multiple-tables.txt",
      "new_id": "8a29637297582bbd3aa5dca50ec38620b2974ba3",
      "new_mode": 33188,
      "new_path": "test/example/c-api-multiple-tables.txt"
    },
    {
      "type": "modify",
      "old_id": "07c1e00774b7544f65645054947e1086827ac010",
      "old_mode": 33188,
      "old_path": "test/multi-table.wast",
      "new_id": "378d4018aec13648098657f9a1ab68894d4bc4bd",
      "new_mode": 33188,
      "new_path": "test/multi-table.wast"
    },
    {
      "type": "modify",
      "old_id": "9d1842b70d6b10873ffcb08321309eea642b5083",
      "old_mode": 33188,
      "old_path": "test/multi-table.wast.from-wast",
      "new_id": "f60bab8cb1e97c015515beb9c82281b0c2fdfb47",
      "new_mode": 33188,
      "new_path": "test/multi-table.wast.from-wast"
    },
    {
      "type": "modify",
      "old_id": "1bfd568da9c77e0ecf162eb4d71c0c9d829e55cb",
      "old_mode": 33188,
      "old_path": "test/multi-table.wast.fromBinary",
      "new_id": "13604e69d16af3ac2522c94a278ab67a09213664",
      "new_mode": 33188,
      "new_path": "test/multi-table.wast.fromBinary"
    },
    {
      "type": "modify",
      "old_id": "00c3a64cb33c9f75f24b334609dd5300b33a83e9",
      "old_mode": 33188,
      "old_path": "test/multi-table.wast.fromBinary.noDebugInfo",
      "new_id": "77e2ea43991b8ec9241f9a9316647b0de3893542",
      "new_mode": 33188,
      "new_path": "test/multi-table.wast.fromBinary.noDebugInfo"
    },
    {
      "type": "modify",
      "old_id": "d8c708f3c9d800846f2cdca30205d8ac8476fa4d",
      "old_mode": 33188,
      "old_path": "test/passes/fuzz_metrics_noprint.bin.txt",
      "new_id": "eb24adfa474a7f40d80ee4898c498d37565ecb80",
      "new_mode": 33188,
      "new_path": "test/passes/fuzz_metrics_noprint.bin.txt"
    },
    {
      "type": "modify",
      "old_id": "97d0310e1ee0fd68b6c69ec192b481be279e756c",
      "old_mode": 33188,
      "old_path": "test/passes/translate-to-fuzz_all-features_metrics_noprint.txt",
      "new_id": "2fe8a8a9edb4e1719956eabbed41dfdcf27c3749",
      "new_mode": 33188,
      "new_path": "test/passes/translate-to-fuzz_all-features_metrics_noprint.txt"
    }
  ]
}
