[go: up one dir, main page]

RISC-V: dispatch block via extern "C" fn

  • closes RV-594

What

Dispatch run_block via an extern "C" function pointer

Why

This allows the output of the JIT to be used for dispatch directly, rather than going through additional indirection (as was happening with a rust fn pointer).

How

Dispatch now allocates the result on the stack, and calls the function.

Manually Testing

make -C src/riscv all

Benchmarking

master This MR Improvement
AMD 64 Linux 5.568 TPS 5.559 TPS -0.2%
Benchmark Machine 4.028 TPS 4.018 TPS -0.2%

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