Commit Graph

264 Commits

Author SHA1 Message Date
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
2f530e67fc Fix app manager install atomics app issue and optimize workload scripts (#458) 2020-12-04 15:35:45 +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
892af84161 Update sample workload wasm-av1 and add workload XNNPACK (#443) 2020-11-13 17:53:23 +08:00
a3074df21b Import SIMD feature and add some workload samples (#438) 2020-11-05 18:15:15 +08:00
ad4aa9a85f Update build script to enable running tensorflow workload in linux-sgx (#435) 2020-10-29 03:33:49 +00:00
c515fb1b75 Add tensorflow sample under samples/workload/tensorflow (#427) 2020-10-22 16:18:37 +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
264e189690 Add Windows support for C-API and Runtime API libraries and examples. (#379)
* Add Windows support for C-API and Runtime API libraries and examples.

Signed-off-by: Wu Zhongmin <vwzm@live.com>
Signed-off-by: Xiaokang Qin <xiaokang.qxk@antgroup.com>

* Address the review comments

Signed-off-by: Xiaokang Qin <xiaokang.qxk@antgroup.com>

* Rewrite the the bh_getopt to make it avaliable for more kinds of options

Signed-off-by: Wu Zhongmin <vwzm@live.com>
Signed-off-by: Xiaokang Qin <xiaokang.qxk@antgroup.com>

* Add the license header

Signed-off-by: Xiaokang Qin <xiaokang.qxk@antgroup.com>

Co-authored-by: Zhongmin Wu <vwzm@live.com>
2020-09-11 17:36:04 +08:00
2e0cef3ef1 fix exec_env not checked issue, export __heap_base and __data_end in sample to decrease memory usage (#371) 2020-09-05 14:48:08 +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
049760b849 Fix the build issues on mac for some samples (#358)
Fix the build issues on mac for basic/multi-module/multi-thread/
simple/spawn-thread/wasm-c-api under samples.
And all these samples could be run as expected.

Signed-off-by: Xiaokang Qin <xiaokang.qxk@antgroup.com>
2020-08-21 15:14:04 +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
2db335c6d4 add spawn thread API and sample (#333) 2020-08-04 17:40:45 +08:00
08d01b65c5 Eable post-MVP feature wasm-c-api (#315) 2020-07-23 16:54:13 +08:00
548926ab1a Rename "master" branch to "main"
Update all links accordingly. Also update links to other repositories
whose branches have renamed.

The references to repositories whose branches have not renamed should be
referencing specific commits anyway, so reference those specific commits
by hash.
2020-06-27 02:39:47 -07:00
d98ab63e5c Enable shared memory && add pthread support (#282) 2020-06-15 19:04:04 +08:00
5d86060d35 fix one typo in samples/basic.README.md (#274) 2020-06-03 15:17:22 +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
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
f8442340fe littlevgl sample update (#235) 2020-04-22 11:02:55 +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
ffd975d2d6 Fix zephyr samples build issue caused by zephyr kernel API update (#232)
* Clean compiling warnings of zephyr samples

* Support xtensa AOT and fix build issue of alios

* Refine wgl native functions call

* Fix zephyr samples build issue caused by zephyr kernel API update
2020-04-13 07:46:16 +08:00
bf8fbee92e Refactor the wasm graphic layer (wgl) and the gui sample (#231) 2020-04-12 16:30:01 +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
30bab1bcc3 update basic sample to align with native registration API changes (#5) (#224)
Change-Id: Iec565f7dd09c14ee5c0f8732f86ff0d2cc094a4d
2020-04-02 14:36:02 +08:00
01e85144f4 Enable aarch64 support, add component test framework and test suite (#211)
and refine aot call indirect op
2020-03-24 19:04:29 +08:00
b21ea2f10b Fixed a bug in simple project building when passing "-p profile" as argument to build.sh; add two more 3rd party folders into git.ignore to avoid merge failure (#209)
* add 3rd party folders which are downloaded during building into git ignore configuration file.

Change-Id: I5a5d913b701bcf6889d89706df65a22c366e24af

Co-authored-by: luc <luc@luc-ubuntu19.bj.intel.com>
2020-03-23 12:05:25 +08:00
67495919b0 Add a basic sample to show how native runtime invokes wasm apps in WAMR and how wasm apps invoke native functions. (#207)
* Add printingAdd print time for wamrc, fix posix mmap bug time for wamrc, fixed a posix mmap bug.

Change-Id: Ib6517b8a69cf022a1a6a74efa1f98155aec143bc

* Add a basic sample to show how native runtime invokes wasm app in WAMR, and how wasm app invokes native functions.

Change-Id: I700ae413ad5e9ea04540d5187952305e1ee92d73
2020-03-20 16:39:13 +08:00
2a74e2dd29 Clean compiling warnings of zephyr samples (#202) 2020-03-17 11:20:00 +08:00
f1a0e75ab7 re-org platform APIs, simplify porting process (#201)
Co-authored-by: Xu Jun <jun1.xu@intel.com>
2020-03-16 16:43:57 +08:00
aa42335a4e minor changes (#195) 2020-03-11 13:49:52 +08:00
0fdd49ea31 Re-org memory allocation interfaces, add --stack-size and --heap-size option (#193) 2020-03-10 19:54:44 +08:00
cfcaca3d35 Refine build script of zephyr product-mini, enable aot soft-float support (#188) 2020-03-05 21:46:24 +08:00
0d3f304191 Implement native function pointer check, addr conversion and register, update documents (#185)
Modified WASM runtime API:
- wasm_runtime_module_malloc()
- wasm_runtime_lookup_function()
Introduced runtime API
- wasm_runtime_register_natives()
2020-03-04 20:12:38 +08:00
9a961c4843 Enable ARM and THUMB AOT support, enable Android platform support (#182)
* Sync with internal/feature: enable arm aot and android platform
2020-02-27 16:38:44 +08:00
dc7177e745 fix sample littlevgl build.sh issue (#174) 2020-02-23 22:23:40 +08:00
3695f29d34 support cross compliation for SDK and the simple sample (#172) 2020-02-22 15:06:53 +08:00
82b0bb44c3 sdk build tools and app framework updates (#171) 2020-02-22 10:12:26 +08:00
256ecdfdf9 Refine interpreter to improve performance, refine memory usage (#161) 2020-02-10 12:36:45 +08:00
46b93b9d22 Enable AoT and wamr-sdk, and change arguments of call wasm API (#157)
* Implement memory profiler, optimize memory usage, modify code indent

* Implement memory.grow and limit heap space base offset to 1G; modify iwasm build type to Release and 64 bit by default

* Add a new extension library: connection

* Fix bug of reading magic number and version in big endian platform

* Re-org platform APIs: move most platform APIs from iwasm to shared-lib

* Enhance wasm loader to fix some security issues

* Fix issue about illegal load of EXC_RETURN into PC on stm32 board

* Updates that let a restricted version of the interpreter run in SGX

* Enable native/app address validation and conversion for wasm app

* Remove wasm_application_exectue_* APIs from wasm_export.h which makes confused

* Refine binary size and fix several minor issues

Optimize interpreter LOAD/STORE opcodes to decrease the binary size
Fix issues when using iwasm library: _bh_log undefined, bh_memory.h not found
Remove unused _stdin/_stdout/_stderr global variables resolve in libc wrapper
Add macros of global heap size, stack size, heap size for Zephyr main.c
Clear compile warning of wasm_application.c

* Add more strict security checks for libc wrapper API's

* Use one libc wrapper copy for sgx and other platforms; remove bh_printf macro for other platform header files

* Enhance security of libc strcpy/sprintf wrapper function

* Fix issue of call native for x86_64/arm/mips, add module inst parameter for native wrapper functions

* Remove get_module_inst() and fix issue of call native

* Refine wgl lib: remove module_inst parameter from widget functions; move function index check to runtime instantiate

* Refine interpreter call native process, refine memory boudary check

* Fix issues of invokeNative function of arm/mips/general version

* Add a switch to build simple sample without gui support

* Add BUILD_TARGET setting in makefile to replace cpu compiler flags in source code

* Re-org shared lib header files, remove unused info; fix compile issues of vxworks

* Add build target general

* Remove unused files

* Update license header

* test push

* Restore file

* Sync up with internal/feature

* Sync up with internal/feature

* Rename build_wamr_app to build_wasm_app

* Fix small issues of README

* Enhance malformed wasm file checking
Fix issue of print hex int and implement utf8 string check
Fix wasi file read/write right issue
Fix minor issue of build wasm app doc

* Sync up with internal/feature

* Sync up with internal/feature: fix interpreter arm issue, fix read leb issue

* Sync up with internal/feature

* Fix bug of config.h and rename wasi config.h to ssp_config.h

* Sync up with internal/feature

* Import wamr aot

* update document

* update document

* Update document, disable WASI in 32bit

* update document

* remove files

* update document

* Update document

* update document

* update document

* update samples

* Sync up with internal repo
2020-01-21 13:26:14 +08:00
2b12e2c957 Add thumb target, implement xtensa invokeNative asm code and update makefiles (#151) 2019-12-24 11:09:54 +08:00
5875a37f34 Remove iwasm/runtime/platform src files, refine interpreter and fix issue of --repl option (#150) 2019-12-18 11:53:43 +08:00
631b7a2403 Enhance wasm loader and interpreter, enhance code security and update document (#149) 2019-12-13 15:30:30 +08:00
27f246b5f3 Enable WASI feature, enhance security and add SGX sample (#142)
Change emcc to clang
Refine interpreter to improve perforamnce
2019-11-20 21:16:36 +08:00
b0b0789dca Relicense to Apache-2.0 with the LLVM-exception (#137)
With agreement from contributors.
2019-11-12 07:45:21 +08:00
28993946ad Add BUILD_TARGET setting in makefile (#135) 2019-11-01 00:38:45 -05:00
2a8b1ef454 Remove the binding between current thread and module instance and bugs fix (#131)
Remove wasm_export_api.h that may confuse
Implement wasm_runtime_validate_app_str_addr()
Fix bugs of loader and pass more spec cases

Signed-off-by: Weining Lu <weining.x.lu@intel.com>
2019-10-11 15:25:23 +08:00
f8f61dc898 Add a switch to build simple sample without gui support (#126)
* Implement memory profiler, optimize memory usage, modify code indent

* Implement memory.grow and limit heap space base offset to 1G; modify iwasm build type to Release and 64 bit by default

* Add a new extension library: connection

* Fix bug of reading magic number and version in big endian platform

* Re-org platform APIs: move most platform APIs from iwasm to shared-lib

* Enhance wasm loader to fix some security issues

* Fix issue about illegal load of EXC_RETURN into PC on stm32 board

* Updates that let a restricted version of the interpreter run in SGX

* Enable native/app address validation and conversion for wasm app

* Remove wasm_application_exectue_* APIs from wasm_export.h which makes confused

* Refine binary size and fix several minor issues

Optimize interpreter LOAD/STORE opcodes to decrease the binary size
Fix issues when using iwasm library: _bh_log undefined, bh_memory.h not found
Remove unused _stdin/_stdout/_stderr global variables resolve in libc wrapper
Add macros of global heap size, stack size, heap size for Zephyr main.c
Clear compile warning of wasm_application.c

* Add more strict security checks for libc wrapper API's

* Use one libc wrapper copy for sgx and other platforms; remove bh_printf macro for other platform header files

* Enhance security of libc strcpy/sprintf wrapper function

* Fix issue of call native for x86_64/arm/mips, add module inst parameter for native wrapper functions

* Remove get_module_inst() and fix issue of call native

* Refine wgl lib: remove module_inst parameter from widget functions; move function index check to runtime instantiate

* Refine interpreter call native process, refine memory boudary check

* Fix issues of invokeNative function of arm/mips/general version

* Add a switch to build simple sample without gui support
2019-09-25 03:42:56 -05:00