Skip to content

Commit 24ecd54

Browse files
committed
update wasm3 code
1 parent 6df21d4 commit 24ecd54

1 file changed

Lines changed: 11 additions & 6 deletions

File tree

test/utils/wasm3_engine.cpp

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ class Wasm3Engine final : public WasmEngine
3838

3939
namespace
4040
{
41-
const void* env_adler32(IM3Runtime /*runtime*/, uint64_t* stack, void* mem, void* /*userdata*/)
41+
const void* env_adler32(
42+
IM3Runtime /*runtime*/, IM3ImportContext /*context*/, uint64_t* stack, void* mem)
4243
{
4344
const uint32_t offset = static_cast<uint32_t>(stack[0]);
4445
const uint32_t length = static_cast<uint32_t>(stack[1]);
@@ -87,8 +88,11 @@ bool Wasm3Engine::instantiate(bytes_view wasm_binary)
8788
return false;
8889
}
8990

90-
auto ret = m3_LinkRawFunction(module, "env", "adler32", "i(ii)", env_adler32);
91-
return ret == m3Err_none || ret == m3Err_functionLookupFailed;
91+
auto const ret = m3_LinkRawFunction(module, "env", "adler32", "i(ii)", env_adler32);
92+
if (ret != m3Err_none && ret != m3Err_functionLookupFailed)
93+
return false;
94+
95+
return m3_RunStart(module) == m3Err_none;
9296
}
9397

9498
bool Wasm3Engine::init_memory(fizzy::bytes_view memory)
@@ -132,14 +136,15 @@ WasmEngine::Result Wasm3Engine::execute(
132136

133137
// This ensures input count/type matches. For the return value we assume find_function did the
134138
// validation.
135-
auto const result = m3_Call(function, static_cast<uint32_t>(args.size()), argPtrs.data());
136-
if (result == m3Err_none)
139+
if (m3_Call(function, static_cast<uint32_t>(args.size()), argPtrs.data()) == m3Err_none)
137140
{
138141
if (m3_GetRetCount(function) == 0)
139142
return {false, std::nullopt};
140143

141144
uint64_t ret_value = 0;
142-
assert(m3_GetResultsV(function, &ret_value) == m3Err_none);
145+
[[maybe_unused]] auto const ret = m3_GetResultsV(function, &ret_value);
146+
// This should not fail.
147+
assert(ret == m3Err_none);
143148
return {false, ret_value};
144149
}
145150
return {true, std::nullopt};

0 commit comments

Comments
 (0)