Improved
RV64 support
Deprecates RV32IM in favor of the RV64IMAC instruction set
What's Changed
- feat: modify small value optimization to work with RV64 by @quangvdao in https://github.com/a16z/jolt/pull/819
- Add Keccak256 inline, ANDN op to tracer by @danielwlz in https://github.com/a16z/jolt/pull/829
- feat: change divisor + andn instructions by @markosg04 in https://github.com/a16z/jolt/pull/837
- feat: Add RISC-V architecture test support by @zouguangxian in https://github.com/a16z/jolt/pull/839
- fix: Fix RV32imac and RV64imac architecture test failures by @zouguangxian in https://github.com/a16z/jolt/pull/842
- feat: Add automated RISC-V architecture testing workflow by @zouguangxian in https://github.com/a16z/jolt/pull/844
- chore: add-riscv-arch-test-submodule by @zouguangxian in https://github.com/a16z/jolt/pull/850
- Add inline_helpers module and SHA2 tests by @danielwlz in https://github.com/a16z/jolt/pull/838
- Move keccak256 to its jolt-inlines own crate, reinstate sha2 tests by @danielwlz in https://github.com/a16z/jolt/pull/857
- Virtual registers allocator by @0xAndoroid in https://github.com/a16z/jolt/pull/867
- Fix SHA2-256 inline for RV64 by @danielwlz in https://github.com/a16z/jolt/pull/866
- refactor: optimize ELF processing by using references instead of owned vectors by @zouguangxian in https://github.com/a16z/jolt/pull/874
- feat: make R1CS constraints compile-time constants by @quangvdao in https://github.com/a16z/jolt/pull/879
- feat: stream R1CS witness instead of materializing
input_polysby @quangvdao in https://github.com/a16z/jolt/pull/881 - Use assembler in inline sequences by @0xAndoroid in https://github.com/a16z/jolt/pull/888
- Feat/inline sequence fuzzer by @0xAndoroid in https://github.com/a16z/jolt/pull/890
- fix: modify matching values for several RISC-V instructions by @zouguangxian in https://github.com/a16z/jolt/pull/907
- [JOLT-199] fix:
commit_rowsstack overflow by @moodlezoup in https://github.com/a16z/jolt/pull/914 - [JOLT-129] Omid/inline bigint by @omibo in https://github.com/a16z/jolt/pull/906
- Feat/batched sumcheck mem by @0xAndoroid in https://github.com/a16z/jolt/pull/916
- feat: enhance RISC-V decoder and cargo execution logging by @zouguangxian in https://github.com/a16z/jolt/pull/913
- [JOLT-200] [JOLT-201] Omid/refactor inlines by @omibo in https://github.com/a16z/jolt/pull/922
- BLAKE2b and BLAKE3 Inlines by @omibo in https://github.com/a16z/jolt/pull/928
- More parallelism in compute_claimed_witness_evals by @moodlezoup in https://github.com/a16z/jolt/pull/930
- [JOLT-207] Ref/cleanup inlines by @0xAndoroid in https://github.com/a16z/jolt/pull/929
- [JOLT-212] Optimize
init_Qby @moodlezoup in https://github.com/a16z/jolt/pull/933 - fix: rename jolt-core features and fix arkworks by @sagar-a16z in https://github.com/a16z/jolt/pull/937
- perf: booleanity memory optimization [JOLT-206] by @0xAndoroid in https://github.com/a16z/jolt/pull/936
- feat: add a trace-only mode to the recursion example by @sagar-a16z in https://github.com/a16z/jolt/pull/939
- Omid/inline blake2 rv64 by @omibo in https://github.com/a16z/jolt/pull/938
- fix: relocation R_RISCV_HI20 out of range by @zouguangxian in https://github.com/a16z/jolt/pull/943
- feat: Add custom getrandom backend for RISC-V bare-metal targets by @zouguangxian in https://github.com/a16z/jolt/pull/944
- chore(example): add recover-ecdsa example with ECDSA recovery functionality by @zouguangxian in https://github.com/a16z/jolt/pull/945
- nit: jolt_prints fallback to println by @sagar-a16z in https://github.com/a16z/jolt/pull/946
- Revert "feat: Add custom getrandom backend for RISC-V bare-metal targets" by @0xAndoroid in https://github.com/a16z/jolt/pull/948
- Chore/rm fixtures by @0xAndoroid in https://github.com/a16z/jolt/pull/952
- feat: decreasing Number of Virtual Registers for DIV, MUL, REM by @omibo in https://github.com/a16z/jolt/pull/947
- Omid/inline blake3 keyed rv64 by @omibo in https://github.com/a16z/jolt/pull/951
- Shared EQ(r_cycle, j) state for Stage 5 by @moodlezoup in https://github.com/a16z/jolt/pull/953
- chore: support custom getrandom backend for RISC-V bare-metal targets by @zouguangxian in https://github.com/a16z/jolt/pull/950
- Implement optimized large degree sumcheck by @andrewmilson in https://github.com/a16z/jolt/pull/949
- feat: backtrace support for tracer by @sagar-a16z in https://github.com/a16z/jolt/pull/956
- Restore SVO to Spartan via types & custom evaluations by @quangvdao in https://github.com/a16z/jolt/pull/903
- [JOLT-159] [JOLT-158] Chore/cleanup by @0xAndoroid in https://github.com/a16z/jolt/pull/955
- Fix/jolt book rv64 by @0xAndoroid in https://github.com/a16z/jolt/pull/959
- [JOLT-133] Add REV8W virtual instruction by @andrewmilson in https://github.com/a16z/jolt/pull/958
- Remove is_virtual from declare_riscv_instr! macro by @andrewmilson in https://github.com/a16z/jolt/pull/960
- chore: suggest enabling JOLT_BACKTRACE when not enabled by @sagar-a16z in https://github.com/a16z/jolt/pull/966
- [JOLT-208] docs: add comprehensive inline_sequence documentation for RISC-V inst… by @0xAndoroid in https://github.com/a16z/jolt/pull/961
- [JOLT-114] Feat/tracing logs by @0xAndoroid in https://github.com/a16z/jolt/pull/962
- feat: add malloc shim for C library compatibility in no_std environment by @zouguangxian in https://github.com/a16z/jolt/pull/964
- feat: squash new prover in instruction read raf checking by @quangvdao in https://github.com/a16z/jolt/pull/963
- Use split Eq poly optimization for MLEs product sumcheck by @andrewmilson in https://github.com/a16z/jolt/pull/965
- Feat/delayed reduction by @0xAndoroid in https://github.com/a16z/jolt/pull/970
- Parallelize over lookup indices when initializing suffix polys by @moodlezoup in https://github.com/a16z/jolt/pull/973
- [JOLT-166] RV64 by @0xAndoroid in https://github.com/a16z/jolt/pull/805
New Contributors
- @danielwlz made their first contribution in https://github.com/a16z/jolt/pull/829
- @andrewmilson made their first contribution in https://github.com/a16z/jolt/pull/949
Full Changelog: https://github.com/a16z/jolt/compare/v0.2.2-alpha...v0.3.0-alpha