[go: up one dir, main page]

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/riscv
    • dune build src/lib_riscv
    • dune 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

Merge request reports

Loading