diff options
author | Heejin Ahn <aheejin@gmail.com> | 2024-05-01 16:50:58 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-01 16:50:58 -0700 |
commit | 8c64a304123b77d598eda73a14cf3ff0ec7970dc (patch) | |
tree | 3af8cf983085b59a70e45e921fa55dc2eb437a00 /clang/unittests/Interpreter/IncrementalCompilerBuilderTest.cpp | |
parent | 56e4111f9da499072e5119ccf92693202430f894 (diff) | |
download | llvm-8c64a304123b77d598eda73a14cf3ff0ec7970dc.zip llvm-8c64a304123b77d598eda73a14cf3ff0ec7970dc.tar.gz llvm-8c64a304123b77d598eda73a14cf3ff0ec7970dc.tar.bz2 |
[WebAssembly] Disable reference types in generic CPU (#90792)
#80923 newly enabled multivalue and reference-types in the generic CPU.
But enabling reference-types ended up breaking up Wasm's Chromium CI
(https://chromium-review.googlesource.com/c/emscripten-releases/+/5500231)
because the way the table index is encoded is different from MVP (u32)
vs. reference-types (LEB), which caused different encodings for
`call_indirect`.
And Chromium CI's and Emscripten's minimum required node version is v16,
which does not yet support reference-types, which does not recognize
that table index encoding. reference-types is first supported in node
v17.2.
We knew the current minimum required node for Emscripten (v16) did not
support reference-types, but thought it was fine because unless you
explicitly use `__funcref` or `__externref` things would be fine, and if
you want to use them explicitly, you would have a newer node. But it
turned out it also affected the encoding of `call_indirect`.
While we are discussing the potential solutions, I will disable
reference-types to unblock the rolls.
Diffstat (limited to 'clang/unittests/Interpreter/IncrementalCompilerBuilderTest.cpp')
0 files changed, 0 insertions, 0 deletions