Implement apis to set and get the name of a wasm module (#3254)
Add API wasm_runtime_set_module_name and wasm_runtime_get_module_name, and by default, a module's name is "" if the set module name api isn't called.
This commit is contained in:
@ -2949,6 +2949,34 @@ wasm_shared_module_delete(own wasm_shared_module_t *shared_module)
|
||||
wasm_module_delete_internal((wasm_module_t *)shared_module);
|
||||
}
|
||||
|
||||
bool
|
||||
wasm_module_set_name(wasm_module_t *module, const char *name)
|
||||
{
|
||||
char error_buf[256] = { 0 };
|
||||
wasm_module_ex_t *module_ex = NULL;
|
||||
|
||||
if (!module)
|
||||
return false;
|
||||
|
||||
module_ex = module_to_module_ext(module);
|
||||
bool ret = wasm_runtime_set_module_name(module_ex->module_comm_rt, name,
|
||||
error_buf, sizeof(error_buf) - 1);
|
||||
if (!ret)
|
||||
LOG_WARNING("set module name failed: %s", error_buf);
|
||||
return ret;
|
||||
}
|
||||
|
||||
const char *
|
||||
wasm_module_get_name(wasm_module_t *module)
|
||||
{
|
||||
wasm_module_ex_t *module_ex = NULL;
|
||||
if (!module)
|
||||
return "";
|
||||
|
||||
module_ex = module_to_module_ext(module);
|
||||
return wasm_runtime_get_module_name(module_ex->module_comm_rt);
|
||||
}
|
||||
|
||||
static wasm_func_t *
|
||||
wasm_func_new_basic(wasm_store_t *store, const wasm_functype_t *type,
|
||||
wasm_func_callback_t func_callback)
|
||||
|
||||
@ -6585,3 +6585,44 @@ wasm_runtime_set_linux_perf(bool flag)
|
||||
enable_linux_perf = flag;
|
||||
}
|
||||
#endif
|
||||
|
||||
bool
|
||||
wasm_runtime_set_module_name(wasm_module_t module, const char *name,
|
||||
char *error_buf, uint32_t error_buf_size)
|
||||
{
|
||||
if (!module)
|
||||
return false;
|
||||
|
||||
#if WASM_ENABLE_INTERP != 0
|
||||
if (module->module_type == Wasm_Module_Bytecode)
|
||||
return wasm_set_module_name((WASMModule *)module, name, error_buf,
|
||||
error_buf_size);
|
||||
#endif
|
||||
|
||||
#if WASM_ENABLE_AOT != 0
|
||||
if (module->module_type == Wasm_Module_AoT)
|
||||
return aot_set_module_name((AOTModule *)module, name, error_buf,
|
||||
error_buf_size);
|
||||
#endif
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
const char *
|
||||
wasm_runtime_get_module_name(wasm_module_t module)
|
||||
{
|
||||
if (!module)
|
||||
return "";
|
||||
|
||||
#if WASM_ENABLE_INTERP != 0
|
||||
if (module->module_type == Wasm_Module_Bytecode)
|
||||
return wasm_get_module_name((WASMModule *)module);
|
||||
#endif
|
||||
|
||||
#if WASM_ENABLE_AOT != 0
|
||||
if (module->module_type == Wasm_Module_AoT)
|
||||
return aot_get_module_name((AOTModule *)module);
|
||||
#endif
|
||||
|
||||
return "";
|
||||
}
|
||||
Reference in New Issue
Block a user