91202 Commits

Author SHA1 Message Date
Takashi Kokubun
d550a9b124 Initialize dummy globals for tests 2025-04-18 21:52:58 +09:00
Takashi Kokubun
e543b6a030 Start compiling the actual IR 2025-04-18 21:52:58 +09:00
Takashi Kokubun
5f3ebd44de Add a comment to dump the actual structs 2025-04-18 21:52:58 +09:00
Takashi Kokubun
de8d4c83d8 Add --zjit-dump-ssa option 2025-04-18 21:52:58 +09:00
Max Bernstein
24cb2f6045 Set up locals in FrameState at function entry 2025-04-18 21:52:58 +09:00
Max Bernstein
721b919e17 Fix test for setlocal and getlocal 2025-04-18 21:52:58 +09:00
Alan Wu
ed2ff3bb4c zjit-ubuntu: remove continue on error for make zjit-test. Passes now 2025-04-18 21:52:58 +09:00
Takashi Kokubun
fc256fb6be Skip a failing cargo test 2025-04-18 21:52:58 +09:00
Takashi Kokubun
43bb240bbd Disable stub code execution for now 2025-04-18 21:52:58 +09:00
Maxime Chevalier-Boisvert
6de43bdc31 Mention rubyexplorer 2025-04-18 21:52:58 +09:00
Maxime Chevalier-Boisvert
8caed38244 Add some basic documentation for ZJIT 2025-04-18 21:52:58 +09:00
Max Bernstein
7017e2ba77 Compile sample exception code in ZJIT 2025-04-18 21:52:58 +09:00
Max Bernstein
c35931b5d5 Remove unused function 2025-04-18 21:52:58 +09:00
Max Bernstein
d9d167423f Fix locals propagation across edges 2025-04-18 21:52:58 +09:00
Max Bernstein
3d7e88ce44 Clarify operand order in binops 2025-04-18 21:52:58 +09:00
Max Bernstein
94496cd862 Test setlocal/getlocal 2025-04-18 21:52:58 +09:00
Max Bernstein
f4dc402e79 Add assert_matches! macro 2025-04-18 21:52:58 +09:00
Alan Wu
95904e2092 reorder libminiruby link flags. Now works on aarch64 linux 2025-04-18 21:52:58 +09:00
Alan Wu
42c1434f9b put libminiruby next to zjit-test 2025-04-18 21:52:58 +09:00
Alan Wu
3fbb4b0953 zjit-test requires cargo 2025-04-18 21:52:58 +09:00
Takashi Kokubun
78d60548ef Allow failing zjit-test on Linux 2025-04-18 21:52:58 +09:00
Takashi Kokubun
daced753a5 Fix YJIT references in comments 2025-04-18 21:52:58 +09:00
Takashi Kokubun
fa9713d59c Drop cargo build jobs
It doesn't seem important to keep `cargo build`-only jobs. The zjit-test
task should be covering most of what we wanted in the job now.
2025-04-18 21:52:58 +09:00
Alan Wu
1ac465f858 copyedit comment 2025-04-18 21:52:58 +09:00
Alan Wu
ea932d8735 Fix s/test-zjit/zjit-test/ 2025-04-18 21:52:58 +09:00
Alan Wu
b3ff735b2a CI: get cargo-nextest 2025-04-18 21:52:58 +09:00
Alan Wu
5627121ef9 fix typo to actually test zjit in zjit-macos 2025-04-18 21:52:58 +09:00
Alan Wu
b19dce1fba ci blindshot for make test-zjit 2025-04-18 21:52:57 +09:00
Alan Wu
20ec3c8033 add make zjit-test 2025-04-18 21:52:57 +09:00
Alan Wu
b30c8ddfc7 cargo:rustc-link-lib=static:-bundle needs 1.63 2025-04-18 21:52:57 +09:00
Alan Wu
4326b0cece boot_vm boots and runs 2025-04-18 21:52:57 +09:00
Alan Wu
ea9b23a2cb can link and run p RubyVM::ISeq, hardcoded paths, needs more init 2025-04-18 21:52:57 +09:00
Takashi Kokubun
bcf5c1cdc4 Generate working putnil-leave using the backend 2025-04-18 21:52:57 +09:00
Takashi Kokubun
7447513509 Rename codegen.rs to state.rs
since it's only about ZJITState at the moment. Because it's no longer
called "CodegenGlobals", we don't have any reason to keep it in
codegen.rs.
2025-04-18 21:52:57 +09:00
Takashi Kokubun
05c451343f Set up a CI for Arm64 macOS too 2025-04-18 21:52:57 +09:00
Takashi Kokubun
71d4cb3a8b Fix cargo test 2025-04-18 21:52:57 +09:00
Takashi Kokubun
9c267256d8 Stub YJIT-specific implementations in the backend 2025-04-18 21:52:57 +09:00
Takashi Kokubun
e28ab5480e Copy yjit/src/backend to zjit/src/backend 2025-04-18 21:52:57 +09:00
Max Bernstein
a990368668 Format some push_insn code 2025-04-18 21:52:57 +09:00
Max Bernstein
25b357294c Re-work CFG queueing 2025-04-18 21:52:57 +09:00
Max Bernstein
01fbd0d5ee Don't re-visit blocks 2025-04-18 21:52:57 +09:00
Max Bernstein
805c0baa39 Pass entire FrameState as block args 2025-04-18 21:52:57 +09:00
Max Bernstein
037e35ef59 Display IfTrue and Jump 2025-04-18 21:52:57 +09:00
Max Bernstein
3372c137a7 Create FrameStates with block params 2025-04-18 21:52:57 +09:00
Takashi Kokubun
d96cb4fe6f Move CodeBlock to asm module
The assembler does expect CodeBlock as the first argument of most
assembler functions, so it is a part of the assembler library.
2025-04-18 21:52:57 +09:00
Takashi Kokubun
90dd6f7e2a Check dump_disasm option before running disasm 2025-04-18 21:52:57 +09:00
Takashi Kokubun
0d791686f9 Fix configure for zjit-bindgen 2025-04-18 21:52:57 +09:00
Takashi Kokubun
c1199714ed Revert "Suppress ld's macOS version warnings"
This reverts commit 47b810cdb7b2604cf0e83a9e68ebc4a02dbc37db.

It seems to break the CI.
2025-04-18 21:52:57 +09:00
Takashi Kokubun
1906db9c78 Implement version string for ZJIT 2025-04-18 21:52:57 +09:00
Takashi Kokubun
6bc9e8e423 We don't need the result job for now 2025-04-18 21:52:57 +09:00