diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/wasm-interpreter.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h index 43b001f35..6d25e4398 100644 --- a/src/wasm-interpreter.h +++ b/src/wasm-interpreter.h @@ -1595,6 +1595,13 @@ public: Flow visitArrayNew(ArrayNew* curr) { NOTE_ENTER("ArrayNew"); + Flow init; + if (!curr->isWithDefault()) { + init = self()->visit(curr->init); + if (init.breaking()) { + return init; + } + } auto size = self()->visit(curr->size); if (size.breaking()) { return size; @@ -1618,10 +1625,6 @@ public: data[i] = Literal::makeZero(element.type); } } else { - auto init = self()->visit(curr->init); - if (init.breaking()) { - return init; - } auto field = curr->type.getHeapType().getArray().element; auto value = truncateForPacking(init.getSingleValue(), field); for (Index i = 0; i < num; i++) { |