Commit Graph

65 Commits

Author SHA1 Message Date
a84d51271c Support AssemblyScript's new/retain/release APIs (#460) 2020-12-07 16:37:49 +08:00
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
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
a3074df21b Import SIMD feature and add some workload samples (#438) 2020-11-05 18:15:15 +08:00
91b9458ebd Add more checks to enhance app heap's security (#428) 2020-10-22 18:52:33 +08:00
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
f7903caa65 wasm_loader_ctx_init: Don't use false as a pointer (#422) 2020-10-13 14:13:30 +08:00
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
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
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
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
e501a6963b Fix some coding style issues, fix doc typo and refine some codes (#392) 2020-09-20 08:20:45 +08:00
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
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
0226dbbb3d introduce WAMR memory profiling tool (experimental) (#390) 2020-09-18 18:04:56 +08:00
2135badc54 fix problem in wasm_module_malloc (#374) 2020-09-07 17:32:00 +08:00
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
0103f6429c Refactor error/exception strings to reduce binary size (#359) 2020-08-21 15:11:31 +08:00
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
6b5f376e79 fix issue in mini-loader (#353) 2020-08-14 19:58:19 +08:00
6aeefbebb2 implement atomics opcodes for interpreter (#344) 2020-08-10 19:43:58 +08:00
29e45e1527 implement atomic opcode in AOT/JIT (#329) 2020-08-03 11:30:26 +08:00
93ca9d8c62 Disable memory shrink opt when memory.size opcode is found (#323) 2020-07-30 10:18:55 +08:00
056b824ac4 Fix fast interpreter i64 shift issue for non-x86 arch (#319) 2020-07-28 13:46:37 +08:00
08d01b65c5 Eable post-MVP feature wasm-c-api (#315) 2020-07-23 16:54:13 +08:00
32b2943369 enable pthread for AoT && update AOT current version to 2 (#311) 2020-07-16 20:35:04 +08:00
1a85051415 Implement multi-value feature and import binarydump tool (#308) 2020-07-10 16:29:15 +08:00
847dccaa34 Refine get/set global opcodes for interpreter (#294) 2020-06-29 14:17:27 +08:00
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
d98ab63e5c Enable shared memory && add pthread support (#282) 2020-06-15 19:04:04 +08:00
10980a1dd7 Fix app manager parse applet name issue (#280) 2020-06-11 14:19:55 +08:00
7a287fd1a9 Implement wasm mini loader and refine footprint of loader and runtime (#276) 2020-06-08 11:19:09 +08:00
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
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
44ccfd20ad Fix issue of condition settings of app boundary check (#249) 2020-05-08 13:34:07 +08:00
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
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
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
f72e848114 Refine aot memory boundary check, add more llvm passes (#236)
Fix issue of some error info mismatch with spec cases
2020-04-22 18:43:50 +08:00
b40e79c160 Make heap and linear memory contiguous to refine compilation time and footprint (#233)
Use FastISel for JIT mode
Use united aot version in aot file and aot runtime
Disable check signature failed warning for wamrc
Fix fast interpreter x86_32 float issue
Remove unused empty lvgl folder
2020-04-13 10:49:40 +08:00
5e196253f6 Fix function type not set issue of aot_call_indirect (#229)
Add registration of libc-wasi to 'wasi_snapshot_preview1' to support cargo-wasi
change zephyr build method from cmake to west
fix problem when preserve space for local vars
fix wasi authority problem
2020-04-07 11:04:46 +08:00
c1a0e6d877 Implement register/call native API with raw (unextracted) arguments (#222) 2020-04-01 12:52:08 +08:00
d9890d2ccb re-org ems mem allocator source codes, update prot_wamr.md (#217) 2020-03-30 11:06:39 +08:00
75009a2421 fix sgx compile and link error, preserve space for locals before set/tee opcode (#214)
Co-authored-by: Xu Jun <jun1.xu@intel.com>
2020-03-27 09:28:30 +08:00
e07381c4a8 Fix a WASM_OP_SET_LOCAL type check issue (#205) 2020-03-20 13:28:18 +08:00
c6042c45a3 Sync with internal feature (#204) 2020-03-18 17:49:23 +08:00