github libriscv/libriscv v1.7
v1.7: Binary translation improvements, proxy mode

latest releases: v1.15, v1.14, v1.13...
14 months ago

This release especially improves libtcc-JIT by more than doubling it's performance. It also adds a proxy mode that takes away some of the sandboxing, allowing access to the host system. This mode makes it easier to run regular RISC-V programs from the CLI. There is also macOS support now. 👍

What's Changed

  • Add new Proxy Mode that disables most sandboxing features, but makes it easier to run most programs
  • Allow support for JIT-produced segments in the fast-path, making v8 and NodeJS faster to emulate
    • JIT-produced segments change while running, however it was possible to detect and reprocess the segments live
  • Add basic register caching and tracking in binary translation, more than doubling libtcc performance
    • Because the register caching is very basic, it adds general latency to libtcc, but it can be disabled at run-time if need be
  • Add a new noexcept build option to allow including all libriscv public headers in a project with C++ exceptions disabled
    • libriscv still needs C++ exceptions for robust sandboxing, but they can be caught at the border
  • Binary translation performance improvements, allowing it to reach 92% of native CoreMark up from 86%
  • MacOS support, thanks to @fire

PRs

Full Changelog: v1.6...v1.7

Don't miss a new libriscv release

NewReleases is sending notifications on new releases.