Wenyong Huang and GitHub
240ca2ed46
Implement performance profiler and call stack dump, and update toolchain document ( #501 )
...
And remove redundant FAST_INTERP macros in wasm_interp_fast.c, and fix wamrc --help wrong line order issue.
Signed-off-by: Wenyong Huang <wenyong.huang@intel.com >
2021-01-18 13:23:10 +08:00
alvkeke and GitHub
8ec03a5165
add porting codes of rt-thread ( #494 )
2021-01-14 11:26:35 +08:00
Wenyong Huang and GitHub
8a477786f1
Remove unused block_addr_cache buffer in wasm loader ( #493 )
...
And fix possible memory leak issue in aot loader when apply relocation failed.
Signed-off-by: Wenyong Huang <wenyong.huang@intel.com >
2021-01-08 19:11:12 +08:00
Wenyong Huang and GitHub
788cbf2a19
Refine aot call_indirect opcode translation ( #492 )
...
Re-implement aot call_indirect opcode translation: when calling non-import function, translate it by LLVM call IR to call the function in AOTed code, so as to avoid calling runtime aot_call_indirect API which is much slower. For import function, keep calling aot_call_indirect API due to the possible pointer/string argument conversion.
And add prompt info while app heap is corrupted, change emit_leb to emit_uint32 inter fast-interp to refine footprint.
Signed-off-by: Wenyong Huang <wenyong.huang@intel.com >
2021-01-05 18:05:30 +08:00
Wenyong Huang and GitHub
365ec6360b
Update build scripts and documents of workload samples for wasi-sdk-12.0 ( #484 )
...
Update the build scripts of sample workloads (meshoptimizer/bwa/wasm-av1) to use the wasi-sdk-12.0 firstly to build the workload and discard clang-11, as wasi-sdk-12 supports wasi, simd and pthread better. And update the related documents.
Also modify wasm mini loader to sync up with the change of wasm normal loader.
Signed-off-by: Wenyong Huang <wenyong.huang@intel.com >
2020-12-29 14:41:09 +08:00
Wenyong Huang and GitHub
724858c731
Update wasm app build scripts for wasi-sdk-12 and refine interpreter ( #481 )
...
Update wasm app build scripts for wasi-sdk-12.0: add --export=__main_argc_argv, remove --no-threads
Lookup function with name "__main_argc_argv" as main function besides "main"
Change module_malloc to runtime_malloc in wasi native lib
Refine classic interpreter op_block and op_br_table
Refine faster interpreter op_br_table
Signed-off-by: Wenyong Huang <wenyong.huang@intel.com >
2020-12-28 10:46:31 +08:00
Wenyong Huang and GitHub
ad35c3c21b
Implement SIMD float ceil/floor/trunc/nearest opcodes ( #472 )
...
Implement SIMD f32x4/f64x2 ceil/floor/trunc/nearest opcodes
Signed-off-by: Wenyong Huang <wenyong.huang@intel.com >
2020-12-16 15:33:25 +08:00
Wenyong Huang and GitHub
16e6f41b3a
Fix wamr compiler issues and refine some error messages ( #470 )
...
Fix potential memory leak issue when using llvm::EngineBuilder().selectTarget()
Fix issue of accessing aot_value's fields after it is freed
Fix JIT not print failed to link import warning
Change some error messages: 'fail to' to 'failed to'
Update error message when SIMD isn't enabled
Fix install littlevgl wasm app of wasi version failed
Signed-off-by: Wenyong Huang <wenyong.huang@intel.com >
2020-12-15 13:05:39 +08:00
Xu Jun and GitHub
a84d51271c
Support AssemblyScript's new/retain/release APIs ( #460 )
2020-12-07 16:37:49 +08:00
Wenyong Huang and GitHub
282831eba5
Fix some compilation warnings and add esp-idf platform for experiment ( #454 )
...
And fix some code indent issues.
2020-11-30 16:03:51 +08:00
Wenyong Huang and GitHub
74be7a0b7c
Add more checks to enhance security ( #446 )
...
add more checks to enhance security
clear "wasi proc exit" exception before return to caller in wasm/aot call functions
fix memory profiling issue
change movdqa to movdqu in simd invokeNative asm codes to fix issue of unaligned address access
move setjmp/longjmp from libc-builtin to libc-emcc
fix zephyr platform compilation issue in latest zephyr version
2020-11-24 14:00:09 +08:00
Wenyong Huang and GitHub
a3074df21b
Import SIMD feature and add some workload samples ( #438 )
2020-11-05 18:15:15 +08:00
Wenyong Huang and GitHub
91b9458ebd
Add more checks to enhance app heap's security ( #428 )
2020-10-22 18:52:33 +08:00
lum1n0us and GitHub
4787b150b8
Enable multi-module support for wasm-c-api ( #426 )
...
it is allowed that all imported functions and globals can be
linked by multi-module feature automatically or by wasm-c-api manually
2020-10-16 17:43:57 +08:00
YAMAMOTO Takashi and GitHub
f7903caa65
wasm_loader_ctx_init: Don't use false as a pointer ( #422 )
2020-10-13 14:13:30 +08:00
Xiaokang Qin and GitHub
c83a5713f9
Add the fast-interp tail call support ( #409 )
...
And also fix one bug in loader for tail-call
Signed-off-by: Xiaokang Qin <xiaokang.qxk@antgroup.com >
2020-09-29 10:35:10 +08:00
Xu Jun and GitHub
c13746c22c
move memory_data out from MemoryInstance, add call stack ( #408 )
2020-09-28 18:38:15 +08:00
0bf7f7310b
Add NULL check for memory inst in aot/wasm module malloc/free ( #403 )
...
* Add NULL check for memory page in aot/wasm module malloc/free
Signed-off-by: Huang Qi <huangqi3@xiaomi.com >
* Update aot_runtime.c
* Update wasm_runtime.c
Co-authored-by: Huang Qi <huangqi3@xiaomi.com >
Co-authored-by: Wenyong Huang <wenyong.huang@intel.com >
2020-09-28 12:44:23 +08:00
Xu Jun and GitHub
4bfcbc2cab
fix problem about local in fast-interp ( #406 )
2020-09-27 18:05:20 +08:00
a70daed17d
Add the tail-call feature support for classic-interp ( #401 )
...
* Add the tail-call feature support for classic-interp
Signed-off-by: Xiaokang Qin <xiaokang.qxk@antgroup.com >
* add CI for tail call and custom name section
* add CI for tail call and custom name section
* update CI for mac
Co-authored-by: Xu Jun <693788454@qq.com >
2020-09-24 12:38:54 +08:00
Wenyong Huang and GitHub
a3d374eb57
Fix jit target arch not set issue and custom name section typo issue ( #400 )
...
And set target machine's cpu to host cpu when creating JIT execution engine.
Signed-off-by: Wenyong Huang wenyong.huang@intel.com
2020-09-24 11:21:20 +08:00
a7e7711f63
Add the support for custom name section ( #398 )
...
Add the function name field for internal function struct
Signed-off-by: Zhongmin Wu <vwzm@live.com >
Signed-off-by: Xiaokang Qin <xiaokang.qxk@antgroup.com >
Co-authored-by: Zhongmin Wu <vwzm@live.com >
2020-09-23 16:12:09 +08:00
a290aaf93e
Fix wasm loader malloc(0) issue which returns NULL is some platforms ( #397 )
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com >
Co-authored-by: Huang Qi <huangqi3@xiaomi.com >
2020-09-23 15:54:22 +08:00
Wenyong Huang and GitHub
e501a6963b
Fix some coding style issues, fix doc typo and refine some codes ( #392 )
2020-09-20 08:20:45 +08:00
Xiaokang Qin and GitHub
7c8ccc7c26
Fix the build warnings on Mac ( #388 )
...
Signed-off-by: Xiaokang Qin <xiaokang.qxk@antgroup.com >
2020-09-18 18:22:26 +08:00
Xiaokang Qin and GitHub
2d06567cd1
Reimplement the utf8 string check ( #389 )
...
Previous implementation doesn't take care of overlong encoding
Signed-off-by: Xiaokang Qin <xiaokang.qxk@antgroup.com >
2020-09-18 18:06:13 +08:00
Xu Jun and GitHub
0226dbbb3d
introduce WAMR memory profiling tool (experimental) ( #390 )
2020-09-18 18:04:56 +08:00
Xu Jun and GitHub
2135badc54
fix problem in wasm_module_malloc ( #374 )
2020-09-07 17:32:00 +08:00
Wenyong Huang and GitHub
034606b0a9
Change wasm app offset type from int32 to uint32 ( #361 )
...
And fix some sign/unsigned conversion compilation warnings.
2020-08-26 18:33:29 +08:00
Wenyong Huang and GitHub
0103f6429c
Refactor error/exception strings to reduce binary size ( #359 )
2020-08-21 15:11:31 +08:00
Wenyong Huang and GitHub
89d2937cde
Refactor app heap and memory boundary check, and fix os_printf compilation error ( #356 )
...
Insert app heap before __heap_base, or before new page
Fix os_printf compilation error in some platforms
2020-08-20 12:43:12 +08:00
Xu Jun and GitHub
6b5f376e79
fix issue in mini-loader ( #353 )
2020-08-14 19:58:19 +08:00
Xu Jun and GitHub
6aeefbebb2
implement atomics opcodes for interpreter ( #344 )
2020-08-10 19:43:58 +08:00
Xu Jun and GitHub
29e45e1527
implement atomic opcode in AOT/JIT ( #329 )
2020-08-03 11:30:26 +08:00
Wenyong Huang and GitHub
93ca9d8c62
Disable memory shrink opt when memory.size opcode is found ( #323 )
2020-07-30 10:18:55 +08:00
Wenyong Huang and GitHub
056b824ac4
Fix fast interpreter i64 shift issue for non-x86 arch ( #319 )
2020-07-28 13:46:37 +08:00
lum1n0us and GitHub
08d01b65c5
Eable post-MVP feature wasm-c-api ( #315 )
2020-07-23 16:54:13 +08:00
Xu Jun and GitHub
32b2943369
enable pthread for AoT && update AOT current version to 2 ( #311 )
2020-07-16 20:35:04 +08:00
Weining and GitHub
1a85051415
Implement multi-value feature and import binarydump tool ( #308 )
2020-07-10 16:29:15 +08:00
wenyongh and GitHub
847dccaa34
Refine get/set global opcodes for interpreter ( #294 )
2020-06-29 14:17:27 +08:00
wenyongh and GitHub
ee315e4049
Implement memory access bound check with hardware trap for 64-bit platforms ( #293 )
...
Also implement native stack overflow check with hardware trap for 64-bit platforms
Refine classic interpreter and fast interpreter to improve performance
Update document
2020-06-28 15:41:25 +08:00
Xu Jun and GitHub
d98ab63e5c
Enable shared memory && add pthread support ( #282 )
2020-06-15 19:04:04 +08:00
wenyongh and GitHub
10980a1dd7
Fix app manager parse applet name issue ( #280 )
2020-06-11 14:19:55 +08:00
wenyongh and GitHub
7a287fd1a9
Implement wasm mini loader and refine footprint of loader and runtime ( #276 )
2020-06-08 11:19:09 +08:00
wenyongh and GitHub
752826a667
Implement multi-module feature and bulk-memory feature ( #271 )
...
Refine wasm loader and aot loader
Fix potential issue of os_mmap/os_munmap
Update document
2020-06-02 14:53:06 +08:00
wenyongh and GitHub
a0bb761beb
Update API comments, refine footprint of wasm loader ( #256 )
...
and fix issues of get native stack boundary
2020-05-15 17:44:36 +08:00
wenyongh and GitHub
44ccfd20ad
Fix issue of condition settings of app boundary check ( #249 )
2020-05-08 13:34:07 +08:00
wenyongh and GitHub
e8e45aeecd
Refine aot stack overflow check and enhance wasm loader malformed checks ( #248 )
...
And separate global data from wasm memory instance
2020-05-08 12:38:59 +08:00
wenyongh and GitHub
d381b0fdec
Implement post-MVP features and native stack overflow check ( #243 )
...
Implement native thread stack overflow check
Implement post-MVP: Non-trapping float-to-int conversions
Implement post-MVP: Sign-extension operators
Enhance WASM loader checks
2020-04-30 17:52:11 +08:00
Lei Zhang and GitHub
ab4f0c5419
bugfix: check type for opcode block, loop and if ( #238 ) ( #239 )
...
Otherwise a block opcode with invalid type signature could crash the
wasm loader.
2020-04-25 11:48:24 +08:00