strontium 0.5.4

A generic low-level process virtual machine
Documentation

What is Strontium?

Strontium is an embeddable process virtual machine for dynamically and statically typed programming languages. This crate provides the VM along with a bytecode format and parser. Strontium aims to be lightweight and to provide as much freedom to the language implementor as possible.

Features

A checked box indicates an implemented feature.

  •  [ ✓ ]   Number arithmetic on Int, UInt and Float registers
  •  [ ✓ ]   Bitwise arithmetic (AND, OR, XOR, NOT, LSH, ...) on a sequence of bits
  •  [     ]    JIT-compile bytecode to machine code using Cranelift
  •  [     ]    Hardware Interrupts

Status

This project is still in an early stage of development. The current features work as expected, but there may be breaking changes in the future. Let's talk if you're interested on working on this project!

Tests

The following tests have been implemented:

  • bytecode::tests::convert_halt
  • bytecode::tests::convert_load
  • machine::tests::execute_add
  • machine::tests::execute_sub
  • machine::tests::execute_mul
  • machine::tests::execute_div
  • machine::tests::execute_halt
  • machine::tests::execute_load
  • machine::tests::execute_jump

License

Licensed under the MIT license.