summaryrefslogtreecommitdiff
path: root/src/interp/binary-reader-interp.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/binary-reader-interp.cc')
-rw-r--r--src/interp/binary-reader-interp.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/interp/binary-reader-interp.cc b/src/interp/binary-reader-interp.cc
index 0cd9c523..0da318ae 100644
--- a/src/interp/binary-reader-interp.cc
+++ b/src/interp/binary-reader-interp.cc
@@ -216,6 +216,9 @@ class BinaryReaderInterp : public BinaryReaderNop {
Result OnLoadSplatExpr(Opcode opcode,
Address alignment_log2,
Address offset) override;
+ Result OnLoadZeroExpr(Opcode opcode,
+ Address alignment_log2,
+ Address offset) override;
Result OnElemSegmentCount(Index count) override;
Result BeginElemSegment(Index index,
@@ -906,6 +909,14 @@ Result BinaryReaderInterp::OnLoadSplatExpr(Opcode opcode,
return Result::Ok;
}
+Result BinaryReaderInterp::OnLoadZeroExpr(Opcode opcode,
+ Address align_log2,
+ Address offset) {
+ CHECK_RESULT(validator_.OnLoadZero(loc, opcode, GetAlignment(align_log2)));
+ istream_.Emit(opcode, kMemoryIndex0, offset);
+ return Result::Ok;
+}
+
Result BinaryReaderInterp::OnAtomicLoadExpr(Opcode opcode,
Address align_log2,
Address offset) {