RISC-V: implement BCall for JIT via fallback
Closes RV-432
What
Complete wiring up of the JIT!
Why
So that we can later compare performance between the JIT and the non-JIT blocks
How
Add a new feature flag inline-jit to the sandbox (disabled by default).
Enabling this feature will compile with inline-jit for the run command.
Manually Testing
Edit sandbox/Cargo.toml to set the default features to include inline-jit - you can then run the benchmarking suite.
Integration into the Makefile and jstz-bench will follow separately.
Benchmarking
Benchmarking showed no performance change (with Interpreted blocks continuing to be the default for now).
Regressions
None, we now additionally test the same regression with InlineJit
Tasks for the Author
-
Link all Linear issues related to this MR using magic words (e.g. part of, relates to, closes). -
Eliminate dead code and other spurious artefacts introduced in your changes. -
Document new public functions, methods and types. -
Make sure the documentation for updated functions, methods, and types is correct. -
Add tests for bugs that have been fixed. -
Put in reasonable effort to ensure that CI will pass. make -C src/riscvdune build src/lib_riscvdune build src/rust_deps
-
Benchmark performance and populate the table above if needed. -
Explain changes to regression test captures when applicable. -
Write commit messages to reflect the changes they're about. -
Self-review your changes to ensure they are high-quality. -
Complete all of the above before assigning this MR to reviewers.
Edited by Emma Turner