summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSam Clegg <sbc@chromium.org>2024-04-12 09:51:58 -0700
committerGitHub <noreply@github.com>2024-04-12 09:51:58 -0700
commit8c834e8257b03ea87b639ddac9adefec64fcad00 (patch)
tree711a054feb85c0cfd998c2afef67284700211c13 /src
parent111902d98ac2eb1e903af8ec2f2eab8e9bc66cdf (diff)
downloadbinaryen-8c834e8257b03ea87b639ddac9adefec64fcad00.tar.gz
binaryen-8c834e8257b03ea87b639ddac9adefec64fcad00.tar.bz2
binaryen-8c834e8257b03ea87b639ddac9adefec64fcad00.zip
When creating `dynCall` and `legalstub` function mark them as hasExplicitName. NFC (#6496)
This is temporary workaround for the current test failures on the emscripten waterfall. The real fix I believe will be to make `hasExplicitName` the default in these kinds of cases. See: #6466
Diffstat (limited to 'src')
-rw-r--r--src/passes/GenerateDynCalls.cpp1
-rw-r--r--src/passes/LegalizeJSInterface.cpp1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/passes/GenerateDynCalls.cpp b/src/passes/GenerateDynCalls.cpp
index c2d829530..818bfa967 100644
--- a/src/passes/GenerateDynCalls.cpp
+++ b/src/passes/GenerateDynCalls.cpp
@@ -149,6 +149,7 @@ void GenerateDynCalls::generateDynCallThunk(HeapType funcType) {
}
auto f = builder.makeFunction(
name, std::move(namedParams), Signature(Type(params), sig.results), {});
+ f->hasExplicitName = true;
Expression* fptr = builder.makeLocalGet(0, Type::i32);
std::vector<Expression*> args;
Index i = 0;
diff --git a/src/passes/LegalizeJSInterface.cpp b/src/passes/LegalizeJSInterface.cpp
index 24d76ab09..a0b526a81 100644
--- a/src/passes/LegalizeJSInterface.cpp
+++ b/src/passes/LegalizeJSInterface.cpp
@@ -229,6 +229,7 @@ private:
Builder builder(*module);
auto* legal = new Function();
legal->name = legalName;
+ legal->hasExplicitName = true;
auto* call = module->allocator.alloc<Call>();
call->target = func->name;