summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/wasm-interpreter.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h
index 9fc11de76..8dd7859ac 100644
--- a/src/wasm-interpreter.h
+++ b/src/wasm-interpreter.h
@@ -1712,13 +1712,14 @@ public:
if (num >= ArrayLimit) {
hostLimit("allocation failure");
}
+ auto field = curr->type.getHeapType().getArray().element;
Literals data(num);
for (Index i = 0; i < num; i++) {
auto value = this->visit(curr->values[i]);
if (value.breaking()) {
return value;
}
- data[i] = value.getSingleValue();
+ data[i] = truncateForPacking(value.getSingleValue(), field);
}
return Flow(Literal(std::make_shared<GCData>(rtt.getSingleValue(), data),
curr->type));