diff options
Diffstat (limited to 'src/wasm/wasm.cpp')
-rw-r--r-- | src/wasm/wasm.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/wasm/wasm.cpp b/src/wasm/wasm.cpp index b21c1849a..47a04d7f8 100644 --- a/src/wasm/wasm.cpp +++ b/src/wasm/wasm.cpp @@ -1109,6 +1109,24 @@ void ArrayCopy::finalize() { } } +void ArrayFill::finalize() { + if (ref->type == Type::unreachable || index->type == Type::unreachable || + value->type == Type::unreachable || size->type == Type::unreachable) { + type = Type::unreachable; + } else { + type = Type::none; + } +} + +void ArrayInit::finalize() { + if (ref->type == Type::unreachable || index->type == Type::unreachable || + offset->type == Type::unreachable || size->type == Type::unreachable) { + type = Type::unreachable; + } else { + type = Type::none; + } +} + void RefAs::finalize() { if (value->type == Type::unreachable) { type = Type::unreachable; |