Removes WASM hack used for circumventing a wasmer 2.2.1 bug, as it's now resolved in 2.3.0
continuous-integration/drone/push Build is failing
Details
continuous-integration/drone/push Build is failing
Details
This commit is contained in:
parent
66fb9f5bd6
commit
fd4eb77dc9
|
@ -73,9 +73,7 @@ public:
|
|||
~Env() {}
|
||||
};
|
||||
|
||||
auto env = (Env*)malloc(sizeof(Env));
|
||||
new (env) Env{.Resolver = resolver, .Func = func};
|
||||
resolver->Temp_WasmerBug2_2_1_Bypass.Append(env);
|
||||
auto env = new Env{.Resolver = resolver, .Func = func};
|
||||
auto* f = wasm_func_new_with_env(
|
||||
resolver->GetStore(), funcType,
|
||||
[](void* env, const wasm_val_vec_t* parameters, wasm_val_vec_t* results) -> wasm_trap_t* {
|
||||
|
@ -97,7 +95,7 @@ public:
|
|||
}
|
||||
return nullptr;
|
||||
},
|
||||
env, /*[](void*) { delete (Env*)env; }*/ nullptr);
|
||||
env, [](void* env) { delete (Env*)env; });
|
||||
wasm_functype_delete(funcType);
|
||||
return f;
|
||||
}
|
||||
|
|
|
@ -17,9 +17,6 @@ WebAssemblyScriptResolver::~WebAssemblyScriptResolver() {
|
|||
for (auto& import : _imports) {
|
||||
wasm_func_delete(import.second);
|
||||
}
|
||||
for (auto e : Temp_WasmerBug2_2_1_Bypass) {
|
||||
free(e);
|
||||
}
|
||||
if (_instance != nullptr) {
|
||||
wasm_instance_delete(_instance);
|
||||
}
|
||||
|
|
|
@ -52,11 +52,6 @@ public:
|
|||
|
||||
inline void RemoveRegisteredScript(i32 wasmPtr) { _loadedScripts.Remove(wasmPtr); }
|
||||
|
||||
// HACK: This is a temporary way to bypass a bug in wasmer 2.2.1. As finalizers on wasm_func_new_with_env are called
|
||||
// twice, the environment objects of WasmHelpers::CreateFunc are deleted twice. This causes major issues. This
|
||||
// should be fixed in the next wasmer release.
|
||||
ArbUt::List<void*> Temp_WasmerBug2_2_1_Bypass;
|
||||
|
||||
private:
|
||||
wasm_engine_t* _engine;
|
||||
wasm_store_t* _store;
|
||||
|
|
Loading…
Reference in New Issue