awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
wasm3 avatar

wasm3/wasm3

0
View on GitHub↗
7,936 stars·525 forks·C·MIT·4 vuestwitter.com/wasm3_engine↗

Wasm3

Wasm3 est un interpréteur WebAssembly conçu pour l'intégration dans des runtimes embarqués. Il permet l'exécution de logique binaire portable sur des microcontrôleurs et du matériel aux ressources limitées, offrant un support pour les modules qui utilisent le WebAssembly System Interface (WASI) pour interagir avec les ressources système.

Le runtime utilise une interprétation de bytecode basée sur des registres et une répartition directe pour mapper les registres virtuels aux registres CPU physiques. Il inclut une interface d'appel hôte pour mapper les importations aux fonctions C et utilise une validation de module statique pour garantir que le bytecode suit les règles de spécification avant l'exécution.

Le projet fournit une gestion des ressources via des limites d'allocation de mémoire linéaire et un comptage de gaz au niveau des instructions pour éviter les boucles infinies et l'épuisement du système. L'observabilité est gérée via le traçage d'exécution, la surveillance des flux et le profilage des opérations de l'interpréteur. Pour le développement et l'assurance qualité, le runtime inclut un REPL interactif et prend en charge le fuzzing guidé par la couverture.

Features

  • Microcontroller Execution - Interprets binary instructions across various microcontrollers and processor architectures for execution on embedded systems.
  • Register-Based Bytecode Interpretation - Translates bytecode into machine operations by mapping virtual registers to physical CPU registers for high-performance execution.
  • Host-Call Interfaces - Maps WebAssembly imports to C functions to allow guest modules to interact with the host system.
  • Runtime Embedding - Integrates a lightweight interpreter into existing software to enable the execution of portable binary formats.
  • Register-Based Bytecode - Employs a register-based bytecode architecture that maps virtual registers to physical CPU registers for improved performance.
  • Embedded WebAssembly Runtimes - Provides a high-performance WebAssembly runtime optimized for resource-constrained embedded hardware.
  • WASI Implementations - Implements the WebAssembly System Interface to enable portable binary modules to interact with system resources.
  • Bytecode Specification Validators - Performs static validation of binary structure and type signatures to ensure compliance with WebAssembly specifications before execution.
  • Execution Halting Limits - Constrains computational resource usage for modules and halts execution when predefined gas limits are exceeded.
  • Resource Metering - Implements instruction-level gas metering to track resource consumption and prevent infinite loops.
  • Linear Memory Managers - Manages a contiguous block of linear memory to represent the WebAssembly heap with security bounds checking.
  • WebAssembly Memory Allocators - Provides maximum memory allocation thresholds to ensure stable execution on resource-constrained embedded devices.
  • System Call Mapping - Translates standardized WASI system interface calls into host-specific operating system or hardware functions.
  • Direct-Threaded Interpreters - Uses a direct-threaded dispatch mechanism to optimize the bytecode interpreter loop by jumping directly to instruction handlers.
  • Computational Resource Limiting - Constrains memory usage and gas consumption to prevent infinite loops on embedded devices.
  • Language Implementations - High-performance WebAssembly interpreter.
  • Libraries - High-performance WebAssembly interpreter for embedded devices.
  • Runtime and Embeddings - High-performance, lightweight WebAssembly interpreter.

Historique des stars

Graphique de l'historique des stars pour wasm3/wasm3Graphique de l'historique des stars pour wasm3/wasm3

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait wasm3/wasm3 ?

Wasm3 est un interpréteur WebAssembly conçu pour l'intégration dans des runtimes embarqués. Il permet l'exécution de logique binaire portable sur des microcontrôleurs et du matériel aux ressources limitées, offrant un support pour les modules qui utilisent le WebAssembly System Interface (WASI) pour interagir avec les ressources système.

Quelles sont les fonctionnalités principales de wasm3/wasm3 ?

Les fonctionnalités principales de wasm3/wasm3 sont : Microcontroller Execution, Register-Based Bytecode Interpretation, Host-Call Interfaces, Runtime Embedding, Register-Based Bytecode, Embedded WebAssembly Runtimes, WASI Implementations, Bytecode Specification Validators.

Quelles sont les alternatives open-source à wasm3/wasm3 ?

Les alternatives open-source à wasm3/wasm3 incluent : janet-lang/janet — Janet is a Lisp-based dynamic programming language featuring a register-based bytecode virtual machine and an… bytecodealliance/wasm-micro-runtime. webassembly/wabt — The WebAssembly Binary Toolkit is a suite of tools for inspecting, validating, and transforming WebAssembly modules… micropython/micropython — MicroPython is a lean implementation of Python 3 optimized to run on microcontrollers and other resource-constrained… webassembly/wasi-sdk — The WASI SDK is a comprehensive compiler toolchain designed to transform C and C++ source code into portable,… mruby/mruby — mruby is a lightweight Ruby interpreter designed to be embedded into C applications. It compiles Ruby source code into…

Alternatives open source à Wasm3

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Wasm3.
  • janet-lang/janetAvatar de janet-lang

    janet-lang/janet

    4,308Voir sur GitHub↗

    Janet is a Lisp-based dynamic programming language featuring a register-based bytecode virtual machine and an embeddable scripting engine. It functions as a fiber-based concurrency runtime and includes a parsing engine based on Parsing Expression Grammars. The project is distinguished by its ability to be integrated into C or C++ applications via a minimal header interface. It utilizes a Lisp-style macro system for compile-time code transformation and employs prototype-based table inheritance for object-oriented behavior. The runtime covers a broad set of capabilities, including asynchronous

    Ccfunctional-languageimperative-language
    Voir sur GitHub↗4,308
  • bytecodealliance/wasm-micro-runtimeAvatar de bytecodealliance

    bytecodealliance/wasm-micro-runtime

    5,990Voir sur GitHub↗
    Caotassembly-scriptembedded
    Voir sur GitHub↗5,990
  • webassembly/wabtAvatar de WebAssembly

    WebAssembly/wabt

    8,038Voir sur GitHub↗

    The WebAssembly Binary Toolkit is a suite of tools for inspecting, validating, and transforming WebAssembly modules between binary and human-readable representations. It includes a stack-based interpreter for executing modules and a transpiler that converts binary files into C source code and headers. The toolkit provides utilities for assembling human-readable text into binary modules and disassembling binary files back into text. It features a text formatter for normalizing definitions into a canonical flat representation and supports the conversion of binaries into S-expression formats. T

    C++
    Voir sur GitHub↗8,038
  • micropython/micropythonAvatar de micropython

    micropython/micropython

    21,806Voir sur GitHub↗

    MicroPython is a lean implementation of Python 3 optimized to run on microcontrollers and other resource-constrained systems. It serves as a cross-platform embedded runtime and hardware abstraction layer, providing a firmware framework that maps high-level software commands to specific microcontroller registers across diverse processor architectures. The project functions as an embedded language interpreter that enables rapid prototyping on hardware through an interactive read-eval-print loop. It supports a wide range of target environments, including ARM, ESP32, STM32, RISC-V, and WebAssembl

    Cembeddedmicrocontrollermicropython
    Voir sur GitHub↗21,806
Voir les 30 alternatives à Wasm3→