5 dépôts
Tools for defining and modifying the internal layout of WebAssembly modules, including functions, globals, and imports.
Distinct from Language Module Definitions: Existing candidates refer to high-level language module definitions or UMD patterns, not the binary structural layout of Wasm.
Explore 5 awesome GitHub repositories matching programming languages & runtimes · WebAssembly Module Structural Definitions. Refine with filters or upvote what's useful.
WasmEdge is an extensible WebAssembly runtime that executes WebAssembly bytecode in a secure sandbox for cloud, edge, and embedded applications. It functions as a multi-language compiler, compiling applications written in Rust, JavaScript, Go, and Python into WebAssembly bytecode for sandboxed execution, and as a server-side JavaScript runtime that runs JavaScript programs with ES6 modules, NPM packages, and Node.js-compatible APIs. The runtime also serves as an AI inference runtime, executing AI models from JavaScript using WASI-NN plug-ins for inference tasks on personal devices and edge har
Reads and interprets the structure of WebAssembly bytecode files to extract their components.
Binaryen is a WebAssembly compiler toolchain and optimizer designed to transform, validate, and shrink binary modules. It provides a comprehensive intermediate representation framework that converts binary code into a single-assignment form to enable advanced program analysis and code transformation. The project includes a specialized transformation engine that applies iterative optimization passes to increase execution speed and reduce binary size. Additionally, it functions as a transpiler that translates WebAssembly binary modules into executable JavaScript for environments that lack nativ
Allows for the addition and removal of functions, global variables, imports, and exports to define the binary interface.
Le WebAssembly Binary Toolkit est une suite d'outils pour inspecter, valider et transformer des modules WebAssembly entre des représentations binaires et lisibles par l'homme. Il inclut un interpréteur basé sur une pile pour exécuter les modules et un transpiler qui convertit les fichiers binaires en code source C et en en-têtes. La boîte à outils fournit des utilitaires pour assembler du texte lisible en modules binaires et désassembler des fichiers binaires en texte. Elle dispose d'un formateur de texte pour normaliser les définitions en une représentation plate canonique et prend en charge la conversion de binaires en formats S-expression. Le projet couvre de larges domaines de capacités, notamment la manipulation binaire, comme la suppression des sections de métadonnées, et l'inspection de modules pour extraire des statistiques structurelles et des symboles de débogage. Il fournit également des outils de validation pour vérifier la conformité des binaires aux spécifications techniques et un environnement d'exécution pour la logique compatible WASI.
Analyzes the composition and metadata of binary files to extract internal structural definitions like functions and globals.
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.
Performs static validation of binary structure and type signatures to ensure compliance with WebAssembly specifications before execution.
c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte
Enables the definition of freestanding WebAssembly targets and the support for named modules via attributes.