Skip to content
/ FlatRv Public

A cross-platform RISC-V interpreter that implements the RV32IMA instruction set.

License

Notifications You must be signed in to change notification settings

losfair/FlatRv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FlatRv

A cross-platform RISC-V interpreter that implements the RV32IMA instruction set.

Inspired by wasm3, FlatRv depends on compiler optimizations to convert tail calls into one single indirect branch, therefore preserving Rust's safety guarantee without giving up performance. FlatRv as an interpreter is very efficient. It takes ~3.5 seconds on an Intel i9-9900K CPU to calculate fib(40) with on-the-fly instruction decoding, compared to ~0.8 seconds on QEMU (RV32, TCG JIT) and ~2 seconds on wasm3 (WebAssembly, interpreter with a transforming pass).

Supports no_std.

About

A cross-platform RISC-V interpreter that implements the RV32IMA instruction set.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published