Remove the binding between current thread and module instance and bugs fix (#131)

Remove wasm_export_api.h that may confuse
Implement wasm_runtime_validate_app_str_addr()
Fix bugs of loader and pass more spec cases

Signed-off-by: Weining Lu <weining.x.lu@intel.com>
This commit is contained in:
Weining
2019-10-11 15:25:23 +08:00
committed by wenyongh
parent bbae4426a0
commit 2a8b1ef454
37 changed files with 496 additions and 552 deletions

View File

@ -130,35 +130,35 @@ module_data_list_lookup_id(unsigned int module_id)
}
module_data *
app_manager_get_module_data(uint32 module_type)
app_manager_get_module_data(uint32 module_type, void *module_inst)
{
if (g_module_interfaces[module_type]
&& g_module_interfaces[module_type]->module_get_module_data)
return g_module_interfaces[module_type]->module_get_module_data();
return g_module_interfaces[module_type]->module_get_module_data(module_inst);
return NULL;
}
void*
app_manager_get_module_queue(uint32 module_type)
app_manager_get_module_queue(uint32 module_type, void *module_inst)
{
return app_manager_get_module_data(module_type)->queue;
return app_manager_get_module_data(module_type, module_inst)->queue;
}
const char*
app_manager_get_module_name(uint32 module_type)
app_manager_get_module_name(uint32 module_type, void *module_inst)
{
return app_manager_get_module_data(module_type)->module_name;
return app_manager_get_module_data(module_type, module_inst)->module_name;
}
unsigned int app_manager_get_module_id(uint32 module_type)
unsigned int app_manager_get_module_id(uint32 module_type, void *module_inst)
{
return app_manager_get_module_data(module_type)->id;
return app_manager_get_module_data(module_type, module_inst)->id;
}
void*
app_manager_get_module_heap(uint32 module_type)
app_manager_get_module_heap(uint32 module_type, void *module_inst)
{
return app_manager_get_module_data(module_type)->heap;
return app_manager_get_module_data(module_type, module_inst)->heap;
}
module_data*
@ -179,9 +179,9 @@ void app_manager_del_module_data(module_data *m_data)
release_module(m_data);
}
bool app_manager_is_interrupting_module(uint32 module_type)
bool app_manager_is_interrupting_module(uint32 module_type, void *module_inst)
{
return app_manager_get_module_data(module_type)->wd_timer.is_interrupting;
return app_manager_get_module_data(module_type, module_inst)->wd_timer.is_interrupting;
}
extern void destroy_module_timer_ctx(unsigned int module_id);