Skip to content

Commit 75c12b7

Browse files
committed
update shell-interface
1 parent 50cf05e commit 75c12b7

File tree

1 file changed

+3
-20
lines changed

1 file changed

+3
-20
lines changed

src/shell-interface.h

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -97,28 +97,9 @@ struct ShellExternalInterface : ModuleInstance::ExternalInterface {
9797
virtual ~ShellExternalInterface() = default;
9898

9999
void init(Module& wasm, ModuleInstance& instance) override {
100+
(void)instance;
100101
memory.resize(wasm.memory.initial * wasm::Memory::kPageSize);
101-
// apply memory segments
102-
for (auto& segment : wasm.memory.segments) {
103-
Address offset = static_cast<uint32_t>(ConstantExpressionRunner<TrivialGlobalManager>(instance.globals).visit(segment.offset).value.geti32());
104-
if (offset + segment.data.size() > wasm.memory.initial * wasm::Memory::kPageSize) {
105-
trap("invalid offset when initializing memory");
106-
}
107-
for (size_t i = 0; i != segment.data.size(); ++i) {
108-
memory.set(offset + i, segment.data[i]);
109-
}
110-
}
111-
112102
table.resize(wasm.table.initial);
113-
for (auto& segment : wasm.table.segments) {
114-
Address offset = static_cast<uint32_t>(ConstantExpressionRunner<TrivialGlobalManager>(instance.globals).visit(segment.offset).value.geti32());
115-
if (offset + segment.data.size() > wasm.table.initial) {
116-
trap("invalid offset when initializing table");
117-
}
118-
for (size_t i = 0; i != segment.data.size(); ++i) {
119-
table[offset + i] = segment.data[i];
120-
}
121-
}
122103
}
123104

124105
void importGlobals(std::map<Name, Literal>& globals, Module& wasm) override {
@@ -174,6 +155,8 @@ struct ShellExternalInterface : ModuleInstance::ExternalInterface {
174155
memory.set<std::array<uint8_t, 16>>(addr, value);
175156
}
176157

158+
void tableStore(Address addr, Name entry) override { table[addr] = entry; }
159+
177160
void growMemory(Address /*oldSize*/, Address newSize) override {
178161
memory.resize(newSize);
179162
}

0 commit comments

Comments
 (0)