1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 07:27:45 +00:00
serenity/Userland/Libraries/LibWasm
Ali Mohammad Pur 056be42c0b LibWasm: Start implementing a naive bytecode interpreter
As the parser now flattens out the instructions and inserts synthetic
nesting/structured instructions where needed, we can treat the whole
thing as a simple parsed bytecode stream.
This currently knows how to execute the following instructions:
- unreachable
- nop
- local.get
- local.set
- {i,f}{32,64}.const
- block
- loop
- if/else
- branch / branch_if
- i32_add
- i32_and/or/xor
- i32_ne

This also extends the 'wasm' utility to optionally execute the first
function in the module with optionally user-supplied arguments.
2021-05-17 23:25:30 +02:00
..
AbstractMachine LibWasm: Start implementing a naive bytecode interpreter 2021-05-17 23:25:30 +02:00
Parser LibWasm: Do not resize() the function signature list to preallocate 2021-05-17 23:25:30 +02:00
Printer LibWasm: Start implementing a naive bytecode interpreter 2021-05-17 23:25:30 +02:00
CMakeLists.txt LibWasm: Add basic support for module instantiation and execution stubs 2021-05-13 19:44:32 +01:00
Constants.h LibWasm: Start implementing a basic WebAssembly binary format parser 2021-05-08 22:14:39 +02:00
Opcode.h LibWasm: Un-nest the structured instructions 2021-05-13 19:44:32 +01:00
Types.h LibWasm: Stub out/implement parsing of all ElementSection segments 2021-05-13 19:44:32 +01:00