ristretto
v0.19.0
v0.19.0
May 18 2025 at 04:41 UTC
Added
- implement basic jit branch instructions
- enable creation of jit control flow graph blocks
- generate jit control flow graph using cranelift blocks
- optimize operand stack layout
- optimize jit Instruction::Return
- optimize operand stack to prevent allocation when not used; e.g. Object.<init>()
- implement jit operand stack
Fixed
- add jit cfg exception blocks
- add jit block support for ifnull and ifnonnull
- add jit control flow logic for if_acmpeq and if_acmpne
- correct lcmp, dcmpl, dcmpg, fcmpl, fcmpg to pass stack values through block params
- correct jit dcmpl, dcmpg, fcmpl, fcmpg to emit float instructions instead of int.
- correct jit invoke* instruction parameter processing
- correct jit field, invoke and stack simulation errors
Other
- minor jit readme update
- simplify jit stack implementations
- update to Rust 1.87.0
- improve jit instruction simulation test coverage
- refactor to use block params for OperandStack
- update jit operand stack to use cranelift stack slot
- only enable jit verifier when debug assertions are enabled
- update to clap=4.5.38, os_info=3.11.0, sysinfo=0.35.1, tempfile=3.20.0