4 releases

✓ Uses Rust 2018 edition

0.5.4 Feb 23, 2019
0.5.3 Dec 17, 2018
0.5.2 Dec 14, 2018
0.5.1 Dec 13, 2018

#19 in Emulators

Custom license

715 lines

Please note that this project is still in an early stage, expect breaking changes.

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.


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


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!


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


Licensed under the MIT license.