91384 Commits

Author SHA1 Message Date
Takashi Kokubun
e4fc29785e Rename backend::Opnd to backend::lir::Opnd (https://github.com/Shopify/zjit/pull/13) 2025-04-18 21:52:58 +09:00
Takashi Kokubun
e68f5a1816 Add result CI job to enable auto-merge (https://github.com/Shopify/zjit/pull/12)
* Add `result` CI job to enable auto-merge

* Avoid triggering duplicated jobs on PRs

* Drop cancel-in-progress

We don't run as many jobs as ruby/ruby CI. We shouldn't need this here.

* Fix a typo

* Drop the concurrency group too

Similarly, we shouldn't need this in the Shopify/zjit repo
2025-04-18 21:52:58 +09:00
Takashi Kokubun
fe93c27da5 Add asm comments 2025-04-18 21:52:58 +09:00
Takashi Kokubun
5ee11d515b Fix zjit-test 2025-04-18 21:52:58 +09:00
Takashi Kokubun
562c35a560 Resurrect asm comment support 2025-04-18 21:52:58 +09:00
Takashi Kokubun
53bee25068 Implement --zjit-call-threshold
As a preparation for introducing a profiling layer, we need to be able
to raise the threshold to run a few cycles for profiling.
2025-04-18 21:52:58 +09:00
Takashi Kokubun
06d875b979 Backport the latest jit_compile() 2025-04-18 21:52:58 +09:00
Alan Wu
3e49f3304d remove duplicate yarv_frames.md 2025-04-18 21:52:58 +09:00
Alan Wu
b6e4b37c44 Add explainer for YARV frame layout
Just a first step. Have a read, and let's improve it together.

Close: GH-6
2025-04-18 21:52:58 +09:00
Maxime Chevalier-Boisvert
9644b17279 Add minor comments 2025-04-18 21:52:58 +09:00
Maxime Chevalier-Boisvert
ce9c9e0a6a Rename ir.rs to hir.rs to avoid namespace ambiguity with backend 2025-04-18 21:52:58 +09:00
Takashi Kokubun
22eec65928 Recommend the same task as what CI uses 2025-04-18 21:52:58 +09:00
Max Bernstein
ccbf4441de Add comments for Test and Snapshot 2025-04-18 21:52:58 +09:00
Takashi Kokubun
24f8a78709 btest jobs are now passing 2025-04-18 21:52:58 +09:00
Takashi Kokubun
d68f878976 Ignore btest failures for now 2025-04-18 21:52:58 +09:00
Takashi Kokubun
93f67e24d2 Add a missing use for release build 2025-04-18 21:52:58 +09:00
Takashi Kokubun
bf565fd418 Add --zjit-debug and debug! macro
to print debug messages
2025-04-18 21:52:58 +09:00
Takashi Kokubun
83da2dd1ea Try to fix the BTESTS path 2025-04-18 21:52:58 +09:00
Takashi Kokubun
5321e1479d Rename backend::ir to backend
because it's so confusing to have ir.rs in multiple places.
2025-04-18 21:52:58 +09:00
Takashi Kokubun
ec35162536 Fix BTESTS path 2025-04-18 21:52:58 +09:00
Alan Wu
5cbaa2288e Mention that the linker warnings were from capstone. 2025-04-18 21:52:58 +09:00
Alan Wu
24b29afc5a Try macOS linker warning fix 2025-04-18 21:52:58 +09:00
Alan Wu
3f68bcdeb1 Explain libminiruby 2025-04-18 21:52:58 +09:00
Alan Wu
5925903e38 More about testing in zjit.md 2025-04-18 21:52:58 +09:00
Takashi Kokubun
d093793e6b Pass BTESTS to make properly 2025-04-18 21:52:58 +09:00
Takashi Kokubun
b3dca8d4fe Allow dumping SSA in multiple ways 2025-04-18 21:52:58 +09:00
Takashi Kokubun
fc03b7353d Start testing the actual JIT code on CI 2025-04-18 21:52:58 +09:00
Takashi Kokubun
6f3f69098b Drop redundant options in workflows 2025-04-18 21:52:58 +09:00
Takashi Kokubun
fa4eee51f1 Fix options in zjit.md 2025-04-18 21:52:58 +09:00
Takashi Kokubun
bc443eef7a Let ZJIT and YJIT disable each other 2025-04-18 21:52:58 +09:00
Takashi Kokubun
b0739cd1c1 Rename utils.rs to cast.rs
to avoid making it a place to put anything.
2025-04-18 21:52:58 +09:00
Takashi Kokubun
9cfb860cb3 Let tests share the same ZJITState::init()
to share the initialization of other globals in the future as well
2025-04-18 21:52:58 +09:00
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