summaryrefslogtreecommitdiff
path: root/zjit/Cargo.toml
AgeCommit message (Collapse)Author
2025-12-10JITs: Drop cargo and use just rustc for release combo buildAlan Wu
So we don't expose builders to network flakiness which cannot be worked around using cargo's --offline flag.
2025-09-11ZJIT: Add support for stats_allocatorAiden Fox Ivey
* Using the shared jit crate, support for a single global_allocator can function * Solves --zjit-mem-size
2025-09-11ZJIT: Move jit.rs to ruby.rs and create a shared crate `jit`Aiden Fox Ivey
* ruby.rs should hold the main entrypoint to YJIT and ZJIT * The crate jit will hold code shared between them
2025-08-25ZJIT: Migrate to instaMax Bernstein
Migrate from expect-test to insta snapshot testing library. While expect-test is very small and has a limited surface, it does not handle nextest well; it while doing inline snapshot updates, it races other test processes to update the file, leading to frequent "Failed to process macro invocation" errors. insta handles this by doing batches; it writes to temporary files which can then be committed in a batch using `cargo insta review` or `INSTA_UPDATE=always`.
2025-07-16ZJIT: Have `make zjit-test` use the same Cargo features as minirubyAlan Wu
This is so that e.g. building with `--enable-zjit=dev` will test with the disassembly feature. It makes more sense, saves on build time and reveals that `backend::arm64::tests::sp_movements_are_single_instruction` was in fact failing with the `disasm` feature.
2025-05-15YJIT: ZJIT: Allow both JITs in the same buildAlan Wu
This commit allows building YJIT and ZJIT simultaneously, a "combo build". Previously, `./configure --enable-yjit --enable-zjit` failed. At runtime, though, only one of the two can be enabled at a time. Add a root Cargo workspace that contains both the yjit and zjit crate. The common Rust build integration mechanisms are factored out into defs/jit.mk. Combo YJIT+ZJIT dev builds are supported; if either JIT uses `--enable-*=dev`, both of them are built in dev mode. The combo build requires Cargo, but building one JIT at a time with only rustc in release build remains supported. Notes: Merged: https://github.com/ruby/ruby/pull/13262
2025-04-18Use expect-test for HIR testsMax Bernstein
This makes it easier to update cascading test failures while still making output reviewable in the PR. Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Bump to Rust 1.85.0, 2024 editionAlan Wu
Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Rename ir.rs to hir.rs to avoid namespace ambiguity with backendMaxime Chevalier-Boisvert
Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18add `make zjit-test`Alan Wu
Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18cargo:rustc-link-lib=static:-bundle needs 1.63Alan Wu
Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18can link and run `p RubyVM::ISeq`, hardcoded paths, needs more initAlan Wu
Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Try to use libcapstoneTakashi Kokubun
Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Overflow checks in release profile per traditionAlan Wu
Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Turn ZJIT into staticlibAlan Wu
Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18cargo initTakashi Kokubun
Notes: Merged: https://github.com/ruby/ruby/pull/13131