/rusty-vm

A virtual machine toolchain, including a bytecode assembler and a disassembler, and a native compiler.

Primary LanguageRustMIT LicenseMIT

Rusty Virtual Machine

A simple virtual machine and related tools, all written in Rust.
I created this project to learn more about virtual machines, compilers, assembly languages, and all things low level.

This is just an amateur project and should not be used in a production environment. There are a few known vulnerabilities, plus it's not very efficient compared to production-grade virtual machines.

Project structure

  • The vm directory contains the code for the virtual machine.
  • The assembler directory contains the code for the assembler.
    • asm_lib contains shared assembly libraries to include in the assembly source code.
  • The disassembler directory contains the code for the disassembler. (currently outdated)
  • The rust_vm_lib directory contains the code for the shared library used across all Rust tools.
  • The oxide directory contains an AOT compiler that compiles a custom language to the VM's bytecode.

License

This project is licensed under the MIT License - see the LICENSE file for details.