mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-05-12 12:41:25 +00:00
CI: Enable testing AOT multi-module feature (#2621)
And refine some code pieces.
This commit is contained in:
parent
b115b7baac
commit
7c22bde8dc
|
@ -151,9 +151,7 @@ jobs:
|
||||||
exclude:
|
exclude:
|
||||||
# uncompatiable feature and platform
|
# uncompatiable feature and platform
|
||||||
# uncompatiable mode and feature
|
# uncompatiable mode and feature
|
||||||
# MULTI_MODULE only on INTERP mode
|
# MULTI_MODULE only on INTERP mode and AOT mode
|
||||||
- make_options_run_mode: $AOT_BUILD_OPTIONS
|
|
||||||
make_options_feature: "-DWAMR_BUILD_MULTI_MODULE=1"
|
|
||||||
- make_options_run_mode: $FAST_JIT_BUILD_OPTIONS
|
- make_options_run_mode: $FAST_JIT_BUILD_OPTIONS
|
||||||
make_options_feature: "-DWAMR_BUILD_MULTI_MODULE=1"
|
make_options_feature: "-DWAMR_BUILD_MULTI_MODULE=1"
|
||||||
- make_options_run_mode: $LLVM_LAZY_JIT_BUILD_OPTIONS
|
- make_options_run_mode: $LLVM_LAZY_JIT_BUILD_OPTIONS
|
||||||
|
@ -494,9 +492,7 @@ jobs:
|
||||||
test_option: $SIMD_TEST_OPTIONS
|
test_option: $SIMD_TEST_OPTIONS
|
||||||
- running_mode: "fast-interp"
|
- running_mode: "fast-interp"
|
||||||
test_option: $SIMD_TEST_OPTIONS
|
test_option: $SIMD_TEST_OPTIONS
|
||||||
# aot and jit don't support multi module
|
# llvm jit doesn't support multi module
|
||||||
- running_mode: "aot"
|
|
||||||
test_option: $MULTI_MODULES_TEST_OPTIONS
|
|
||||||
- running_mode: "jit"
|
- running_mode: "jit"
|
||||||
test_option: $MULTI_MODULES_TEST_OPTIONS
|
test_option: $MULTI_MODULES_TEST_OPTIONS
|
||||||
# fast-jit doesn't support multi module, simd
|
# fast-jit doesn't support multi module, simd
|
||||||
|
|
4
.github/workflows/compilation_on_macos.yml
vendored
4
.github/workflows/compilation_on_macos.yml
vendored
|
@ -133,13 +133,11 @@ jobs:
|
||||||
exclude:
|
exclude:
|
||||||
# uncompatiable feature and platform
|
# uncompatiable feature and platform
|
||||||
# uncompatiable mode and feature
|
# uncompatiable mode and feature
|
||||||
# MULTI_MODULE only on INTERP mode
|
# MULTI_MODULE only on INTERP mode and AOT mode
|
||||||
- make_options_run_mode: $LLVM_LAZY_JIT_BUILD_OPTIONS
|
- make_options_run_mode: $LLVM_LAZY_JIT_BUILD_OPTIONS
|
||||||
make_options_feature: "-DWAMR_BUILD_MULTI_MODULE=1"
|
make_options_feature: "-DWAMR_BUILD_MULTI_MODULE=1"
|
||||||
- make_options_run_mode: $LLVM_EAGER_JIT_BUILD_OPTIONS
|
- make_options_run_mode: $LLVM_EAGER_JIT_BUILD_OPTIONS
|
||||||
make_options_feature: "-DWAMR_BUILD_MULTI_MODULE=1"
|
make_options_feature: "-DWAMR_BUILD_MULTI_MODULE=1"
|
||||||
- make_options_run_mode: $AOT_BUILD_OPTIONS
|
|
||||||
make_options_feature: "-DWAMR_BUILD_MULTI_MODULE=1"
|
|
||||||
# SIMD only on JIT/AOT mode
|
# SIMD only on JIT/AOT mode
|
||||||
- make_options_run_mode: $CLASSIC_INTERP_BUILD_OPTIONS
|
- make_options_run_mode: $CLASSIC_INTERP_BUILD_OPTIONS
|
||||||
make_options_feature: "-DWAMR_BUILD_SIMD=1"
|
make_options_feature: "-DWAMR_BUILD_SIMD=1"
|
||||||
|
|
3
.github/workflows/compilation_on_sgx.yml
vendored
3
.github/workflows/compilation_on_sgx.yml
vendored
|
@ -101,9 +101,6 @@ jobs:
|
||||||
platform: [linux-sgx]
|
platform: [linux-sgx]
|
||||||
exclude:
|
exclude:
|
||||||
# uncompatiable mode and feature
|
# uncompatiable mode and feature
|
||||||
# MULTI_MODULE only on INTERP mode
|
|
||||||
- make_options_run_mode: $AOT_BUILD_OPTIONS
|
|
||||||
make_options_feature: "-DWAMR_BUILD_MULTI_MODULE=1"
|
|
||||||
# MINI_LOADER only on INTERP mode
|
# MINI_LOADER only on INTERP mode
|
||||||
- make_options_run_mode: $AOT_BUILD_OPTIONS
|
- make_options_run_mode: $AOT_BUILD_OPTIONS
|
||||||
make_options_feature: "-DWAMR_BUILD_MINI_LOADER=1"
|
make_options_feature: "-DWAMR_BUILD_MINI_LOADER=1"
|
||||||
|
|
12
.github/workflows/nightly_run.yml
vendored
12
.github/workflows/nightly_run.yml
vendored
|
@ -127,9 +127,7 @@ jobs:
|
||||||
exclude:
|
exclude:
|
||||||
# uncompatiable feature and platform
|
# uncompatiable feature and platform
|
||||||
# uncompatiable mode and feature
|
# uncompatiable mode and feature
|
||||||
# MULTI_MODULE only on INTERP mode
|
# MULTI_MODULE only on INTERP mode and AOT mode
|
||||||
- make_options_run_mode: $AOT_BUILD_OPTIONS
|
|
||||||
make_options_feature: "-DWAMR_BUILD_MULTI_MODULE=1"
|
|
||||||
- make_options_run_mode: $FAST_JIT_BUILD_OPTIONS
|
- make_options_run_mode: $FAST_JIT_BUILD_OPTIONS
|
||||||
make_options_feature: "-DWAMR_BUILD_MULTI_MODULE=1"
|
make_options_feature: "-DWAMR_BUILD_MULTI_MODULE=1"
|
||||||
- make_options_run_mode: $LLVM_LAZY_JIT_BUILD_OPTIONS
|
- make_options_run_mode: $LLVM_LAZY_JIT_BUILD_OPTIONS
|
||||||
|
@ -252,7 +250,7 @@ jobs:
|
||||||
exclude:
|
exclude:
|
||||||
# uncompatiable feature and platform
|
# uncompatiable feature and platform
|
||||||
# uncompatiable mode and feature
|
# uncompatiable mode and feature
|
||||||
# MULTI_MODULE only on INTERP mode
|
# MULTI_MODULE only on INTERP mode and AOT mode
|
||||||
- make_options_run_mode: $FAST_JIT_BUILD_OPTIONS
|
- make_options_run_mode: $FAST_JIT_BUILD_OPTIONS
|
||||||
make_options_feature: "-DWAMR_BUILD_MULTI_MODULE=1"
|
make_options_feature: "-DWAMR_BUILD_MULTI_MODULE=1"
|
||||||
# SIMD only on JIT/AOT mode
|
# SIMD only on JIT/AOT mode
|
||||||
|
@ -553,9 +551,7 @@ jobs:
|
||||||
test_option: $SIMD_TEST_OPTIONS
|
test_option: $SIMD_TEST_OPTIONS
|
||||||
- running_mode: "fast-interp"
|
- running_mode: "fast-interp"
|
||||||
test_option: $SIMD_TEST_OPTIONS
|
test_option: $SIMD_TEST_OPTIONS
|
||||||
# aot and jit don't support multi module
|
# llvm jit doesn't support multi module
|
||||||
- running_mode: "aot"
|
|
||||||
test_option: $MULTI_MODULES_TEST_OPTIONS
|
|
||||||
- running_mode: "jit"
|
- running_mode: "jit"
|
||||||
test_option: $MULTI_MODULES_TEST_OPTIONS
|
test_option: $MULTI_MODULES_TEST_OPTIONS
|
||||||
# fast-jit doesn't support multi module, simd
|
# fast-jit doesn't support multi module, simd
|
||||||
|
@ -660,4 +656,4 @@ jobs:
|
||||||
timeout-minutes: 40
|
timeout-minutes: 40
|
||||||
if: env.TEST_ON_X86_32 == 'true'
|
if: env.TEST_ON_X86_32 == 'true'
|
||||||
run: ./test_wamr.sh ${{ env.X86_32_TARGET_TEST_OPTIONS }} ${{ matrix.test_option }} -t ${{ matrix.running_mode }}
|
run: ./test_wamr.sh ${{ env.X86_32_TARGET_TEST_OPTIONS }} ${{ matrix.test_option }} -t ${{ matrix.running_mode }}
|
||||||
working-directory: ./tests/wamr-test-suites
|
working-directory: ./tests/wamr-test-suites
|
||||||
|
|
|
@ -2955,18 +2955,21 @@ create_module(char *error_buf, uint32 error_buf_size)
|
||||||
{
|
{
|
||||||
AOTModule *module =
|
AOTModule *module =
|
||||||
loader_malloc(sizeof(AOTModule), error_buf, error_buf_size);
|
loader_malloc(sizeof(AOTModule), error_buf, error_buf_size);
|
||||||
|
|
||||||
bh_list_status ret;
|
bh_list_status ret;
|
||||||
|
|
||||||
if (!module) {
|
if (!module) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
module->module_type = Wasm_Module_AoT;
|
module->module_type = Wasm_Module_AoT;
|
||||||
|
|
||||||
#if WASM_ENABLE_MULTI_MODULE != 0
|
#if WASM_ENABLE_MULTI_MODULE != 0
|
||||||
module->import_module_list = &module->import_module_list_head;
|
module->import_module_list = &module->import_module_list_head;
|
||||||
ret = bh_list_init(module->import_module_list);
|
ret = bh_list_init(module->import_module_list);
|
||||||
bh_assert(ret == BH_LIST_SUCCESS);
|
bh_assert(ret == BH_LIST_SUCCESS);
|
||||||
#endif
|
#endif
|
||||||
(void)ret;
|
(void)ret;
|
||||||
|
|
||||||
return module;
|
return module;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -126,13 +126,11 @@ runtime_malloc(uint64 size, WASMModuleInstanceCommon *module_inst,
|
||||||
}
|
}
|
||||||
|
|
||||||
#if WASM_ENABLE_MULTI_MODULE != 0
|
#if WASM_ENABLE_MULTI_MODULE != 0
|
||||||
/*
|
/* TODO: Let loader_malloc be a general API both for AOT and WASM. */
|
||||||
TODO:
|
|
||||||
Let loader_malloc be a general API both for AOT and WASM.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define loader_malloc(size, error_buf, error_buf_size) \
|
#define loader_malloc(size, error_buf, error_buf_size) \
|
||||||
runtime_malloc(size, NULL, error_buf, error_buf_size)
|
runtime_malloc(size, NULL, error_buf, error_buf_size)
|
||||||
|
|
||||||
static void
|
static void
|
||||||
set_error_buf_v(const WASMModuleCommon *module, char *error_buf,
|
set_error_buf_v(const WASMModuleCommon *module, char *error_buf,
|
||||||
uint32 error_buf_size, const char *format, ...)
|
uint32 error_buf_size, const char *format, ...)
|
||||||
|
|
|
@ -710,8 +710,8 @@ fd_object_release(wasm_exec_env_t env, struct fd_object *fo)
|
||||||
bool
|
bool
|
||||||
fd_table_insert_existing(struct fd_table *ft, __wasi_fd_t in, int out)
|
fd_table_insert_existing(struct fd_table *ft, __wasi_fd_t in, int out)
|
||||||
{
|
{
|
||||||
__wasi_filetype_t type;
|
__wasi_filetype_t type = __WASI_FILETYPE_UNKNOWN;
|
||||||
__wasi_rights_t rights_base, rights_inheriting;
|
__wasi_rights_t rights_base = 0, rights_inheriting = 0;
|
||||||
struct fd_object *fo;
|
struct fd_object *fo;
|
||||||
__wasi_errno_t error;
|
__wasi_errno_t error;
|
||||||
|
|
||||||
|
|
|
@ -422,7 +422,7 @@ static bool
|
||||||
module_reader_callback(package_type_t module_type, const char *module_name,
|
module_reader_callback(package_type_t module_type, const char *module_name,
|
||||||
uint8 **p_buffer, uint32 *p_size)
|
uint8 **p_buffer, uint32 *p_size)
|
||||||
{
|
{
|
||||||
char *file_format;
|
char *file_format = NULL;
|
||||||
#if WASM_ENABLE_INTERP != 0
|
#if WASM_ENABLE_INTERP != 0
|
||||||
if (module_type == Wasm_Module_Bytecode)
|
if (module_type == Wasm_Module_Bytecode)
|
||||||
file_format = ".wasm";
|
file_format = ".wasm";
|
||||||
|
@ -430,8 +430,8 @@ module_reader_callback(package_type_t module_type, const char *module_name,
|
||||||
#if WASM_ENABLE_AOT != 0
|
#if WASM_ENABLE_AOT != 0
|
||||||
if (module_type == Wasm_Module_AoT)
|
if (module_type == Wasm_Module_AoT)
|
||||||
file_format = ".aot";
|
file_format = ".aot";
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
bh_assert(file_format);
|
||||||
const char *format = "%s/%s%s";
|
const char *format = "%s/%s%s";
|
||||||
int sz = strlen(module_search_path) + strlen("/") + strlen(module_name)
|
int sz = strlen(module_search_path) + strlen("/") + strlen(module_name)
|
||||||
+ strlen(file_format) + 1;
|
+ strlen(file_format) + 1;
|
||||||
|
|
|
@ -206,7 +206,7 @@ static bool
|
||||||
module_reader_callback(package_type_t module_type, const char *module_name,
|
module_reader_callback(package_type_t module_type, const char *module_name,
|
||||||
uint8 **p_buffer, uint32 *p_size)
|
uint8 **p_buffer, uint32 *p_size)
|
||||||
{
|
{
|
||||||
char *file_format;
|
char *file_format = NULL;
|
||||||
#if WASM_ENABLE_INTERP != 0
|
#if WASM_ENABLE_INTERP != 0
|
||||||
if (module_type == Wasm_Module_Bytecode)
|
if (module_type == Wasm_Module_Bytecode)
|
||||||
file_format = ".wasm";
|
file_format = ".wasm";
|
||||||
|
@ -214,8 +214,8 @@ module_reader_callback(package_type_t module_type, const char *module_name,
|
||||||
#if WASM_ENABLE_AOT != 0
|
#if WASM_ENABLE_AOT != 0
|
||||||
if (module_type == Wasm_Module_AoT)
|
if (module_type == Wasm_Module_AoT)
|
||||||
file_format = ".aot";
|
file_format = ".aot";
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
bh_assert(file_format);
|
||||||
const char *format = "%s/%s%s";
|
const char *format = "%s/%s%s";
|
||||||
int sz = strlen(module_search_path) + strlen("/") + strlen(module_name)
|
int sz = strlen(module_search_path) + strlen("/") + strlen(module_name)
|
||||||
+ strlen(file_format) + 1;
|
+ strlen(file_format) + 1;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user