wasm-micro-runtime/core/iwasm/compilation
Jie He be2b561935
[dylink] Add an experimental shared-everything multiple modules link feature. (#1023)
By this patch, an experimental shared-everything modules linking is supported, typically
user could use the feature to dlopen a wasm/aot module, then get the funcref by dlsym, and
call the target function by call indirect instr. Of course, a dlclose is supported too.

Currently, root module could be a regular module, wasi module, or AssemblyScript module;
dependency module MUST be a module built followed the proposal "dynamical linking", that means
it should contain a new dylink section and no mem allocator function exported. User could
get it by clang or emcc. New iwasm switch --enable-dopen is used for enabling the feature and
choosing the launch mode. see the iwasm -h for details.

Multiple modules feature is not well tested, there should be some cases not covered.

Co-authored-by: jhe <hejie.he@antgroup.com>
2022-02-28 18:13:36 +08:00
..
debug Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
simd Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
aot_compiler.c [dylink] Add an experimental shared-everything multiple modules link feature. (#1023) 2022-02-28 18:13:36 +08:00
aot_compiler.h Fix fail to get builtin functions in indirect call (XIP) mode (#829) 2021-11-11 14:14:21 +08:00
aot_emit_aot_file.c [dylink] Add an experimental shared-everything multiple modules link feature. (#1023) 2022-02-28 18:13:36 +08:00
aot_emit_compare.c Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
aot_emit_compare.h Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
aot_emit_const.c Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
aot_emit_const.h Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
aot_emit_control.c Fix potential pointer overflows (#826) 2021-11-15 10:57:37 +08:00
aot_emit_control.h Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
aot_emit_conversion.c Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
aot_emit_conversion.h Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
aot_emit_exception.c [dylink] Add an experimental shared-everything multiple modules link feature. (#1023) 2022-02-28 18:13:36 +08:00
aot_emit_exception.h Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
aot_emit_function.c [dylink] Add an experimental shared-everything multiple modules link feature. (#1023) 2022-02-28 18:13:36 +08:00
aot_emit_function.h Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
aot_emit_memory.c Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
aot_emit_memory.h Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
aot_emit_numberic.c Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
aot_emit_numberic.h Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
aot_emit_parametric.c Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
aot_emit_parametric.h Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
aot_emit_table.c Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
aot_emit_table.h Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
aot_emit_variable.c [dylink] Add an experimental shared-everything multiple modules link feature. (#1023) 2022-02-28 18:13:36 +08:00
aot_emit_variable.h Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
aot_llvm_extra.cpp Enable LLVM link time optimization (LTO) for AOT (#831) 2021-11-13 16:59:35 +08:00
aot_llvm_lazyjit.cpp Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
aot_llvm_lazyjit.h Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
aot_llvm.c [dylink] Add an experimental shared-everything multiple modules link feature. (#1023) 2022-02-28 18:13:36 +08:00
aot_llvm.h [dylink] Add an experimental shared-everything multiple modules link feature. (#1023) 2022-02-28 18:13:36 +08:00
aot.c [dylink] Add an experimental shared-everything multiple modules link feature. (#1023) 2022-02-28 18:13:36 +08:00
aot.h [dylink] Add an experimental shared-everything multiple modules link feature. (#1023) 2022-02-28 18:13:36 +08:00
iwasm_compl.cmake Implement source debugging for interpreter and AOT (#769) 2021-09-29 13:36:46 +08:00