diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/wasm-interpreter.h | 3 |
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)); |