Support muti-module for AOT mode (#2482)
Support muti-module for AOT mode, currently only implement the multi-module's function import feature for AOT, the memory/table/ global import are not implemented yet. And update wamr-test-suites scripts, multi-module sample and some CIs accordingly.
This commit is contained in:
committed by
GitHub
parent
fff0e2ad1c
commit
79b27c1934
@ -90,6 +90,10 @@ typedef struct AOTFunctionInstance {
|
||||
typedef struct AOTModuleInstanceExtra {
|
||||
DefPointer(const uint32 *, stack_sizes);
|
||||
WASMModuleInstanceExtraCommon common;
|
||||
#if WASM_ENABLE_MULTI_MODULE != 0
|
||||
bh_list sub_module_inst_list_head;
|
||||
bh_list *sub_module_inst_list;
|
||||
#endif
|
||||
} AOTModuleInstanceExtra;
|
||||
|
||||
#if defined(BUILD_TARGET_X86_64) || defined(BUILD_TARGET_AMD_64)
|
||||
@ -229,6 +233,12 @@ typedef struct AOTModule {
|
||||
WASIArguments wasi_args;
|
||||
bool import_wasi_api;
|
||||
#endif
|
||||
|
||||
#if WASM_ENABLE_MULTI_MODULE != 0
|
||||
/* TODO: add mutex for mutli-thread? */
|
||||
bh_list import_module_list_head;
|
||||
bh_list *import_module_list;
|
||||
#endif
|
||||
#if WASM_ENABLE_DEBUG_AOT != 0
|
||||
void *elf_hdr;
|
||||
uint32 elf_size;
|
||||
@ -247,6 +257,10 @@ typedef struct AOTModule {
|
||||
#define AOTTableInstance WASMTableInstance
|
||||
#define AOTModuleInstance WASMModuleInstance
|
||||
|
||||
#if WASM_ENABLE_MULTI_MODULE != 0
|
||||
#define AOTSubModInstNode WASMSubModInstNode
|
||||
#endif
|
||||
|
||||
/* Target info, read from ELF header of object file */
|
||||
typedef struct AOTTargetInfo {
|
||||
/* Binary type, elf32l/elf32b/elf64l/elf64b */
|
||||
|
||||
Reference in New Issue
Block a user