| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| fib64 | 2025-06-27 | 5.1 kB | |
| fib | 2025-06-27 | 1.0 kB | |
| README.md | 2025-01-22 | 3.6 kB | |
| v1.12_ Faster loading times and bugfixes source code.tar.gz | 2025-01-22 | 2.1 MB | |
| v1.12_ Faster loading times and bugfixes source code.zip | 2025-01-22 | 2.3 MB | |
| Totals: 5 Items | 4.4 MB | 0 | |
It's a new release which coincides with a fix for an awful bug. Highlights:
- Loading programs is now 35-50% faster. See the thread on it for some initial benchmarks.
- Zig C++ toolchain now has Windows support.
- Zig C++ toolchain now has working C++ exceptions (fixed by an ELF loading issue).
- Trimmed the size of the overall emulator by at least 256 bytes. This resulted in reaching 2M req/s in the Drogon benchmark.
- You can now pass std::vector to vmcall(). The contents will be pushed on the stack and a pointer to the first element is put in an argument register.
- Added support for libtcc on macOS and Windows (although only Windows is properly tested).
- Added guest abstractions for C++ std::vector and std::string, which I've written about here.
- Added a RISCV_MACHINE_ALIGNMENT macro that can be overridden, for toolchains that don't have working aligned new/delete support.
- Fix a horrible conversion issue with FCVT.S.W and FCVT.S.WU. More information here.
What's Changed
- Move debug_printer into DebugMachine and RSPClient by @fwsGonzo in https://github.com/libriscv/libriscv/pull/262
- Don't push pre-loaded program headers on the stack by @fwsGonzo in https://github.com/libriscv/libriscv/pull/266
- Add Zig toolchain support for unit tests by @fwsGonzo in https://github.com/libriscv/libriscv/pull/268
- Simplify realize_fastsim a bit, making it potentially faster by @fwsGonzo in https://github.com/libriscv/libriscv/pull/270
- Add defines for major and minor version by @fwsGonzo in https://github.com/libriscv/libriscv/pull/272
- Remove binary translation register tracking (for now) by @fwsGonzo in https://github.com/libriscv/libriscv/pull/275
- Simplify TCC build script by @fwsGonzo in https://github.com/libriscv/libriscv/pull/274
- Add system include path for TCC on Linux by @fwsGonzo in https://github.com/libriscv/libriscv/pull/276
- Remove experimental timed VM calls by @fwsGonzo in https://github.com/libriscv/libriscv/pull/280
- Trim the size of the Machine structure a bit by @fwsGonzo in https://github.com/libriscv/libriscv/pull/281
- Stub ppoll on Windows, returning 0 by @fwsGonzo in https://github.com/libriscv/libriscv/pull/282
- Implement and stub a bunch of system calls on Windows by @fwsGonzo in https://github.com/libriscv/libriscv/pull/284
- Re-organize the gamedev example by @fwsGonzo in https://github.com/libriscv/libriscv/pull/285
- Add abstractions for arena-allocated objects with string and vector specializations by @fwsGonzo in https://github.com/libriscv/libriscv/pull/286
- Fix RSP Server using wrong format spec for 64bit variables on Win by @dedmen in https://github.com/libriscv/libriscv/pull/287
- Add GuestRef<T> abstraction and std::span support for GuestStdVector by @fwsGonzo in https://github.com/libriscv/libriscv/pull/288
- Use RISCV_MACHINE_ALIGNMENT macro to configure alignments by @fwsGonzo in https://github.com/libriscv/libriscv/pull/289
- Fix conversion issue with FCVT.S.W and FCVT.S.WU by @fwsGonzo in https://github.com/libriscv/libriscv/pull/290
New Contributors
- @dedmen made their first contribution in https://github.com/libriscv/libriscv/pull/287
Full Changelog: https://github.com/libriscv/libriscv/compare/v1.11...v1.12