LibWasm: Implement reference instructions (ref.{null,func,is_null})

This commit is contained in:
Ali Mohammad Pur 2021-06-01 09:48:36 +04:30 committed by Ali Mohammad Pur
commit 56bf80251c
Notes: sideshowbarker 2024-07-18 17:01:23 +09:00
8 changed files with 73 additions and 9 deletions

View file

@ -152,7 +152,8 @@ InstantiationResult AbstractMachine::instantiate(const Module& module, Vector<Ex
result.values().first().value().visit(
[&](const auto& value) { offset = value; },
[&](const FunctionAddress&) { instantiation_result = InstantiationError { "Data segment offset returned an address" }; },
[&](const ExternAddress&) { instantiation_result = InstantiationError { "Data segment offset returned an address" }; });
[&](const ExternAddress&) { instantiation_result = InstantiationError { "Data segment offset returned an address" }; },
[&](const Value::Null&) { instantiation_result = InstantiationError { "Data segment offset returned a null reference" }; });
if (instantiation_result.has_value() && instantiation_result->is_error())
return;
if (main_module_instance.memories().size() <= data.index.value()) {