RvJIT is a rv64 jit engine and assembler written in rust.
Since this is only a library, there's no need to build it. If your are going to test it, see the following description.
Test scripts are generated from table. If you want to config the test, just modify the script/test.py
and re-generate test. Then,
cargo test
to perform all tests.
Most codes are auto-generated by scripts. If you want to add new instruction, modify rv*.txt
in script
. If you want to fix bugs and add new routine for code generation, modify script/generate.py
.
I don't think there's need apart from reading the RISCV ISA Manual
. If you want to read the specification, just go for the official webpage.
Additional documents for contribution and code generation can be found at docs
folder. If you like, follow current link to the main document: RvJIT Document.
We try to follow the order of riscv assembly language, which means things should be appeared in the following order:
rd, rs1, rd2