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.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/interp/binary-reader-interp.cc b/src/interp/binary-reader-interp.cc
index cf4436f6..25f4d84f 100644
--- a/src/interp/binary-reader-interp.cc
+++ b/src/interp/binary-reader-interp.cc
@@ -238,10 +238,12 @@ class BinaryReaderInterp : public BinaryReaderNop {
Result EndFunctionBody(Index index) override;
Result OnSimdLaneOpExpr(Opcode opcode, uint64_t value) override;
Result OnSimdLoadLaneExpr(Opcode opcode,
+ Index memidx,
Address alignment_log2,
Address offset,
uint64_t value) override;
Result OnSimdStoreLaneExpr(Opcode opcode,
+ Index memidx,
Address alignment_log2,
Address offset,
uint64_t value) override;
@@ -901,22 +903,24 @@ uint32_t GetAlignment(Address alignment_log2) {
}
Result BinaryReaderInterp::OnSimdLoadLaneExpr(Opcode opcode,
+ Index memidx,
Address alignment_log2,
Address offset,
uint64_t value) {
CHECK_RESULT(validator_.OnSimdLoadLane(GetLocation(), opcode,
GetAlignment(alignment_log2), value));
- istream_.Emit(opcode, kMemoryIndex0, offset, static_cast<u8>(value));
+ istream_.Emit(opcode, memidx, offset, static_cast<u8>(value));
return Result::Ok;
}
Result BinaryReaderInterp::OnSimdStoreLaneExpr(Opcode opcode,
+ Index memidx,
Address alignment_log2,
Address offset,
uint64_t value) {
CHECK_RESULT(validator_.OnSimdStoreLane(GetLocation(), opcode,
GetAlignment(alignment_log2), value));
- istream_.Emit(opcode, kMemoryIndex0, offset, static_cast<u8>(value));
+ istream_.Emit(opcode, memidx, offset, static_cast<u8>(value));
return Result::Ok;
}