Skip to content

acmpesuecc/aWASMe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

125 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aWASMe

A WASM interpreter with dual modes - one as a browser-based VM and one as a simulator for WASM. It uses a structured parsing and execution pipeline in C++ & emscripten, to load binary modules, validate and decode instructions, and simulate a full virtual machine directly in the browser.

Mentors

Mentees

Dependencies

  • Make
  • C++20
  • Emscripten compiler (emcc)

Build and run

For engine: make engine && ./engine.exe For parser: make parser && ./parser.exe "<path_to_wasm_file>"

Future improvements

  • Supporting tables, reference types
  • Adding support for exception handling instructions
  • Supporting SIMD vector instructions
  • Complete the simulator, which will allow users to step through the code as well as view WASM's various stacks and linear memory.

About

A WASM interpreter with dual modes working as a browser-based VM or an instruction-level simulation.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors