MCPcopy Index your code
hub / github.com/bytecodealliance/wasm-micro-runtime

github.com/bytecodealliance/wasm-micro-runtime @WAMR-2.4.5

Chat with this repo
repository ↗ · DeepWiki ↗ · release WAMR-2.4.5 ↗ · + Follow
8,414 symbols 24,882 edges 745 files 749 documented · 9%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

WebAssembly Micro Runtime

A Bytecode Alliance project

Guide  Website  Chat

Build WAMR | Build AOT Compiler | Embed WAMR | Export Native API | Build Wasm Apps | Samples

WebAssembly Micro Runtime (WAMR) is a lightweight standalone WebAssembly (Wasm) runtime with small footprint, high performance and highly configurable features for applications cross from embedded, IoT, edge to Trusted Execution Environment (TEE), smart contract, cloud native and so on. It includes a few parts as below: - VMcore: A set of runtime libraries for loading and running Wasm modules. It supports rich running modes including interpreter, Ahead-of-Time compilation(AoT) and Just-in-Time compilation (JIT). WAMR supports two JIT tiers - Fast JIT, LLVM JIT, and dynamic tier-up from Fast JIT to LLVM JIT. - iwasm: The executable binary built with WAMR VMcore which supports WASI and command line interface. - wamrc: The AOT compiler to compile Wasm file into AOT file - Useful components and tools for building real solutions with WAMR vmcore: - App-framework: A framework for supporting APIs for the Wasm applications - App-manager: A framework for dynamical loading the Wasm module remotely - WAMR-IDE: An experimental VSCode extension for developping WebAssembly applications with C/C++

Key features

Wasm post-MVP features

Supported architectures and platforms

The WAMR VMcore supports the following architectures: - X86-64, X86-32 - ARM, THUMB (ARMV7 Cortex-M7 and Cortex-A15 are tested) - AArch64 (Cortex-A57 and Cortex-A53 are tested) - RISCV64, RISCV32 (RISC-V LP64 and RISC-V LP64D are tested) - XTENSA, MIPS, ARC

The following platforms are supported, click each link below for how to build iwasm on that platform. Refer to WAMR porting guide for how to port WAMR to a new platform. - Linux, Linux SGX (Intel Software Guard Extension), MacOS, Android, Windows, Windows (MinGW, MSVC) - Zephyr, AliOS-Things, VxWorks, NuttX, RT-Thread, ESP-IDF(FreeRTOS)

Getting started

Performance and memory

Project Technical Steering Committee

The WAMR PTSC Charter governs the operations of the project TSC. The current TSC members: - dongsheng28849455 - Dongsheng Yan, dongsheng.yan@sony.com - loganek - Marcin Kolny, mkolny@amazon.co.uk - lum1n0us - Liang Heliang.he@intel.com - no1wudi Qi Huang, huangqi3@xiaomi.com - qinxk-inter - Xiaokang Qinxiaokang.qxk@antgroup.com - ttrenner - Trenner, Thomastrenner.thomas@siemens.com - wei-tang - Wei Tangtangwei.tang@antgroup.com - wenyongh - Wenyong Huangwenyong.huang@intel.com - woodsmc - Woods, Chrischris.woods@siemens.com - xujuntwt95329 - Jun XuJun1.Xu@intel.com - xwang98 - Xin Wangxin.wang@intel.com (chair) - yamt - Takashi Yamamoto, yamamoto@midokura.com

License

WAMR uses the same license as LLVM: the Apache 2.0 license with the LLVM exception. See the LICENSE file for details. This license allows you to freely use, modify, distribute and sell your own products based on WAMR. Any contributions you make will be under the same license.

More resources

Extension points exported contracts — how you extend this code

ErrorDataType (Interface)
(no doc)
tests/fuzz/wasm-mutator-fuzz/portal/src/CardMenu.tsx
BuildArgs (Interface)
(no doc)
test-tools/wamr-ide/VSCode-Extension/src/extension.ts
DataType (Interface)
(no doc)
tests/fuzz/wasm-mutator-fuzz/portal/src/Descrpition.tsx
WasmDebugConfig (Interface)
(no doc)
test-tools/wamr-ide/VSCode-Extension/src/debugConfigurationProvider.ts
select_uuid (Interface)
(no doc)
tests/fuzz/wasm-mutator-fuzz/portal/src/Descrpition.tsx
OwnShellOption (Interface)
(no doc)
test-tools/wamr-ide/VSCode-Extension/src/taskProvider.ts

Core symbols most depended-on inside this repo

aot_set_last_error
called by 807
core/iwasm/compilation/aot.c
wasm_runtime_free
called by 571
core/iwasm/common/wasm_memory.c
wasm_set_exception
called by 276
core/iwasm/common/wasm_runtime_common.c
os_printf
called by 273
core/shared/platform/linux/platform_init.c
os_mutex_unlock
called by 259
core/shared/platform/riot/riot_thread.c
set_error_buf
called by 240
core/iwasm/interpreter/wasm_loader.c
wasm_runtime_malloc
called by 188
core/iwasm/common/wasm_memory.c
os_mutex_lock
called by 188
core/shared/platform/riot/riot_thread.c

Shape

Function 6,674
Class 967
Method 658
Enum 95
Route 10
Interface 6
Struct 3
TypeAlias 1

Languages

C67%
C++19%
Python13%
TypeScript1%
Go1%
C#1%

Modules by API surface

language-bindings/python/src/wamr/wasmcapi/binding.py331 symbols
core/iwasm/common/wasm_runtime_common.c255 symbols
core/iwasm/fast-jit/cg/x86-64/jit_codegen_x86_64.cpp240 symbols
core/iwasm/common/wasm_c_api.c183 symbols
language-bindings/python/wasm-c-api/tests/test_basic.py178 symbols
core/iwasm/interpreter/wasm_loader.c170 symbols
test-tools/wamr-ide/VSCode-Extension/formatters/rust.py125 symbols
core/iwasm/common/wasm_native.c124 symbols
core/iwasm/libraries/libc-wasi/sandboxed-system-primitives/src/posix.c123 symbols
core/iwasm/aot/aot_runtime.c121 symbols
core/iwasm/compilation/aot_emit_aot_file.c119 symbols
core/iwasm/libraries/libc-wasi/libc_wasi_wrapper.c115 symbols

For agents

$ claude mcp add wasm-micro-runtime \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact