summaryrefslogtreecommitdiff
path: root/src/wasm/wasm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/wasm/wasm.cpp')
-rw-r--r--src/wasm/wasm.cpp26
1 files changed, 1 insertions, 25 deletions
diff --git a/src/wasm/wasm.cpp b/src/wasm/wasm.cpp
index fd3cec8d8..d220b7162 100644
--- a/src/wasm/wasm.cpp
+++ b/src/wasm/wasm.cpp
@@ -290,7 +290,7 @@ void Call::finalize() {
}
void CallIndirect::finalize() {
- type = sig.results;
+ type = heapType.getSignature().results;
handleUnreachableOperands(this);
if (isReturn) {
type = Type::unreachable;
@@ -300,30 +300,6 @@ void CallIndirect::finalize() {
}
}
-HeapType CallIndirect::getHeapType(Module* module) {
- auto heapType = HeapType(sig);
- // See comment in wasm.h
- if (module) {
- // The table may not yet exist if the wasm module is still being
- // constructed. This should perhaps be an error, but as this is a hack for
- // the time being, handle this the same as the case where module is null.
- // Note: table_ (with underscore) is needed as |table| is a field on |this|.
- if (auto* table_ = module->getTableOrNull(table)) {
- // The wasm spec may allow more things eventually, and if so we'd need to
- // add more checking here.
- assert(table_->type.isRef());
- auto tableHeapType = table_->type.getHeapType();
- if (tableHeapType.isSignature()) {
- auto tableSig = tableHeapType.getSignature();
- if (sig == tableSig) {
- heapType = tableHeapType;
- }
- }
- }
- }
- return heapType;
-}
-
bool LocalSet::isTee() const { return type != Type::none; }
// Changes to local.tee. The type of the local should be given.